Your IP : 216.73.216.38
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Encryption;
class EncryptorTest extends \PHPUnit\Framework\TestCase
{
/**
* @var \Magento\Framework\Encryption\Encryptor
*/
private $encryptor;
protected function setUp(): void
{
$this->encryptor = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
\Magento\Framework\Encryption\Encryptor::class
);
}
public function testEncryptDecrypt()
{
$this->assertEquals('', $this->encryptor->decrypt($this->encryptor->encrypt('')));
$this->assertEquals('test', $this->encryptor->decrypt($this->encryptor->encrypt('test')));
}
/**
* @param string $key
* @dataProvider validEncryptionKeyDataProvider
*/
public function testValidateKey($key)
{
$this->encryptor->validateKey($key);
}
public function validEncryptionKeyDataProvider()
{
return [
'32 numbers' => ['12345678901234567890123456789012'],
'32 characters' => ['aBcdeFghIJKLMNOPQRSTUvwxYzabcdef'],
'32 special characters' => ['!@#$%^&*()_+~`:;"<>,.?/|*&^%$#@!'],
'32 combination' =>['1234eFghI1234567^&*(890123456789'],
];
}
/**
*
* @param string $key
* @dataProvider invalidEncryptionKeyDataProvider
*/
public function testValidateKeyInvalid($key)
{
$this->expectException(\Exception::class);
$this->expectExceptionMessage('Encryption key must be 32 character string without any white space.');
$this->encryptor->validateKey($key);
}
public function invalidEncryptionKeyDataProvider()
{
return [
'empty string' => [''],
'leading space' => [' 1234567890123456789012345678901'],
'tailing space' => ['1234567890123456789012345678901 '],
'space in the middle' => ['12345678901 23456789012345678901'],
'tab in the middle' => ['12345678901 23456789012345678'],
'return in the middle' => ['12345678901
23456789012345678901'],
'31 characters' => ['1234567890123456789012345678901'],
'33 characters' => ['123456789012345678901234567890123'],
];
}
}