Files
piratepoet/tests/unit/Util/SecurityTest.php
Vlad 6e700b0cfa Moves newsletter hash generating logic into Security helper class
Updates Links class to use Security helper's hash generating method
2017-05-14 20:15:40 -04:00

43 lines
1.3 KiB
PHP

<?php
use MailPoet\Util\Security;
class SecurityTest extends MailPoetTest {
function testItCanGenerateWPNonce() {
$wp_nonce = Security::generateToken();
// expect length of nonce to be exactly 10
expect(strlen($wp_nonce))->equals(10);
// expect only alphanumerical characters
expect(ctype_alnum($wp_nonce))->true();
}
function testItCanGenerateARandomString() {
// it has a default length of 5
$hash = Security::generateRandomString();
expect(strlen($hash))->equals(5);
// it has a min length of 5
$short_hash = Security::generateRandomString(1);
expect(strlen($short_hash))->equals(5);
// it has a max length of 32
$long_hash = Security::generateRandomString(64);
expect(strlen($long_hash))->equals(32);
// expect only alphanumerical characters
expect(ctype_alnum($hash))->true();
expect(ctype_alnum($short_hash))->true();
expect(ctype_alnum($long_hash))->true();
}
function testItGeneratesRandomHash() {
$hash_1 = Security::generateHash();
$hash_2 = Security::generateHash();
expect($hash_1)->notEquals($hash_2);
expect(strlen($hash_1))->equals(Security::HASH_LENGTH);
}
function testItGeneratesRandomHashWithCustomLength() {
expect(strlen(Security::generateHash(10)))->equals(10);
}
}