* @license BSD */ namespace Domframework\Tests; use Domframework\Csrf; /** Test the Csrf.php file */ class CsrfTest extends \PHPUnit_Framework_TestCase { public function test_csrf1() { $csrf = new Csrf(); $res = $csrf->createToken(); $GLOBALS["CSRFTEST-Token"] = $res; $this->assertSame(30, strlen($res)); } public function test_csrf2() { $csrf = new Csrf(); $res = $csrf->createToken(); $this->assertSame( strspn( $res, "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" ), strlen($res) ); } public function test_csrf3() { $csrf = new Csrf(); $this->setExpectedException("Exception"); $res = $csrf->checkToken("NOT VALID TOKEN"); } public function test_csrf4() { $csrf = new Csrf(); $token = $csrf->createToken(); $res = $csrf->checkToken($token); $this->assertSame(true, $res); } public function test_csrf5() { $csrf = new Csrf(); $token = $csrf->createToken(); $res = $csrf->extendToken($token); $this->assertSame(true, $res); } public function test_csrf6() { $csrf = new Csrf(); $token = $csrf->createToken(); $res = $csrf->getToken(); $this->assertSame($token, $res); } public function test_csrf7() { $csrf = new Csrf(); $res = $csrf->getToken(); $this->assertSame(30, strlen($res)); } public function test_csrf_multiple_1() { $csrf1 = new Csrf(); $token1 = $csrf1->createToken(); $csrf2 = new Csrf(); $token2 = $csrf2->createToken(); $this->assertSame( true, $csrf2->checkToken($token1) && $csrf2->checkToken($token2) ); } public function test_csrf_multiple_extend_2() { $csrf = new Csrf(); $res = $csrf->extendToken($GLOBALS["CSRFTEST-Token"]); $this->assertSame(true, $res); } public function test_csrf_multiple_get() { $csrf1 = new Csrf(); $token1 = $csrf1->createToken(); $csrf2 = new Csrf(); $token2 = $csrf2->getToken(); $this->assertSame($token1, $token2); } }