173 lines
4.6 KiB
PHP
173 lines
4.6 KiB
PHP
<?php
|
|
|
|
/** DomFramework - Tests
|
|
* @package domframework
|
|
* @author Dominique Fournier <dominique@fournier38.fr>
|
|
*/
|
|
|
|
namespace Domframework\Tests;
|
|
|
|
use Domframework\Encrypt;
|
|
|
|
/** Test the Encrypt.php file */
|
|
class EncryptTest extends \PHPUnit_Framework_TestCase
|
|
{
|
|
/** Check the length of the otken with cipher
|
|
*/
|
|
public function testEncrypt1()
|
|
{
|
|
$encrypt = new Encrypt();
|
|
$res = $encrypt->encrypt(
|
|
"TextToEncode",
|
|
"123456789012345678901234"
|
|
);
|
|
$this->assertSame(strlen($res), 24);
|
|
}
|
|
|
|
/** Check if the encrypt/decrypt process return the same result
|
|
*/
|
|
public function testEncrypt2()
|
|
{
|
|
$encrypt = new Encrypt();
|
|
$payload = "TextToEncode";
|
|
$ckey = "123456789012345678901234";
|
|
$token = $encrypt->encrypt($payload, $ckey);
|
|
$res = $encrypt->decrypt($token, $ckey);
|
|
$this->assertSame($res, $payload);
|
|
}
|
|
|
|
/** Check if the encrypted part is well unreadable
|
|
*/
|
|
public function testEncrypt3()
|
|
{
|
|
$encrypt = new Encrypt();
|
|
$payload = "TextToEncode";
|
|
$token = $encrypt->encrypt($payload, "123456789012345678901234");
|
|
$res = strpos($token, "Text");
|
|
$this->assertSame($res, false);
|
|
}
|
|
|
|
/** Encrypt : Invalid Cipher method
|
|
*/
|
|
public function testInvalidCypher1()
|
|
{
|
|
$this->expectException(
|
|
"Exception",
|
|
"Invalid cipher provided to encrypt method : doesn't exists in OpenSSL",
|
|
500
|
|
);
|
|
$encrypt = new Encrypt();
|
|
$payload = "TextToEncode";
|
|
$token = $encrypt->encrypt($payload, "123456789012345678901234", "TOTO");
|
|
}
|
|
|
|
/** Encrypt : Invalid Payload to encrypt
|
|
*/
|
|
public function testInvalidPayload()
|
|
{
|
|
$this->expectException(
|
|
"Exception",
|
|
"Invalid payload provided to encrypt method : Not a string",
|
|
500
|
|
);
|
|
$encrypt = new Encrypt();
|
|
$payload = array ("Invalid");
|
|
$token = $encrypt->encrypt($payload, "123456789012345678901234");
|
|
}
|
|
|
|
/** Encrypt : Invalid Cipher Key to encrypt
|
|
*/
|
|
public function testInvalidCipherKey()
|
|
{
|
|
$this->expectException(
|
|
"Exception",
|
|
"Invalid cipherKey provided to encrypt method : " .
|
|
"length different of 24 chars",
|
|
500
|
|
);
|
|
$encrypt = new Encrypt();
|
|
$payload = "Payload";
|
|
$token = $encrypt->encrypt($payload, "124");
|
|
}
|
|
|
|
/** Decrypt : invalid cipher text
|
|
*/
|
|
public function testDecryptInvalidCipherKey()
|
|
{
|
|
$this->expectException(
|
|
"Exception",
|
|
"Invalid cipherKey provided to decrypt method : " .
|
|
"length different of 24 chars",
|
|
500
|
|
);
|
|
$encrypt = new Encrypt();
|
|
$token = $encrypt->decrypt("zfz", "124");
|
|
}
|
|
|
|
/** Decrypt : empty cipher string
|
|
*/
|
|
public function testDecryptEmptyCipherString()
|
|
{
|
|
$this->expectException(
|
|
"Exception",
|
|
"Invalid ciphertext provided to decrypt method : empty string",
|
|
500
|
|
);
|
|
$encrypt = new Encrypt();
|
|
$token = $encrypt->decrypt("", "124");
|
|
}
|
|
|
|
/** Decrypt : Not a string cypher
|
|
*/
|
|
public function testDecryptNotStringCipherString()
|
|
{
|
|
$this->expectException(
|
|
"Exception",
|
|
"Invalid ciphertext provided to decrypt method : not a string",
|
|
500
|
|
);
|
|
$encrypt = new Encrypt();
|
|
$token = $encrypt->decrypt(array (), "124");
|
|
}
|
|
|
|
/** Decrypt : Not a string cypher key
|
|
*/
|
|
public function testDecryptNotStringCipherKey()
|
|
{
|
|
$this->expectException(
|
|
"Exception",
|
|
"Invalid cipherkey provided to decrypt method : not a string",
|
|
500
|
|
);
|
|
$encrypt = new Encrypt();
|
|
$token = $encrypt->decrypt("1224", array ());
|
|
}
|
|
|
|
/** Decrypt : Not a cipher method string
|
|
*/
|
|
public function testDecryptNotStringCipherMethod()
|
|
{
|
|
$this->expectException(
|
|
"Exception",
|
|
"Invalid cipherMethod provided to decrypt method : not a string",
|
|
500
|
|
);
|
|
$encrypt = new Encrypt();
|
|
$token = $encrypt->decrypt("1224", "1234", array ());
|
|
}
|
|
|
|
/** Decrypt : Not a known cipher method
|
|
*/
|
|
public function testDecryptUnknownCipherMethod()
|
|
{
|
|
$this->expectException(
|
|
"Exception",
|
|
"Invalid cipherMethod provided to decrypt method : " .
|
|
"doesn't exists in OpenSSL",
|
|
500
|
|
);
|
|
$encrypt = new Encrypt();
|
|
$token = $encrypt->decrypt("1224", "1234", "unknown");
|
|
}
|
|
}
|