Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ConfigGeneratorTest.php
Go to the documentation of this file.
1 <?php
7 
17 use PHPUnit\Framework\TestCase;
18 
19 class ConfigGeneratorTest extends TestCase
20 {
24  private $configGeneratorObject;
25 
26  protected function setUp()
27  {
29  $deployConfig = $this->createMock(DeploymentConfig::class);
30  $deployConfig->expects($this->any())->method('isAvailable')->willReturn(false);
31 
33  $randomMock = $this->createMock(Random::class);
34  $randomMock->expects($this->any())->method('getRandomString')->willReturn('key');
35 
36  $cryptKeyGenerator = new CryptKeyGenerator($randomMock);
37 
38  $objectManagerMock = $this->getMockBuilder(\Magento\Framework\App\ObjectManager::class)
39  ->disableOriginalConstructor()
40  ->getMock();
41 
42  $objectManagerMock->method('create')->willReturn(new ConfigData('app_env'));
43 
44  $configDataFactoryMock = (new ObjectManager($this))
45  ->getObject(ConfigDataFactory::class, ['objectManager' => $objectManagerMock]);
46 
47  $this->configGeneratorObject = new ConfigGenerator(
48  $randomMock,
50  $configDataFactoryMock,
51  $cryptKeyGenerator
52  );
53  }
54 
56  {
57  $testData = [ConfigOptionsListConstants::INPUT_KEY_ENCRYPTION_KEY => 'some-test_key'];
58  $returnValue = $this->configGeneratorObject->createCryptConfig($testData);
59  $this->assertEquals(ConfigFilePool::APP_ENV, $returnValue->getFileKey());
60  $this->assertEquals(['crypt' => ['key' => 'some-test_key']], $returnValue->getData());
61  }
62 
64  {
65  $returnValue = $this->configGeneratorObject->createCryptConfig([]);
66  $this->assertEquals(ConfigFilePool::APP_ENV, $returnValue->getFileKey());
67  $this->assertEquals(['crypt' => ['key' => md5('key')]], $returnValue->getData());
68  }
69 
71  {
73  $returnValue = $this->configGeneratorObject->createSessionConfig($testData);
74  $this->assertEquals(ConfigFilePool::APP_ENV, $returnValue->getFileKey());
75  $this->assertEquals(
76  ['session' => ['save' => ConfigOptionsListConstants::SESSION_SAVE_FILES]],
77  $returnValue->getData()
78  );
79 
81  $returnValue = $this->configGeneratorObject->createSessionConfig($testData);
82  $this->assertEquals(ConfigFilePool::APP_ENV, $returnValue->getFileKey());
83  $this->assertEquals(
84  ['session' => ['save' => ConfigOptionsListConstants::SESSION_SAVE_DB]],
85  $returnValue->getData()
86  );
87  }
88 
90  {
91  $returnValue = $this->configGeneratorObject->createSessionConfig([]);
92  $this->assertEquals(ConfigFilePool::APP_ENV, $returnValue->getFileKey());
93  $this->assertEquals([], $returnValue->getData());
94  }
95 
96  public function testCreateDbConfig()
97  {
98  $testData = [
103  ];
104  $returnValue = $this->configGeneratorObject->createDbConfig($testData);
105  $this->assertEquals(ConfigFilePool::APP_ENV, $returnValue->getFileKey());
106  $dbData = $returnValue->getData();
107  $dbData = $dbData['db'];
108  $this->assertArrayHasKey('table_prefix', $dbData);
109  $this->assertSame('testSomePrefix', $dbData['table_prefix']);
110  $this->assertArrayHasKey('connection', $dbData);
111  $this->assertArrayHasKey('default', $dbData['connection']);
112  $this->assertArrayHasKey('host', $dbData['connection']['default']);
113  $this->assertSame('testLocalhost', $dbData['connection']['default']['host']);
114  $this->assertArrayHasKey('dbname', $dbData['connection']['default']);
115  $this->assertSame('testDbName', $dbData['connection']['default']['dbname']);
116  $this->assertArrayHasKey('username', $dbData['connection']['default']);
117  $this->assertSame('testDbUser', $dbData['connection']['default']['username']);
118  $this->assertArrayHasKey('active', $dbData['connection']['default']);
119  $this->assertSame('1', $dbData['connection']['default']['active']);
120  }
121 
122  public function testCreateResourceConfig()
123  {
124  $returnValue = $this->configGeneratorObject->createResourceConfig();
125  $this->assertEquals(ConfigFilePool::APP_ENV, $returnValue->getFileKey());
126  $this->assertEquals(['resource' => ['default_setup' => ['connection' => 'default']]], $returnValue->getData());
127  }
128 }
$deployConfig