Skip to content

Commit 75ed840

Browse files
authored
Merge pull request #195 from magento-gl/3.10-RC
3.10.0 RC
2 parents f0ebf21 + 400e84b commit 75ed840

File tree

54 files changed

+1598
-334
lines changed

Some content is hidden

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

54 files changed

+1598
-334
lines changed

Diff for: .github/CONTRIBUTING.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ This gives Adobe permission to redistribute your contributions as part of the pr
5252
7. For large features or changes, [open an issue][issue] to discuss first.
5353
This may prevent duplicate or unnecessary effort, and it may gain you some additional contributors.
5454
8. To report a bug, [open an issue][issue], and follow [guidelines about bugfix issues][issue reporting].
55-
9. All automated tests must pass successfully (all builds on [Travis CI] must be green).
55+
9. All automated tests must pass successfully (all builds must be green).
5656

5757
## Fork a repository
5858

@@ -179,4 +179,3 @@ Label| Description
179179
[Magento Contributor Agreement]: http://www.magento.com/legaldocuments/mca
180180
[MFTF repository]: https://github.com/magento/magento2-functional-testing-framework
181181
[open new issue]: https://github.com/magento/magento2-functional-testing-framework/issues/new
182-
[Travis CI]: https://travis-ci.com/magento/magento2-functional-testing-framework/pull_requests

Diff for: .github/PULL_REQUEST_TEMPLATE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
- [ ] Pull request has a meaningful description of its purpose
1313
- [ ] All commits are accompanied by meaningful commit messages
1414
- [ ] All new or changed code is covered with unit/verification tests (if applicable)
15-
- [ ] All automated tests passed successfully (all builds on Travis CI are green)
15+
- [ ] All automated tests passed successfully (all builds are green)
1616
- [ ] Changes to Framework doesn't have backward incompatible changes for tests or have related Pull Request with fixes to tests

Diff for: CHANGELOG.md

+17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
Magento Functional Testing Framework Changelog
22
================================================
3+
4+
3.10.0
5+
---------
6+
7+
### Enhancements
8+
* Updated symfony/console and symfony/process constraints to support latest Symfony LTS (5.4v)
9+
* Updated Symfony related code to support latest Symfony LTS (5.4v).
10+
* Implement rapid times X clicks on UI element in MFTF
11+
* Log MFTF test dependencies
12+
* Unused entity static check
13+
* Updated docs for new location of password
14+
* Remove any remaining usages of Travis CI from MFTF Repo
15+
* Unit tests for GenerateTestFailedCommandTest and RunTestFailedCommandTest
16+
17+
### Fixes
18+
* Hashicorp Vault PHP lib being instantiated with wrong params
19+
320
3.9.0
421
---------
522

Diff for: README.md

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Magento Functional Testing Framework (MFTF)
22

