Skip to content

Commit 2ab2acd

Browse files
committed
Merge branch '386-storefront-customer-lock' of https://github.com/rogyar/magento-functional-tests-migration into community-tests-migration-pr
2 parents c56341c + 4bf8979 commit 2ab2acd

File tree

4 files changed

+118
-1
lines changed

4 files changed

+118
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="StorefrontFillCustomerLoginFormWithWrongPasswordActionGroup" extends="StorefrontFillCustomerLoginFormActionGroup">
12+
<remove keyForRemoval="fillPassword"/>
13+
<fillField userInput="{{customer.password}}_INCORRECT" selector="{{StorefrontCustomerSignInFormSection.passwordField}}" stepKey="fillPassword"/>
14+
</actionGroup>
15+
</actionGroups>

app/code/Magento/Customer/Test/Mftf/Data/CustomerConfigData.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,17 @@
2828
<entity name="CustomerAccountSharingInherit" type="account_share_scope_inherit">
2929
<data key="inherit">true</data>
3030
</entity>
31+
<entity name="StorefrontCustomerLockoutFailuresDefaultConfigData">
32+
<!-- Magento default value -->
33+
<data key="path">customer/password/lockout_failures</data>
34+
<data key="scope_id">0</data>
35+
<data key="label">10</data>
36+
<data key="value">10</data>
37+
</entity>
38+
<entity name="StorefrontCustomerLockoutFailures5ConfigData">
39+
<data key="path">customer/password/lockout_failures</data>
40+
<data key="scope_id">0</data>
41+
<data key="label">5</data>
42+
<data key="value">5</data>
43+
</entity>
3144
</entities>
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="StorefrontLockCustomerOnLoginPageTest">
12+
<annotations>
13+
<features value="Customer"/>
14+
<title value="Lock customer on Storefront with after many attempts to log in with incorrect credentials"/>
15+
<description value="Lock customer on Storefront with after many attempts to log in with incorrect credentials"/>
16+
<group value="Customer"/>
17+
<group value="security"/>
18+
<group value="mtf_migrated"/>
19+
</annotations>
20+
<before>
21+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaDisableConfigData.path}} {{StorefrontCustomerCaptchaDisableConfigData.value}}" stepKey="disableCaptcha"/>
22+
<magentoCLI command="config:set {{StorefrontCustomerLockoutFailures5ConfigData.path}} {{StorefrontCustomerLockoutFailures5ConfigData.value}}" stepKey="setInvalidAttemptsCountConfigTo5"/>
23+
<createData stepKey="customer" entity="Simple_US_Customer"/>
24+
</before>
25+
<after>
26+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaEnableConfigData.path}} {{StorefrontCustomerCaptchaEnableConfigData.value}}" stepKey="enableCaptcha"/>
27+
<magentoCLI command="config:set {{StorefrontCustomerLockoutFailuresDefaultConfigData.path}} {{StorefrontCustomerLockoutFailuresDefaultConfigData.value}}" stepKey="revertInvalidAttemptsCountConfig"/>
28+
<deleteData stepKey="deleteCustomer" createDataKey="customer" />
29+
</after>
30+
31+
<actionGroup ref="StorefrontOpenCustomerLoginPageActionGroup" stepKey="goToSignInPage" />
32+
33+
<!-- Perform 5 attempts to log in with invalid credentials -->
34+
<actionGroup ref="StorefrontFillCustomerLoginFormWithWrongPasswordActionGroup" stepKey="fillLoginFormFirstAttempt">
35+
<argument name="customer" value="$$customer$$"/>
36+
</actionGroup>
37+
<actionGroup ref="StorefrontClickSignOnCustomerLoginFormActionGroup" stepKey="clickSignInAccountButtonFirstAttempt"/>
38+
<actionGroup ref="AssertMessageCustomerLoginActionGroup" stepKey="seeErrorMessageAfterFirstAttempt">
39+
<argument name="messageType" value="error"/>
40+
<argument name="message" value="The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later"/>
41+
</actionGroup>
42+
43+
<actionGroup ref="StorefrontFillCustomerLoginFormWithWrongPasswordActionGroup" stepKey="fillLoginFormSecondAttempt">
44+
<argument name="customer" value="$$customer$$"/>
45+
</actionGroup>
46+
<actionGroup ref="StorefrontClickSignOnCustomerLoginFormActionGroup" stepKey="clickSignInAccountButtonSecondAttempt"/>
47+
<actionGroup ref="AssertMessageCustomerLoginActionGroup" stepKey="seeErrorMessageAfterSecondAttempt">
48+
<argument name="messageType" value="error"/>
49+
<argument name="message" value="The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later"/>
50+
</actionGroup>
51+
52+
<actionGroup ref="StorefrontFillCustomerLoginFormWithWrongPasswordActionGroup" stepKey="fillLoginFormThirdAttempt">
53+
<argument name="customer" value="$$customer$$"/>
54+
</actionGroup>
55+
<actionGroup ref="StorefrontClickSignOnCustomerLoginFormActionGroup" stepKey="clickSignInAccountButtonThirdAttempt"/>
56+
<actionGroup ref="AssertMessageCustomerLoginActionGroup" stepKey="seeErrorMessageAfterThirdAttempt">
57+
<argument name="messageType" value="error"/>
58+
<argument name="message" value="The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later"/>
59+
</actionGroup>
60+
61+
<actionGroup ref="StorefrontFillCustomerLoginFormWithWrongPasswordActionGroup" stepKey="fillLoginFormFourthAttempt">
62+
<argument name="customer" value="$$customer$$"/>
63+
</actionGroup>
64+
<actionGroup ref="StorefrontClickSignOnCustomerLoginFormActionGroup" stepKey="clickSignInAccountButtonFourthAttempt"/>
65+
<actionGroup ref="AssertMessageCustomerLoginActionGroup" stepKey="seeErrorMessageAfterFourthAttempt">
66+
<argument name="messageType" value="error"/>
67+
<argument name="message" value="The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later"/>
68+
</actionGroup>
69+
70+
<actionGroup ref="StorefrontFillCustomerLoginFormWithWrongPasswordActionGroup" stepKey="fillLoginFormFifthAttempt">
71+
<argument name="customer" value="$$customer$$"/>
72+
</actionGroup>
73+
<actionGroup ref="StorefrontClickSignOnCustomerLoginFormActionGroup" stepKey="clickSignInAccountButtonFifthAttempt"/>
74+
<actionGroup ref="AssertMessageCustomerLoginActionGroup" stepKey="seeErrorMessageAfterFifthAttempt">
75+
<argument name="messageType" value="error"/>
76+
<argument name="message" value="The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later"/>
77+
</actionGroup>
78+
79+
<!-- Make sure that the customer is locked -->
80+
<actionGroup ref="StorefrontFillCustomerLoginFormActionGroup" stepKey="fillLoginFormWithCorrectCredentials">
81+
<argument name="customer" value="$$customer$$"/>
82+
</actionGroup>
83+
<actionGroup ref="StorefrontClickSignOnCustomerLoginFormActionGroup" stepKey="clickSignInAccountButtonWithCorrectCredentials"/>
84+
<actionGroup ref="AssertMessageCustomerLoginActionGroup" stepKey="seeLockoutErrorMessage">
85+
<argument name="messageType" value="error"/>
86+
<argument name="message" value="The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later."/>
87+
</actionGroup>
88+
</test>
89+
</tests>

dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnLoginPageTest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd">
99
<testCase name="Magento\Security\Test\TestCase\LockCustomerOnLoginPageTest" summary="Lock customer on login page">
1010
<variation name="LockCustomerOnLoginPageTestVariation1">
11-
<data name="tag" xsi:type="string">severity:S1</data>
11+
<data name="tag" xsi:type="string">severity:S1,mftf_migrated:yes</data>
1212
<data name="configData" xsi:type="string">customer_max_login_failures_number,captcha_storefront_disable</data>
1313
<data name="initialCustomer/dataset" xsi:type="string">default</data>
1414
<data name="incorrectPassword" xsi:type="string">incorrect password</data>

0 commit comments

Comments
 (0)