Skip to content

Commit e77421d

Browse files
authored
ACMP-1459: Make ece-tools compatible with php 8.0/8.1 (#46)
1 parent 8a3b49a commit e77421d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+145
-82
lines changed

composer.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "magento/magento-cloud-patches",
33
"description": "Provides critical fixes for Magento 2 Enterprise Edition",
44
"type": "magento2-component",
5-
"version": "1.0.14",
5+
"version": "1.0.15",
66
"license": "OSL-3.0",
77
"repositories": {
88
"repo.magento.com": {
@@ -11,7 +11,7 @@
1111
}
1212
},
1313
"require": {
14-
"php": "^7.0",
14+
"php": "^7.2 || ^8.0",
1515
"ext-json": "*",
1616
"composer/composer": "@stable",
1717
"composer/semver": "@stable",
@@ -25,10 +25,14 @@
2525
"magento/quality-patches": "^1.1.0"
2626
},
2727
"require-dev": {
28-
"codeception/codeception": "^2.5.3",
28+
"codeception/codeception": "^4.1",
29+
"codeception/module-asserts": "^1.2",
30+
"codeception/module-db": "^1.0",
31+
"codeception/module-phpbrowser": "^1.0",
32+
"codeception/module-rest": "^1.2",
2933
"consolidation/robo": "^1.2",
3034
"phpmd/phpmd": "@stable",
31-
"phpunit/phpunit": "^7.2",
35+
"phpunit/phpunit": "^8.5 || ^9.5",
3236
"squizlabs/php_codesniffer": "^3.0"
3337
},
3438
"bin": [

src/Test/Functional/Acceptance/AbstractCest.php

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,28 +37,26 @@ protected function prepareTemplate(\CliTester $I, string $templateVersion, strin
3737
$I->createArtifactsDir();
3838
$I->createArtifactCurrentTestedCode('patches', '1.0.99');
3939
$I->addArtifactsRepoToComposer();
40+
$I->addDependencyToComposer('magento/magento-cloud-patches', '1.0.99');
41+
4042
$I->addEceDockerGitRepoToComposer();
4143
$I->addQualityPatchesGitRepoToComposer();
4244
$I->addEceToolsGitRepoToComposer();
4345
$I->addCloudComponentsGitRepoToComposer();
44-
$I->addDependencyToComposer('magento/magento-cloud-patches', '1.0.99');
45-
$I->addDependencyToComposer(
46-
'magento/magento-cloud-docker',
47-
$I->getDependencyVersion('magento/magento-cloud-docker')
48-
);
49-
$I->addDependencyToComposer(
50-
'magento/quality-patches',
51-
$I->getDependencyVersion('magento/quality-patches')
52-
);
5346

54-
$I->addDependencyToComposer(
47+
$dependencies = [
48+
'magento/magento-cloud-docker',
5549
'magento/magento-cloud-components',
56-
$I->getDependencyVersion('magento/magento-cloud-components')
57-
);
58-
$I->addDependencyToComposer(
50+
'magento/quality-patches',
5951
'magento/ece-tools',
60-
$I->getDependencyVersion('magento/ece-tools')
61-
);
52+
];
53+
54+
foreach ($dependencies as $dependency) {
55+
$I->assertTrue(
56+
$I->addDependencyToComposer($dependency, $I->getDependencyVersion($dependency)),
57+
'Can not add dependency ' . $dependency
58+
);
59+
}
6260

6361
if ($this->edition === 'CE' || $magentoVersion) {
6462
$version = $magentoVersion ?: $this->getVersionRangeForMagento($I);
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\CloudPatches\Test\Functional\Acceptance;
9+
10+
/**
11+
* @group php74ce
12+
*/
13+
class Acceptance74CeCest extends Acceptance74Cest
14+
{
15+
/**
16+
* @var string
17+
*/
18+
protected $edition = 'CE';
19+
20+
/**
21+
* @return array
22+
*/
23+
protected function patchesDataProvider(): array
24+
{
25+
return [
26+
['templateVersion' => '2.4.0', 'magentoVersion' => '2.4.0'],
27+
['templateVersion' => '2.4.0', 'magentoVersion' => '2.4.0-p1'],
28+
['templateVersion' => '2.4.1', 'magentoVersion' => '2.4.1'],
29+
['templateVersion' => '2.4.1', 'magentoVersion' => '2.4.1-p1'],
30+
['templateVersion' => '2.4.2', 'magentoVersion' => '2.4.2'],
31+
['templateVersion' => '2.4.2', 'magentoVersion' => '2.4.2-p1'],
32+
['templateVersion' => '2.4.2', 'magentoVersion' => '2.4.2-p2'],
33+
// Magento 2.4.3 CE does not work on the cloud
34+
// ['templateVersion' => '2.4.3', 'magentoVersion' => '2.4.3'],
35+
// ['templateVersion' => '2.4.3', 'magentoVersion' => '2.4.3-p1'],
36+
];
37+
}
38+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\CloudPatches\Test\Functional\Acceptance;
9+
10+
/**
11+
* @group php74
12+
*/
13+
class Acceptance74Cest extends AcceptanceCest
14+
{
15+
/**
16+
* @return array
17+
*/
18+
protected function patchesDataProvider(): array
19+
{
20+
return [
21+
['templateVersion' => '2.4.0', 'magentoVersion' => '2.4.0'],
22+
['templateVersion' => '2.4.0', 'magentoVersion' => '2.4.0-p1'],
23+
['templateVersion' => '2.4.1', 'magentoVersion' => '2.4.1'],
24+
['templateVersion' => '2.4.1', 'magentoVersion' => '2.4.1-p1'],
25+
['templateVersion' => '2.4.2', 'magentoVersion' => '2.4.2'],
26+
['templateVersion' => '2.4.2', 'magentoVersion' => '2.4.2-p1'],
27+
['templateVersion' => '2.4.2', 'magentoVersion' => '2.4.2-p2'],
28+
['templateVersion' => '2.4.3', 'magentoVersion' => '2.4.3'],
29+
['templateVersion' => '2.4.3', 'magentoVersion' => '2.4.3-p1'],
30+
];
31+
}
32+
}

src/Test/Functional/Acceptance/AcceptanceCeCest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
namespace Magento\CloudPatches\Test\Functional\Acceptance;
99

1010
/**
11-
* @group php74ce
11+
* @group php81ce
1212
*/
1313
class AcceptanceCeCest extends AcceptanceCest
1414
{

src/Test/Functional/Acceptance/AcceptanceCest.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
namespace Magento\CloudPatches\Test\Functional\Acceptance;
99

1010
/**
11-
* @group php74
11+
* @group php81
1212
*/
1313
class AcceptanceCest extends AbstractCest
1414
{
@@ -49,16 +49,7 @@ public function testPatches(\CliTester $I, \Codeception\Example $data): void
4949
protected function patchesDataProvider(): array
5050
{
5151
return [
52-
['templateVersion' => '2.4.0', 'magentoVersion' => '2.4.0'],
53-
['templateVersion' => '2.4.0', 'magentoVersion' => '2.4.0-p1'],
54-
['templateVersion' => '2.4.1', 'magentoVersion' => '2.4.1'],
55-
['templateVersion' => '2.4.1', 'magentoVersion' => '2.4.1-p1'],
56-
['templateVersion' => '2.4.2', 'magentoVersion' => '2.4.2'],
57-
['templateVersion' => '2.4.2', 'magentoVersion' => '2.4.2-p1'],
58-
['templateVersion' => '2.4.2', 'magentoVersion' => '2.4.2-p2'],
59-
['templateVersion' => '2.4.3', 'magentoVersion' => '2.4.3'],
60-
['templateVersion' => '2.4.3', 'magentoVersion' => '2.4.3-p1'],
61-
['templateVersion' => 'master'],
52+
['templateVersion' => '2.4.4'],
6253
];
6354
}
6455
}

src/Test/Functional/Acceptance/PatchApplierCest.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
use Magento\CloudDocker\Test\Functional\Codeception\Docker;
1111

1212
/**
13-
* @group php74
13+
* @group php81
1414
*/
1515
class PatchApplierCest extends AbstractCest
1616
{
@@ -21,7 +21,7 @@ public function _before(\CliTester $I): void
2121
{
2222
parent::_before($I);
2323

24-
$this->prepareTemplate($I, 'master');
24+
$this->prepareTemplate($I, '2.4.4');
2525
$I->copyFileToWorkDir('files/debug_logging/.magento.env.yaml', '.magento.env.yaml');
2626
}
2727

@@ -40,10 +40,10 @@ public function testApplyingPatch(\CliTester $I): void
4040
$I->startEnvironment();
4141

4242
$targetFile = $I->grabFileContent('/target_file.md', Docker::BUILD_CONTAINER);
43-
$I->assertContains('# Hello Magento', $targetFile);
44-
$I->assertContains('## Additional Info', $targetFile);
43+
$I->assertStringContainsString('# Hello Magento', $targetFile);
44+
$I->assertStringContainsString('## Additional Info', $targetFile);
4545
$log = $I->grabFileContent('/var/log/cloud.log', Docker::BUILD_CONTAINER);
46-
$I->assertContains('Patch ../m2-hotfixes/patch.patch has been applied', $log);
46+
$I->assertStringContainsString('Patch ../m2-hotfixes/patch.patch has been applied', $log);
4747
}
4848

4949
/**
@@ -61,9 +61,9 @@ public function testApplyingExistingPatch(\CliTester $I): void
6161
$I->startEnvironment();
6262

6363
$targetFile = $I->grabFileContent('/target_file.md', Docker::BUILD_CONTAINER);
64-
$I->assertContains('# Hello Magento', $targetFile);
65-
$I->assertContains('## Additional Info', $targetFile);
66-
$I->assertContains(
64+
$I->assertStringContainsString('# Hello Magento', $targetFile);
65+
$I->assertStringContainsString('## Additional Info', $targetFile);
66+
$I->assertStringContainsString(
6767
'Patch ../m2-hotfixes/patch.patch was already applied',
6868
$I->grabFileContent('/var/log/cloud.log', Docker::BUILD_CONTAINER)
6969
);

src/Test/Unit/Command/ApplyTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class ApplyTest extends TestCase
4646
/**
4747
* @inheritDoc
4848
*/
49-
protected function setUp()
49+
protected function setUp(): void
5050
{
5151
$this->applyOptional = $this->createMock(ApplyOptional::class);
5252
$this->logger = $this->getMockForAbstractClass(LoggerInterface::class);

src/Test/Unit/Command/Ece/ApplyTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class ApplyTest extends TestCase
5858
/**
5959
* @inheritDoc
6060
*/
61-
protected function setUp()
61+
protected function setUp(): void
6262
{
6363
$this->applyLocal = $this->createMock(ApplyLocal::class);
6464
$this->applyOptionalEce = $this->createMock(ApplyOptional::class);

src/Test/Unit/Command/Ece/RevertTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class RevertTest extends TestCase
4141
/**
4242
* @inheritDoc
4343
*/
44-
protected function setUp()
44+
protected function setUp(): void
4545
{
4646
$this->revertEce = $this->createMock(RevertProcess::class);
4747
$this->logger = $this->getMockForAbstractClass(LoggerInterface::class);

0 commit comments

Comments
 (0)