Skip to content

Commit 88c4dfc

Browse files
committed
Merge branch 'ACP2E-658' of https://github.com/magento-l3/magento2ce into L3-PR-2022-04-19
2 parents 235ad8c + a38f117 commit 88c4dfc

File tree

4 files changed

+82
-42
lines changed

4 files changed

+82
-42
lines changed

setup/src/Magento/Setup/Model/ConfigOptionsList/Cache.php

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,28 @@
2121
*/
2222
class Cache implements ConfigOptionsListInterface
2323
{
24-
const INPUT_VALUE_CACHE_REDIS = 'redis';
25-
const CONFIG_VALUE_CACHE_REDIS = \Magento\Framework\Cache\Backend\Redis::class;
24+
public const INPUT_VALUE_CACHE_REDIS = 'redis';
25+
public const CONFIG_VALUE_CACHE_REDIS = \Magento\Framework\Cache\Backend\Redis::class;
2626

27-
const INPUT_KEY_CACHE_BACKEND = 'cache-backend';
28-
const INPUT_KEY_CACHE_BACKEND_REDIS_SERVER = 'cache-backend-redis-server';
29-
const INPUT_KEY_CACHE_BACKEND_REDIS_DATABASE = 'cache-backend-redis-db';
30-
const INPUT_KEY_CACHE_BACKEND_REDIS_PORT = 'cache-backend-redis-port';
31-
const INPUT_KEY_CACHE_BACKEND_REDIS_PASSWORD = 'cache-backend-redis-password';
32-
const INPUT_KEY_CACHE_BACKEND_REDIS_COMPRESS_DATA = 'cache-backend-redis-compress-data';
33-
const INPUT_KEY_CACHE_BACKEND_REDIS_COMPRESSION_LIB = 'cache-backend-redis-compression-lib';
34-
const INPUT_KEY_CACHE_ID_PREFIX = 'cache-id-prefix';
35-
const INPUT_KEY_CACHE_ALLOW_PARALLEL_CACHE_GENERATION = 'allow-parallel-generation';
27+
public const INPUT_KEY_CACHE_BACKEND = 'cache-backend';
28+
public const INPUT_KEY_CACHE_BACKEND_REDIS_SERVER = 'cache-backend-redis-server';
29+
public const INPUT_KEY_CACHE_BACKEND_REDIS_DATABASE = 'cache-backend-redis-db';
30+
public const INPUT_KEY_CACHE_BACKEND_REDIS_PORT = 'cache-backend-redis-port';
31+
public const INPUT_KEY_CACHE_BACKEND_REDIS_PASSWORD = 'cache-backend-redis-password';
32+
public const INPUT_KEY_CACHE_BACKEND_REDIS_COMPRESS_DATA = 'cache-backend-redis-compress-data';
33+
public const INPUT_KEY_CACHE_BACKEND_REDIS_COMPRESSION_LIB = 'cache-backend-redis-compression-lib';
34+
public const INPUT_KEY_CACHE_ID_PREFIX = 'cache-id-prefix';
35+
public const INPUT_KEY_CACHE_ALLOW_PARALLEL_CACHE_GENERATION = 'allow-parallel-generation';
3636

37-
const CONFIG_PATH_CACHE_BACKEND = 'cache/frontend/default/backend';
38-
const CONFIG_PATH_CACHE_BACKEND_SERVER = 'cache/frontend/default/backend_options/server';
39-
const CONFIG_PATH_CACHE_BACKEND_DATABASE = 'cache/frontend/default/backend_options/database';
40-
const CONFIG_PATH_CACHE_BACKEND_PORT = 'cache/frontend/default/backend_options/port';
41-
const CONFIG_PATH_CACHE_BACKEND_PASSWORD = 'cache/frontend/default/backend_options/password';
42-
const CONFIG_PATH_CACHE_BACKEND_COMPRESS_DATA = 'cache/frontend/default/backend_options/compress_data';
43-
const CONFIG_PATH_CACHE_BACKEND_COMPRESSION_LIB = 'cache/frontend/default/backend_options/compression_lib';
44-
const CONFIG_PATH_CACHE_ID_PREFIX = 'cache/frontend/default/id_prefix';
45-
const CONFIG_PATH_ALLOW_PARALLEL_CACHE_GENERATION = 'cache/allow_parallel_generation';
37+
public const CONFIG_PATH_CACHE_BACKEND = 'cache/frontend/default/backend';
38+
public const CONFIG_PATH_CACHE_BACKEND_SERVER = 'cache/frontend/default/backend_options/server';
39+
public const CONFIG_PATH_CACHE_BACKEND_DATABASE = 'cache/frontend/default/backend_options/database';
40+
public const CONFIG_PATH_CACHE_BACKEND_PORT = 'cache/frontend/default/backend_options/port';
41+
public const CONFIG_PATH_CACHE_BACKEND_PASSWORD = 'cache/frontend/default/backend_options/password';
42+
public const CONFIG_PATH_CACHE_BACKEND_COMPRESS_DATA = 'cache/frontend/default/backend_options/compress_data';
43+
public const CONFIG_PATH_CACHE_BACKEND_COMPRESSION_LIB = 'cache/frontend/default/backend_options/compression_lib';
44+
public const CONFIG_PATH_CACHE_ID_PREFIX = 'cache/frontend/default/id_prefix';
45+
public const CONFIG_PATH_ALLOW_PARALLEL_CACHE_GENERATION = 'cache/allow_parallel_generation';
4646

4747
/**
4848
* @var array
@@ -163,7 +163,7 @@ public function createConfig(array $options, DeploymentConfig $deploymentConfig)
163163
$configData = new ConfigData(ConfigFilePool::APP_ENV);
164164
if (isset($options[self::INPUT_KEY_CACHE_ID_PREFIX])) {
165165
$configData->set(self::CONFIG_PATH_CACHE_ID_PREFIX, $options[self::INPUT_KEY_CACHE_ID_PREFIX]);
166-
} else {
166+
} elseif (!$deploymentConfig->get(self::CONFIG_PATH_CACHE_ID_PREFIX)) {
167167
$configData->set(self::CONFIG_PATH_CACHE_ID_PREFIX, $this->generateCachePrefix());
168168
}
169169

@@ -293,6 +293,7 @@ private function getDefaultConfigValue($inputKey)
293293
*/
294294
private function generateCachePrefix(): string
295295
{
296+
// phpcs:ignore Magento2.Functions.DiscouragedFunction
296297
return substr(\hash('sha256', dirname(__DIR__, 6)), 0, 3) . '_';
297298
}
298299
}

