Skip to content

Commit 49cf443

Browse files
committed
Merge branch 'issue-313-lock-admin-user' of https://github.com/kate-kyzyma/magento-functional-tests-migration into test-migration-pr
2 parents 196b12f + b95dcf3 commit 49cf443

File tree

8 files changed

+158
-1
lines changed

8 files changed

+158
-1
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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="AdminExpandSecurityTabActionGroup">
12+
<conditionalClick selector="{{AdminSection.SecurityTab}}" dependentSelector="{{AdminSection.CheckIfTabExpand}}" visible="true" stepKey="openSecurityTab"/>
13+
</actionGroup>
14+
</actionGroups>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminOpenConfigAdminPageActionGroup">
11+
<amOnPage url="{{AdminConfigAdminPage.url}}" stepKey="goToConfigAdminSectionPage"/>
12+
<waitForPageLoad stepKey="waitForPageLoad"/>
13+
</actionGroup>
14+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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="AdminSetMaximumLoginFailuresToLockoutAccountActionGroup">
12+
<arguments>
13+
<argument name="qty" type="string" defaultValue="3"/>
14+
</arguments>
15+
<uncheckOption selector="{{AdminSection.systemValueForMaximumLoginFailures}}" stepKey="uncheckUseSystemValue"/>
16+
<fillField selector="{{AdminSection.MaximumLoginFailures}}" userInput="{{qty}}" stepKey="setMaximumLoginFailures"/>
17+
<seeInField selector="{{AdminSection.MaximumLoginFailures}}" userInput="{{qty}}" stepKey="seeNewValueInField"/>
18+
</actionGroup>
19+
</actionGroups>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
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+
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd">
9+
<page name="AdminConfigAdminPage" url="admin/system_config/edit/section/admin" module="Magento_Config" area="admin">
10+
<section name="AdminSection"/>
11+
</page>
12+
</pages>

app/code/Magento/Config/Test/Mftf/Section/AdminSection.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@
1313
<element name="SecurityTab" type="button" selector="#admin_security-head"/>
1414
<element name="AdminAccountSharing" type="button" selector="#admin_security_admin_account_sharing"/>
1515
<element name="EnableSystemValue" type="button" selector="#admin_security_admin_account_sharing_inherit"/>
16+
<element name="systemValueForMaximumLoginFailures" type="checkbox" selector="#admin_security_lockout_failures_inherit"/>
17+
<element name="MaximumLoginFailures" type="input" selector="#admin_security_lockout_failures"/>
1618
</section>
1719
</sections>

