Skip to content

Commit 6581823

Browse files
committed
ACPT-1709: Clean up skip-list for GraphQlState Test
-- fix test failures
1 parent c16cf4c commit 6581823

File tree

3 files changed

+29
-52
lines changed

3 files changed

+29
-52
lines changed

lib/internal/Magento/Framework/ObjectManager/Resetter/Resetter.php

Lines changed: 23 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
namespace Magento\Framework\ObjectManager\Resetter;
99

1010
use Magento\Framework\App\ObjectManager;
11-
use Magento\Framework\Component\ComponentRegistrar;
12-
use Magento\Framework\Component\ComponentRegistrarInterface;
1311
use Magento\Framework\ObjectManager\ResetAfterRequestInterface;
1412
use Magento\Framework\ObjectManagerInterface;
1513
use WeakMap;
@@ -19,8 +17,7 @@
1917
*/
2018
class Resetter implements ResetterInterface
2119
{
22-
public const RESET_PATH = 'reset.json';
23-
private const RESET_STATE_METHOD = '_resetState';
20+
public const RESET_PATH = '/app/etc/reset.php';
2421

2522
/** @var WeakMap instances to be reset after request */
2623
private WeakMap $resetAfterWeakMap;
@@ -31,6 +28,22 @@ class Resetter implements ResetterInterface
3128
/** @var WeakMapSorter|null Note: We use temporal coupling here because of chicken/egg during bootstrapping */
3229
private ?WeakMapSorter $weakMapSorter = null;
3330

31+
/**
32+
* @var array
33+
*
34+
*/
35+
private array $classList = [
36+
//phpcs:disable Magento2.PHP.LiteralNamespaces
37+
'Magento\Framework\GraphQl\Query\Fields' => true,
38+
'Magento\Store\Model\Store' => [
39+
"_baseUrlCache" => [],
40+
"_configCache" => null,
41+
"_configCacheBaseNodes" => [],
42+
"_dirCache" => [],
43+
"_urlCache" => []
44+
]
45+
];
46+
3447
/**
3548
* @var array
3649
*/
@@ -39,36 +52,16 @@ class Resetter implements ResetterInterface
3952
/**
4053
* Constructor
4154
*
42-
* @param ComponentRegistrarInterface $componentRegistrar
43-
* @param array $classList
4455
* @return void
4556
* @phpcs:disable Magento2.Functions.DiscouragedFunction
4657
*/
47-
public function __construct(
48-
private ComponentRegistrarInterface $componentRegistrar,
49-
private array $classList = [],
50-
) {
51-
foreach ($this->getPaths() as $resetPath) {
52-
if (!\file_exists($resetPath)) {
53-
continue;
54-
}
55-
$resetData = \json_decode(\file_get_contents($resetPath), true);
56-
$this->classList = array_replace($this->classList, $resetData);
57-
}
58-
$this->resetAfterWeakMap = new WeakMap;
59-
}
60-
61-
/**
62-
* Get paths for reset json
63-
*
64-
* @return \Generator<string>
65-
*/
66-
private function getPaths(): \Generator
58+
public function __construct()
6759
{
68-
yield BP . '/app/etc/' . self::RESET_PATH;
69-
foreach ($this->componentRegistrar->getPaths(ComponentRegistrar::MODULE) as $modulePath) {
70-
yield $modulePath . '/etc/' . self::RESET_PATH;
60+
if (\file_exists(BP . self::RESET_PATH)) {
61+
// phpcs:ignore Magento2.Security.IncludeFile.FoundIncludeFile
62+
$this->classList = array_replace($this->classList, (require BP . self::RESET_PATH));
7163
}
64+
$this->resetAfterWeakMap = new WeakMap;
7265
}
7366

7467
/**
@@ -79,10 +72,7 @@ private function getPaths(): \Generator
7972
*/
8073
public function addInstance(object $instance) : void
8174
{
82-
if ($instance instanceof ResetAfterRequestInterface
83-
|| \method_exists($instance, self::RESET_STATE_METHOD)
84-
|| isset($this->classList[\get_class($instance)])
85-
) {
75+
if ($instance instanceof ResetAfterRequestInterface || isset($this->classList[\get_class($instance)])) {
8676
$this->resetAfterWeakMap[$instance] = true;
8777
}
8878
}
@@ -134,10 +124,6 @@ public function setObjectManager(ObjectManagerInterface $objectManager) : void
134124
*/
135125
private function resetStateWithReflection(object $instance)
136126
{
137-
if (\method_exists($instance, self::RESET_STATE_METHOD)) {
138-
$instance->{self::RESET_STATE_METHOD}();
139-
return;
140-
}
141127
$className = \get_class($instance);
142128
$reflectionClass = $this->reflectionCache[$className]
143129
?? $this->reflectionCache[$className] = new \ReflectionClass($className);

lib/internal/Magento/Framework/ObjectManager/Resetter/ResetterFactory.php

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77

88
namespace Magento\Framework\ObjectManager\Resetter;
99

10-
use Magento\Framework\ObjectManagerInterface;
11-
1210
/**
1311
* Factory that creates Resetter based on environment variable.
1412
*/
@@ -20,20 +18,14 @@ class ResetterFactory
2018
private static string $resetterClassName = Resetter::class;
2119

2220
/**
23-
* @param ObjectManagerInterface $objectManager
24-
*/
25-
public function __construct(private ObjectManagerInterface $objectManager)
26-
{
27-
}
28-
29-
/**
30-
* Create resseter instance
21+
* Create resseter factory
3122
*
3223
* @return ResetterInterface
24+
* @phpcs:disable Magento2.Functions.StaticFunction
3325
*/
34-
public function create() : ResetterInterface
26+
public static function create() : ResetterInterface
3527
{
36-
return $this->objectManager->create(static::$resetterClassName);
28+
return new static::$resetterClassName;
3729
}
3830

3931
/**

lib/internal/Magento/Framework/TestFramework/ApplicationStateComparator/Resetter.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
namespace Magento\Framework\TestFramework\ApplicationStateComparator;
99

10-
use Magento\Framework\Component\ComponentRegistrarInterface;
1110
use Magento\Framework\ObjectManager\Resetter\Resetter as OriginalResetter;
1211
use Magento\Framework\ObjectManagerInterface;
1312
use WeakMap;
@@ -38,11 +37,11 @@ class Resetter extends OriginalResetter
3837
* @param array $classList
3938
* @return void
4039
*/
41-
public function __construct(ComponentRegistrarInterface $componentRegistrar, array $classList = [])
40+
public function __construct()
4241
{
4342
$this->collectedWeakMap = new WeakMap;
4443
$this->skipListAndFilterList = new SkipListAndFilterList;
45-
parent::__construct($componentRegistrar, $classList);
44+
parent::__construct();
4645
}
4746

4847
/**

0 commit comments

Comments
 (0)