12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?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()
- {
- $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'],
- ];
- }
- /**
- * @expectedException \Exception
- * @expectedExceptionMessage Encryption key must be 32 character string without any white space.
- *
- * @param string $key
- * @dataProvider invalidEncryptionKeyDataProvider
- */
- public function testValidateKeyInvalid($key)
- {
- $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'],
- ];
- }
- }
|