app/code/Magento/User/Test/Mftf/Data/UserData.xml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,27 @@
108108
<item>1</item>
109109
</array>
110110
</entity>
111-
111+
<entity name="adminUserCorrectPassword" type="user">
112+
<data key="username">admin_user_with_correct_password</data>
113+
<data key="firstname">John</data>
114+
<data key="lastname">Doe</data>
115+
<data key="email" unique="prefix">admin@example.com</data>
116+
<data key="password">123123q</data>
117+
<data key="password_confirmation">123123q</data>
118+
<data key="interface_local">en_US</data>
119+
<data key="interface_local_label">English (United States)</data>
120+
<data key="is_active">true</data>
121+
<data key="is_active_label">Active</data>
122+
<data key="current_password">{{_ENV.MAGENTO_ADMIN_PASSWORD}}</data>
123+
<data key="role">Administrators</data>
124+
<array key="roles">
125+
<item>1</item>
126+
</array>
127+
</entity>
128+
<entity name="adminUserIncorrectPassword" type="user">
129+
<data key="username">admin_user_with_correct_password</data>
130+
<data key="password">123123123q</data>
131+
</entity>
112132
<!--
113133
Since User delete action is performed via POST request we created this entity to be able to delete it.
114134
Please use "AdminDeleteUserViaCurlActionGroup".
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
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="AdminLockAdminUserEntityTest">
12+
<annotations>
13+
<features value="User"/>
14+
<stories value="Lock admin user during login"/>
15+
<title value="Lock admin user after entering incorrect password specified number of times"/>
16+
<description value="Lock admin user after entering incorrect password specified number of times"/>
17+
<testCaseId value="MC-14267"/>
18+
<severity value="CRITICAL"/>
19+
<group value="user"/>
20+
<group value="mtf_migrated"/>
21+
</annotations>
22+
23+
<before>
24+
<magentoCLI command="config:set admin/captcha/enable 0" stepKey="disableAdminCaptcha"/>
25+
<magentoCLI command="cache:clean config full_page" stepKey="cleanInvalidatedCaches1"/>
26+
<actionGroup ref="LoginAsAdmin" stepKey="logIn"/>
27+
</before>
28+
<after>
29+
<magentoCLI command="config:set admin/captcha/enable 1" stepKey="enableAdminCaptcha"/>
30+
<magentoCLI command="cache:clean config full_page" stepKey="cleanInvalidatedCaches"/>
31+
<actionGroup ref="logout" stepKey="logOut"/>
32+
</after>
33+
34+
<!--Create New User-->
35+
<actionGroup ref="AdminOpenNewUserPageActionGroup" stepKey="goToNewUserPage"/>
36+
<actionGroup ref="AdminFillNewUserFormRequiredFieldsActionGroup" stepKey="fillNewUserForm">
37+
<argument name="user" value="adminUserCorrectPassword"/>
38+
</actionGroup>
39+
<actionGroup ref="AdminClickSaveButtonOnUserFormActionGroup" stepKey="saveNewUser"/>
40+
41+
<!--Set 'Maximum Login Failures to Lockout Account'-->
42+
<actionGroup ref="AdminOpenConfigAdminPageActionGroup" stepKey="goToConfigAdminSectionPage"/>
43+
<actionGroup ref="AdminExpandSecurityTabActionGroup" stepKey="openSecurityTab"/>
44+
<actionGroup ref="AdminSetMaximumLoginFailuresToLockoutAccountActionGroup" stepKey="setMaximumLoginFailures">
45+
<argument name="qty" value="2"/>
46+
</actionGroup>
47+
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveChanges"/>
48+
49+
<!-- Log in to Admin Panel with incorrect password specified number of times-->
50+
<actionGroup ref="logout" stepKey="logoutAsDefaultUser"/>
51+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsNewUserFirstAttempt">
52+
<argument name="adminUser" value="adminUserIncorrectPassword"/>
53+
</actionGroup>
54+
<actionGroup ref="AssertMessageOnAdminLoginActionGroup" stepKey="checkLoginErrorFirstAttempt"/>
55+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsNewUserSecondAttempt">
56+
<argument name="adminUser" value="adminUserIncorrectPassword"/>
57+
</actionGroup>
58+
<actionGroup ref="AssertMessageOnAdminLoginActionGroup" stepKey="checkLoginErrorSecondAttempt"/>
59+
60+
<!-- Log in to Admin Panel with correct password-->
61+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsNewUserThirdAttempt">
62+
<argument name="adminUser" value="adminUserCorrectPassword"/>
63+
</actionGroup>
64+
<actionGroup ref="AssertMessageOnAdminLoginActionGroup" stepKey="checkLoginErrorThirdAttempt"/>
65+
66+
<!--Login as default admin user-->
67+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsDefaultAdminUser"/>
68+
69+
<!--Delete new User-->
70+
<actionGroup ref="AdminDeleteCustomUserActionGroup" stepKey="deleteNewUser">
71+
<argument name="user" value="adminUserCorrectPassword"/>
72+
</actionGroup>
73+
74+
</test>
75+
</tests>

dev/tests/functional/tests/app/Magento/User/Test/TestCase/LockAdminUserEntityTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
<data name="incorrectPassword" xsi:type="string">honey boo boo</data>
2525
<data name="attempts" xsi:type="string">7</data>
2626
<constraint name="Magento\User\Test\Constraint\AssertUserFailedLoginMessage" />
27+
<data name="tag" xsi:type="string">mftf_migrated:yes</data>
2728
</variation>
2829
</testCase>
2930
</config>

0 commit comments

Comments
 (0)