setup/src/Magento/Setup/Model/ConfigOptionsList/PageCache.php

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,28 @@
1919
*/
2020
class PageCache implements ConfigOptionsListInterface
2121
{
22-
const INPUT_VALUE_PAGE_CACHE_REDIS = 'redis';
23-
const CONFIG_VALUE_PAGE_CACHE_REDIS = \Magento\Framework\Cache\Backend\Redis::class;
22+
public const INPUT_VALUE_PAGE_CACHE_REDIS = 'redis';
23+
public const CONFIG_VALUE_PAGE_CACHE_REDIS = \Magento\Framework\Cache\Backend\Redis::class;
2424

25-
const INPUT_KEY_PAGE_CACHE_BACKEND = 'page-cache';
26-
const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_SERVER = 'page-cache-redis-server';
27-
const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_DATABASE = 'page-cache-redis-db';
28-
const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_PORT = 'page-cache-redis-port';
29-
const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_PASSWORD = 'page-cache-redis-password';
30-
const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_COMPRESS_DATA = 'page-cache-redis-compress-data';
31-
const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_COMPRESSION_LIB = 'page-cache-redis-compression-lib';
32-
const INPUT_KEY_PAGE_CACHE_ID_PREFIX = 'page-cache-id-prefix';
25+
public const INPUT_KEY_PAGE_CACHE_BACKEND = 'page-cache';
26+
public const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_SERVER = 'page-cache-redis-server';
27+
public const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_DATABASE = 'page-cache-redis-db';
28+
public const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_PORT = 'page-cache-redis-port';
29+
public const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_PASSWORD = 'page-cache-redis-password';
30+
public const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_COMPRESS_DATA = 'page-cache-redis-compress-data';
31+
public const INPUT_KEY_PAGE_CACHE_BACKEND_REDIS_COMPRESSION_LIB = 'page-cache-redis-compression-lib';
32+
public const INPUT_KEY_PAGE_CACHE_ID_PREFIX = 'page-cache-id-prefix';
3333

34-
const CONFIG_PATH_PAGE_CACHE_BACKEND = 'cache/frontend/page_cache/backend';
35-
const CONFIG_PATH_PAGE_CACHE_BACKEND_SERVER = 'cache/frontend/page_cache/backend_options/server';
36-
const CONFIG_PATH_PAGE_CACHE_BACKEND_DATABASE = 'cache/frontend/page_cache/backend_options/database';
37-
const CONFIG_PATH_PAGE_CACHE_BACKEND_PORT = 'cache/frontend/page_cache/backend_options/port';
38-
const CONFIG_PATH_PAGE_CACHE_BACKEND_PASSWORD = 'cache/frontend/page_cache/backend_options/password';
39-
const CONFIG_PATH_PAGE_CACHE_BACKEND_COMPRESS_DATA = 'cache/frontend/page_cache/backend_options/compress_data';
40-
const CONFIG_PATH_PAGE_CACHE_BACKEND_COMPRESSION_LIB = 'cache/frontend/page_cache/backend_options/compression_lib';
41-
const CONFIG_PATH_PAGE_CACHE_ID_PREFIX = 'cache/frontend/page_cache/id_prefix';
34+
public const CONFIG_PATH_PAGE_CACHE_BACKEND = 'cache/frontend/page_cache/backend';
35+
public const CONFIG_PATH_PAGE_CACHE_BACKEND_SERVER = 'cache/frontend/page_cache/backend_options/server';
36+
public const CONFIG_PATH_PAGE_CACHE_BACKEND_DATABASE = 'cache/frontend/page_cache/backend_options/database';
37+
public const CONFIG_PATH_PAGE_CACHE_BACKEND_PORT = 'cache/frontend/page_cache/backend_options/port';
38+
public const CONFIG_PATH_PAGE_CACHE_BACKEND_PASSWORD = 'cache/frontend/page_cache/backend_options/password';
39+
public const CONFIG_PATH_PAGE_CACHE_BACKEND_COMPRESS_DATA =
40+
'cache/frontend/page_cache/backend_options/compress_data';
41+
public const CONFIG_PATH_PAGE_CACHE_BACKEND_COMPRESSION_LIB =
42+
'cache/frontend/page_cache/backend_options/compression_lib';
43+
public const CONFIG_PATH_PAGE_CACHE_ID_PREFIX = 'cache/frontend/page_cache/id_prefix';
4244

4345
/**
4446
* @var array
@@ -153,7 +155,7 @@ public function createConfig(array $options, DeploymentConfig $deploymentConfig)
153155
$configData = new ConfigData(ConfigFilePool::APP_ENV);
154156
if (isset($options[self::INPUT_KEY_PAGE_CACHE_ID_PREFIX])) {
155157
$configData->set(self::CONFIG_PATH_PAGE_CACHE_ID_PREFIX, $options[self::INPUT_KEY_PAGE_CACHE_ID_PREFIX]);
156-
} else {
158+
} elseif (!$deploymentConfig->get(self::CONFIG_PATH_PAGE_CACHE_ID_PREFIX)) {
157159
$configData->set(self::CONFIG_PATH_PAGE_CACHE_ID_PREFIX, $this->generateCachePrefix());
158160
}
159161

@@ -284,6 +286,7 @@ private function getDefaultConfigValue($inputKey)
284286
*/
285287
private function generateCachePrefix(): string
286288
{
289+
// phpcs:ignore Magento2.Functions.DiscouragedFunction
287290
return substr(\hash('sha256', dirname(__DIR__, 6)), 0, 3) . '_';
288291
}
289292
}

