update
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use App\Models\RememberTokenModel;
|
||||
use CodeIgniter\Test\CIUnitTestCase;
|
||||
use CodeIgniter\Test\DatabaseTestTrait;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class RememberTokenModelTest extends CIUnitTestCase
|
||||
{
|
||||
use DatabaseTestTrait;
|
||||
|
||||
protected $namespace = 'App';
|
||||
protected $refresh = true;
|
||||
|
||||
public function testTokensRemainIndependentAcrossDevices(): void
|
||||
{
|
||||
$model = new RememberTokenModel();
|
||||
$first = $model->issueToken();
|
||||
$second = $model->issueToken();
|
||||
|
||||
$this->assertTrue($model->verifyToken($first));
|
||||
$this->assertTrue($model->verifyToken($second));
|
||||
|
||||
$tampered = substr($first, 0, -1) . (str_ends_with($first, '0') ? '1' : '0');
|
||||
$this->assertFalse($model->verifyToken($tampered));
|
||||
|
||||
$model->deleteToken($first);
|
||||
|
||||
$this->assertFalse($model->verifyToken($first));
|
||||
$this->assertTrue($model->verifyToken($second));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user