Skip to content

Commit e213114

Browse files
authored
MCLOUD-6604: Fix Red FT (magento#765)
1 parent 6d3f8dd commit e213114

Some content is hidden

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

46 files changed

+674
-237
lines changed

.travis.yml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ php:
1515
- '7.1'
1616
- '7.2'
1717
- '7.3'
18+
- '7.4'
1819

1920
env:
2021
- TEST_SUITE=functional-ce
21-
- TEST_SUITE=functional-ee
2222
- TEST_SUITE=functional-ee FUNCTIONAL_INDEX=1
2323
- TEST_SUITE=functional-ee FUNCTIONAL_INDEX=2
2424
- TEST_SUITE=functional-ee FUNCTIONAL_INDEX=3
@@ -32,30 +32,24 @@ stages:
3232
jobs:
3333
exclude:
3434
- php: '7.1'
35-
env: TEST_SUITE=functional-ee FUNCTIONAL_INDEX=1
36-
- php: '7.1'
37-
env: TEST_SUITE=functional-ee FUNCTIONAL_INDEX=2
38-
- php: '7.1'
39-
env: TEST_SUITE=functional-ee FUNCTIONAL_INDEX=3
40-
- php: '7.1'
41-
env: TEST_SUITE=functional-ee FUNCTIONAL_INDEX=4
42-
- php: '7.1'
43-
env: TEST_SUITE=functional-ee FUNCTIONAL_INDEX=5
44-
- php: '7.1'
45-
env: TEST_SUITE=functional-ee FUNCTIONAL_INDEX=6
35+
env: TEST_SUITE=functional-ee
4636

4737
- php: '7.2'
4838
env: TEST_SUITE=functional-ee
4939

5040
- php: '7.3'
5141
env: TEST_SUITE=functional-ee
5242

43+
- php: '7.4'
44+
env: TEST_SUITE=functional-ee
45+
5346
install:
5447
- composer config http-basic.repo.magento.com ${REPO_USERNAME_CE} ${REPO_PASSWORD_CE}
5548
- composer config github-oauth.github.com ${GITHUB_TOKEN}
5649
- if [ -n "${MCC_VERSION}" ]; then composer config repositories.mcc git [email protected]:magento/magento-cloud-components.git && composer require "magento/magento-cloud-components:${MCC_VERSION}" --no-update; fi;
5750
- if [ -n "${MCD_VERSION}" ]; then composer config repositories.mcd git [email protected]:magento/magento-cloud-docker.git && composer require "magento/magento-cloud-docker:${MCD_VERSION}" --no-update; fi;
5851
- if [ -n "${MCP_VERSION}" ]; then composer config repositories.mcp git [email protected]:magento/magento-cloud-patches.git && composer require "magento/magento-cloud-patches:${MCP_VERSION}" --no-update; fi;
52+
- if [ -n "${MQP_VERSION}" ]; then composer config repositories.mqp git [email protected]:magento/quality-patches.git && composer require "magento/quality-patches:${MQP_VERSION}" --no-update; fi;
5953
- composer update -n --no-suggest
6054

6155
before_script:

codeception.dist.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ modules:
2020
mcd_repo: "https://github.com/magento/magento-cloud-docker.git"
2121
mcc_repo: "https://github.com/magento/magento-cloud-components.git"
2222
mcp_repo: "https://github.com/magento/magento-cloud-patches.git"
23+
mqp_repo: "https://github.com/magento/quality-patches.git"
2324
composer_magento_username: "%REPO_USERNAME%"
2425
composer_magento_password: "%REPO_PASSWORD%"
2526
composer_github_token: "%GITHUB_TOKEN%"

src/Test/Functional/Acceptance/AbstractCest.php

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ abstract class AbstractCest
1818
*/
1919
protected $removeEs = true;
2020

21+
/**
22+
* @var boolean
23+
*/
24+
protected $runComposerUpdate = true;
25+
2126
/**
2227
* @var string
2328
*/
@@ -51,12 +56,12 @@ protected function convertEnvFromArrayToJson(array $data): string
5156

5257
/**
5358
* @param \CliTester $I
54-
* @param string $version
59+
* @param string $templateVersion
5560
*/
56-
protected function prepareWorkplace(\CliTester $I, string $version): void
61+
protected function prepareWorkplace(\CliTester $I, string $templateVersion): void
5762
{
5863
$I->cleanupWorkDir();
59-
$I->cloneTemplateToWorkDir($version);
64+
$I->cloneTemplateToWorkDir($templateVersion);
6065
$I->createAuthJson();
6166
$I->createArtifactsDir();
6267
$I->createArtifactCurrentTestedCode('ece-tools', '2002.1.99');
@@ -65,6 +70,7 @@ protected function prepareWorkplace(\CliTester $I, string $version): void
6570
$I->addEceDockerGitRepoToComposer();
6671
$I->addCloudComponentsGitRepoToComposer();
6772
$I->addCloudPatchesGitRepoToComposer();
73+
$I->addQualityPatchesGitRepoToComposer();
6874
$I->addDependencyToComposer(
6975
'magento/magento-cloud-docker',
7076
$I->getDependencyVersion('magento/magento-cloud-docker')
@@ -77,16 +83,40 @@ protected function prepareWorkplace(\CliTester $I, string $version): void
7783
'magento/magento-cloud-patches',
7884
$I->getDependencyVersion('magento/magento-cloud-patches')
7985
);
80-
$I->composerUpdate();
81-
$this->removeESIfExists($I);
86+
$I->addDependencyToComposer(
87+
'magento/quality-patches',
88+
$I->getDependencyVersion('magento/quality-patches')
89+
);
90+
91+
if ($this->runComposerUpdate) {
92+
$I->composerUpdate();
93+
}
94+
95+
$this->removeESIfExists($I, $templateVersion);
96+
}
97+
98+
/**
99+
* Checks if we can remove ES configuration for tests.
100+
*
101+
* @param string $templateVersion
102+
* @return bool
103+
*/
104+
protected function canESbeRemoved(string $templateVersion): bool
105+
{
106+
if ($templateVersion === 'master') {
107+
return false;
108+
}
109+
110+
return (bool)version_compare($templateVersion, '2.4.0', '<');
82111
}
83112

84113
/**
85114
* @param \CliTester $I
115+
* @param string $templateVersion
86116
*/
87-
protected function removeESIfExists(\CliTester $I): void
117+
protected function removeESIfExists(\CliTester $I, string $templateVersion): void
88118
{
89-
if ($this->removeEs) {
119+
if ($this->removeEs && $this->canESbeRemoved($templateVersion)) {
90120
$services = $I->readServicesYaml();
91121

92122
if (isset($services['elasticsearch'])) {
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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\MagentoCloud\Test\Functional\Acceptance;
9+
10+
use Magento\CloudDocker\Test\Functional\Codeception\Docker;
11+
use Robo\Exception\TaskException;
12+
use CliTester;
13+
14+
/**
15+
* @inheritDoc
16+
*
17+
* @group php71
18+
* @group edition-ce
19+
*/
20+
class AcceptanceCe71Cest extends AcceptanceCeCest
21+
{
22+
/**
23+
* @var string
24+
*/
25+
protected $magentoCloudTemplate = '2.1.17';
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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\MagentoCloud\Test\Functional\Acceptance;
9+
10+
use Magento\CloudDocker\Test\Functional\Codeception\Docker;
11+
use Robo\Exception\TaskException;
12+
use CliTester;
13+
14+
/**
15+
* @inheritDoc
16+
*
17+
* @group php72
18+
* @group edition-ce
19+
*/
20+
class AcceptanceCe72Cest extends AcceptanceCeCest
21+
{
22+
/**
23+
* @var string
24+
*/
25+
protected $magentoCloudTemplate = '2.3.2';
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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\MagentoCloud\Test\Functional\Acceptance;
9+
10+
use Magento\CloudDocker\Test\Functional\Codeception\Docker;
11+
use Robo\Exception\TaskException;
12+
use CliTester;
13+
14+
/**
15+
* @inheritDoc
16+
*
17+
* @group php73
18+
* @group edition-ce
19+
*/
20+
class AcceptanceCe73Cest extends AcceptanceCeCest
21+
{
22+
/**
23+
* @var string
24+
*/
25+
protected $magentoCloudTemplate = '2.3.5';
26+
}

src/Test/Functional/Acceptance/AcceptanceCeCest.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,25 @@
1414
/**
1515
* @inheritDoc
1616
*
17+
* @group php74
1718
* @group edition-ce
1819
*/
1920
class AcceptanceCeCest extends AbstractCest
2021
{
22+
/**
23+
* @var boolean
24+
*/
25+
protected $runComposerUpdate = false;
26+
2127
public function _before(\CliTester $I): void
2228
{
2329
parent::_before($I);
2430

2531
$I->removeDependencyFromComposer('magento/magento-cloud-metapackage');
26-
$I->addDependencyToComposer('magento/product-community-edition', '@stable');
32+
$I->addDependencyToComposer(
33+
'magento/product-community-edition',
34+
$this->magentoCloudTemplate === 'master' ? '@stable' : $this->magentoCloudTemplate
35+
);
2736
$I->composerUpdate();
2837
}
2938

src/Test/Functional/Acceptance/AcceptanceCest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
* 2. Test content presence
2121
* 3. Test config dump
2222
* 4. Test content presence
23+
*
24+
* @group php74
2325
*/
2426
class AcceptanceCest extends AbstractCest
2527
{
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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\MagentoCloud\Test\Functional\Acceptance;
9+
10+
/**
11+
* @group php71
12+
*/
13+
class AdminCredential22Cest extends AdminCredentialCest
14+
{
15+
/**
16+
* @var string
17+
*/
18+
protected $magentoCloudTemplate = '2.2.11';
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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\MagentoCloud\Test\Functional\Acceptance;
9+
10+
/**
11+
* @group php73
12+
*/
13+
class AdminCredential23Cest extends AdminCredentialCest
14+
{
15+
/**
16+
* @var string
17+
*/
18+
protected $magentoCloudTemplate = '2.3.5';
19+
}

0 commit comments

Comments
 (0)