setup/src/Magento/Setup/Test/Unit/Model/ConfigOptionsList/CacheTest.php

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,26 @@ public function testCreateConfigCacheRedis()
126126
*/
127127
public function testCreateConfigWithRedisConfig()
128128
{
129+
$this->deploymentConfigMock->method('get')->withConsecutive(
130+
[CacheConfigOptionsList::CONFIG_PATH_CACHE_ID_PREFIX],
131+
[CacheConfigOptionsList::CONFIG_PATH_CACHE_BACKEND_SERVER, '127.0.0.1'],
132+
[CacheConfigOptionsList::CONFIG_PATH_CACHE_BACKEND_DATABASE, '0'],
133+
[CacheConfigOptionsList::CONFIG_PATH_CACHE_BACKEND_PORT, '6379'],
134+
[CacheConfigOptionsList::CONFIG_PATH_CACHE_BACKEND_PASSWORD, ''],
135+
[CacheConfigOptionsList::CONFIG_PATH_CACHE_BACKEND_COMPRESS_DATA, '1'],
136+
[CacheConfigOptionsList::CONFIG_PATH_CACHE_BACKEND_COMPRESSION_LIB, ''],
137+
[CacheConfigOptionsList::CONFIG_PATH_ALLOW_PARALLEL_CACHE_GENERATION, 'false']
138+
)->willReturnOnConsecutiveCalls(
139+
'XXX_',
140+
'127.0.0.1',
141+
'0',
142+
'6379',
143+
'',
144+
'1',
145+
'',
146+
null
147+
);
148+
129149
$expectedConfigData = [
130150
'cache' => [
131151
'frontend' => [
@@ -139,7 +159,6 @@ public function testCreateConfigWithRedisConfig()
139159
'compress_data' => '1',
140160
'compression_lib' => 'gzip',
141161
],
142-
'id_prefix' => $this->expectedIdPrefix(),
143162
]
144163
],
145164
'allow_parallel_generation' => null,

setup/src/Magento/Setup/Test/Unit/Model/ConfigOptionsList/PageCacheTest.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,24 @@ public function testCreateConfigWithRedis()
116116
*/
117117
public function testCreateConfigWithRedisConfiguration()
118118
{
119+
$this->deploymentConfigMock->method('get')->withConsecutive(
120+
[PageCache::CONFIG_PATH_PAGE_CACHE_ID_PREFIX],
121+
[PageCache::CONFIG_PATH_PAGE_CACHE_BACKEND_SERVER, '127.0.0.1'],
122+
[PageCache::CONFIG_PATH_PAGE_CACHE_BACKEND_DATABASE, '1'],
123+
[PageCache::CONFIG_PATH_PAGE_CACHE_BACKEND_PORT, '6379'],
124+
[PageCache::CONFIG_PATH_PAGE_CACHE_BACKEND_PASSWORD, ''],
125+
[PageCache::CONFIG_PATH_PAGE_CACHE_BACKEND_COMPRESS_DATA, '0'],
126+
[PageCache::CONFIG_PATH_PAGE_CACHE_BACKEND_COMPRESSION_LIB, '']
127+
)->willReturnOnConsecutiveCalls(
128+
'XXX_',
129+
'127.0.0.1',
130+
'1',
131+
'6379',
132+
'',
133+
'0',
134+
''
135+
);
136+
119137
$expectedConfigData = [
120138
'cache' => [
121139
'frontend' => [
@@ -129,7 +147,6 @@ public function testCreateConfigWithRedisConfiguration()
129147
'compress_data' => '1',
130148
'compression_lib' => 'gzip',
131149
],
132-
'id_prefix' => $this->expectedIdPrefix(),
133150
]
134151
]
135152
]

0 commit comments

Comments
 (0)