From 2822a1d3e1a44af85420dc2f05167f1e745c111a Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 2 Aug 2016 16:35:46 +0900 Subject: [PATCH] Add unit tests for signature creation and verification routines --- tests/unit/framework/SecurityTest.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/unit/framework/SecurityTest.php b/tests/unit/framework/SecurityTest.php index f0db07f0d..86e9c81b5 100644 --- a/tests/unit/framework/SecurityTest.php +++ b/tests/unit/framework/SecurityTest.php @@ -55,6 +55,17 @@ class SecurityTest extends \Codeception\TestCase\Test $this->assertEquals(false, $decrypted); } + public function testSignature() + { + $plaintext = Rhymix\Framework\Security::getRandom(); + + $signature = Rhymix\Framework\Security::createSignature($plaintext); + $this->assertRegexp('/^[a-zA-Z0-9-_]{40}$/', $signature); + $this->assertEquals(true, Rhymix\Framework\Security::verifySignature($plaintext, $signature)); + $this->assertEquals(false, Rhymix\Framework\Security::verifySignature($plaintext, $signature . 'x')); + $this->assertEquals(false, Rhymix\Framework\Security::verifySignature($plaintext, 'x' . $signature)); + } + public function testGetRandom() { $this->assertRegExp('/^[0-9a-zA-Z]{32}$/', Rhymix\Framework\Security::getRandom());