3-
[![Build Status](https://travis-ci.org/magento/magento2-functional-testing-framework.svg?branch=develop)](https://travis-ci.org/magento/magento2-functional-testing-framework) [![Coverage Status](https://coveralls.io/repos/github/magento/magento2-functional-testing-framework/badge.svg?branch=develop)](https://coveralls.io/github/magento/magento2-functional-testing-framework)
4-
53
----
64

75
## Installation

Diff for: composer.json

+5-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "magento/magento2-functional-testing-framework",
33
"description": "Magento2 Functional Testing Framework",
44
"type": "library",
5-
"version": "3.9.0",
5+
"version": "3.10.0",
66
"license": "AGPL-3.0",
77
"keywords": ["magento", "automation", "functional", "testing"],
88
"config": {
@@ -12,10 +12,10 @@
1212
"php": ">7.3",
1313
"ext-curl": "*",
1414
"ext-dom": "*",
15+
"ext-iconv": "*",
1516
"ext-intl": "*",
1617
"ext-json": "*",
1718
"ext-openssl": "*",
18-
"ext-iconv": "*",
1919
"allure-framework/allure-codeception": "^1.4",
2020
"aws/aws-sdk-php": "^3.132",
2121
"codeception/codeception": "^4.1",
@@ -25,17 +25,18 @@
2525
"composer/composer": "^1.9||^2.0",
2626
"csharpru/vault-php": "^4.2.1",
2727
"guzzlehttp/guzzle": "^7.3.0",
28+
"laminas/laminas-diactoros": "^2.8",
2829
"monolog/monolog": "^2.3",
2930
"mustache/mustache": "~2.5",
3031
"nikic/php-parser": "^4.4",
3132
"php-webdriver/webdriver": "^1.9.0",
3233
"spomky-labs/otphp": "^10.0",
33-
"symfony/console": "^4.4",
34+
"symfony/console": "^4.4||^5.4",
3435
"symfony/dotenv": "^5.3",
3536
"symfony/finder": "^5.0",
3637
"symfony/http-foundation": "^5.0",
3738
"symfony/mime": "^5.0",
38-
"symfony/process": "^4.4",
39+
"symfony/process": "^4.4||^5.4",
3940
"weew/helpers-array": "^1.3"
4041
},
4142
"require-dev": {

Diff for: composer.lock

+102-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: dev/tests/functional/tests/MFTF/DevDocs/Section/ContentSection.xml

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
*/
77
-->
88

9+
<!--@Ignore(Unused_Entity_Check)-->
10+
911
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1012
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1113
<section name="contentSection">

Diff for: dev/tests/unit/Magento/FunctionalTestFramework/Console/GenerateTestFailedCommandTest.php

+126-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
class GenerateTestFailedCommandTest extends BaseGenerateCommandTest
1717
{
18-
public function testSingleTestNoSuite(): void
18+
public function testSingleTestWithNoSuite(): void
1919
{
2020
$testFileReturn = [
2121
"tests/functional/tests/MFTF/_generated/default/SingleTestNoSuiteTest.php:SingleTestNoSuiteTest"
@@ -38,4 +38,129 @@ public function testSingleTestNoSuite(): void
3838
$configuration = $stub->getFailedTestList("", "");
3939
$this->assertEquals($expectedConfiguration, $configuration);
4040
}
41+
42+
public function testMultipleTestsWithSuites(): void
43+
{
44+
$testFileReturn = [
45+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite/FirstTestSuiteTest.php:SingleTestSuiteTest",
46+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite/SecondTestNoSuiteTest.php:SingleTestNoSuiteTest"
47+
];
48+
$expectedConfiguration =
49+
'{"tests":null,"suites":{"SomeSpecificSuite":["SingleTestSuiteTest","SingleTestNoSuiteTest"]}}';
50+
51+
// Create a stub for the SomeClass class.
52+
$stub = $this->getMockBuilder(GenerateTestFailedCommand::class)
53+
->onlyMethods(["readFailedTestFile", "writeFailedTestToFile"])
54+
->getMock();
55+
// Configure the stub.
56+
$stub
57+
->method('readFailedTestFile')
58+
->willReturn($testFileReturn);
59+
$stub
60+
->method('writeFailedTestToFile')
61+
->willReturn(null);
62+
63+
// Run the real code
64+
$configuration = $stub->getFailedTestList("", "");
65+
$this->assertEquals($expectedConfiguration, $configuration);
66+
}
67+
68+
public function testMultipleTestFailureWithNoSuites(): void
69+
{
70+
$testFileReturn = [
71+
"tests/functional/tests/MFTF/_generated/default/SingleTestNoSuiteTest.php:SingleTestNoSuiteTest",
72+
"tests/functional/tests/MFTF/_generated/default/FirstTestSuiteTest.php:SingleTestSuiteTest"
73+
];
74+
$expectedConfiguration = '{"tests":["SingleTestNoSuiteTest","SingleTestSuiteTest"],"suites":null}';
75+
76+
// Create a stub for the SomeClass class.
77+
$stub = $this->getMockBuilder(GenerateTestFailedCommand::class)
78+
->onlyMethods(["readFailedTestFile", "writeFailedTestToFile"])
79+
->getMock();
80+
// Configure the stub.
81+
$stub
82+
->method('readFailedTestFile')
83+
->willReturn($testFileReturn);
84+
$stub
85+
->method('writeFailedTestToFile')
86+
->willReturn(null);
87+
88+
// Run the real code
89+
$configuration = $stub->getFailedTestList("", "");
90+
$this->assertEquals($expectedConfiguration, $configuration);
91+
}
92+
93+
public function testSingleSuiteAndNoTest(): void
94+
{
95+
$testFileReturn = [
96+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite/",
97+
];
98+
$expectedConfiguration = '{"tests":null,"suites":{"SomeSpecificSuite":[[]]}}';
99+
100+
// Create a stub for the SomeClass class.
101+
$stub = $this->getMockBuilder(GenerateTestFailedCommand::class)
102+
->onlyMethods(["readFailedTestFile", "writeFailedTestToFile"])
103+
->getMock();
104+
// Configure the stub.
105+
$stub
106+
->method('readFailedTestFile')
107+
->willReturn($testFileReturn);
108+
$stub
109+
->method('writeFailedTestToFile')
110+
->willReturn(null);
111+
112+
// Run the real code
113+
$configuration = $stub->getFailedTestList("", "");
114+
$this->assertEquals($expectedConfiguration, $configuration);
115+
}
116+
117+
public function testSingleSuiteWithTest(): void
118+
{
119+
$testFileReturn = [
120+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite/FirstTestSuiteTest.php:SingleTestSuiteTest",
121+
];
122+
$expectedConfiguration = '{"tests":null,"suites":{"SomeSpecificSuite":["SingleTestSuiteTest"]}}';
123+
124+
// Create a stub for the SomeClass class.
125+
$stub = $this->getMockBuilder(GenerateTestFailedCommand::class)
126+
->onlyMethods(["readFailedTestFile", "writeFailedTestToFile"])
127+
->getMock();
128+
// Configure the stub.
129+
$stub
130+
->method('readFailedTestFile')
131+
->willReturn($testFileReturn);
132+
$stub
133+
->method('writeFailedTestToFile')
134+
->willReturn(null);
135+
136+
// Run the real code
137+
$configuration = $stub->getFailedTestList("", "");
138+
$this->assertEquals($expectedConfiguration, $configuration);
139+
}
140+
141+
public function testMultipleSuitesWithNoTests(): void
142+
{
143+
$testFileReturn = [
144+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite/",
145+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite1/",
146+
147+
];
148+
$expectedConfiguration = '{"tests":null,"suites":{"SomeSpecificSuite":[[]],"SomeSpecificSuite1":[[]]}}';
149+
150+
// Create a stub for the SomeClass class.
151+
$stub = $this->getMockBuilder(GenerateTestFailedCommand::class)
152+
->onlyMethods(["readFailedTestFile", "writeFailedTestToFile"])
153+
->getMock();
154+
// Configure the stub.
155+
$stub
156+
->method('readFailedTestFile')
157+
->willReturn($testFileReturn);
158+
$stub
159+
->method('writeFailedTestToFile')
160+
->willReturn(null);
161+
162+
// Run the real code
163+
$configuration = $stub->getFailedTestList("", "");
164+
$this->assertEquals($expectedConfiguration, $configuration);
165+
}
41166
}

Diff for: dev/tests/unit/Magento/FunctionalTestFramework/Console/GenerateTestsCommandTest.php

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class GenerateTestsCommandTest extends TestCase
1717
* @param mixed $expected
1818
* @return void
1919
* @dataProvider configParallelOptions
20+
* @throws \ReflectionException
2021
*/
2122
public function testParseConfigParallelOptions($time, $groups, $expected): void
2223
{

0 commit comments

Comments
 (0)