@camunda/e2e-test-suite 0.0.201 → 0.0.203

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +8 -4
  2. package/dist/fixtures/8.10.d.ts +75 -0
  3. package/dist/fixtures/8.10.js +187 -0
  4. package/dist/pages/8.10/AppsPage.d.ts +38 -0
  5. package/dist/pages/8.10/AppsPage.js +398 -0
  6. package/dist/pages/8.10/Authorization.d.ts +31 -0
  7. package/dist/pages/8.10/Authorization.js +143 -0
  8. package/dist/pages/8.10/ClientCredentialsDetailsPage.d.ts +12 -0
  9. package/dist/pages/8.10/ClientCredentialsDetailsPage.js +36 -0
  10. package/dist/pages/8.10/ClusterDetailsPage.d.ts +81 -0
  11. package/dist/pages/8.10/ClusterDetailsPage.js +475 -0
  12. package/dist/pages/8.10/ClusterPage.d.ts +63 -0
  13. package/dist/pages/8.10/ClusterPage.js +349 -0
  14. package/dist/pages/8.10/ClusterSecretsPage.d.ts +46 -0
  15. package/dist/pages/8.10/ClusterSecretsPage.js +219 -0
  16. package/dist/pages/8.10/ConnectorMarketplacePage.d.ts +19 -0
  17. package/dist/pages/8.10/ConnectorMarketplacePage.js +56 -0
  18. package/dist/pages/8.10/ConnectorSettingsPage.d.ts +38 -0
  19. package/dist/pages/8.10/ConnectorSettingsPage.js +142 -0
  20. package/dist/pages/8.10/ConnectorTemplatePage.d.ts +11 -0
  21. package/dist/pages/8.10/ConnectorTemplatePage.js +34 -0
  22. package/dist/pages/8.10/ConsoleOrganizationPage.d.ts +76 -0
  23. package/dist/pages/8.10/ConsoleOrganizationPage.js +402 -0
  24. package/dist/pages/8.10/FormJsPage.d.ts +28 -0
  25. package/dist/pages/8.10/FormJsPage.js +85 -0
  26. package/dist/pages/8.10/HomePage.d.ts +27 -0
  27. package/dist/pages/8.10/HomePage.js +88 -0
  28. package/dist/pages/8.10/IdpCreatePage.d.ts +81 -0
  29. package/dist/pages/8.10/IdpCreatePage.js +355 -0
  30. package/dist/pages/8.10/LoginPage.d.ts +42 -0
  31. package/dist/pages/8.10/LoginPage.js +93 -0
  32. package/dist/pages/8.10/ModelerCreatePage.d.ts +224 -0
  33. package/dist/pages/8.10/ModelerCreatePage.js +1166 -0
  34. package/dist/pages/8.10/ModelerHomePage.d.ts +54 -0
  35. package/dist/pages/8.10/ModelerHomePage.js +235 -0
  36. package/dist/pages/8.10/ModelerUserInvitePage.d.ts +29 -0
  37. package/dist/pages/8.10/ModelerUserInvitePage.js +136 -0
  38. package/dist/pages/8.10/OCIdentityAuthorizationsPage.d.ts +11 -0
  39. package/dist/pages/8.10/OCIdentityAuthorizationsPage.js +32 -0
  40. package/dist/pages/8.10/OCIdentityGroupsPage.d.ts +38 -0
  41. package/dist/pages/8.10/OCIdentityGroupsPage.js +166 -0
  42. package/dist/pages/8.10/OCIdentityHomePage.d.ts +18 -0
  43. package/dist/pages/8.10/OCIdentityHomePage.js +57 -0
  44. package/dist/pages/8.10/OCIdentityMappingRulesPage.d.ts +23 -0
  45. package/dist/pages/8.10/OCIdentityMappingRulesPage.js +124 -0
  46. package/dist/pages/8.10/OCIdentityRolesPage.d.ts +40 -0
  47. package/dist/pages/8.10/OCIdentityRolesPage.js +182 -0
  48. package/dist/pages/8.10/OperateHomePage.d.ts +23 -0
  49. package/dist/pages/8.10/OperateHomePage.js +73 -0
  50. package/dist/pages/8.10/OperateProcessInstancePage.d.ts +23 -0
  51. package/dist/pages/8.10/OperateProcessInstancePage.js +94 -0
  52. package/dist/pages/8.10/OperateProcessesPage.d.ts +25 -0
  53. package/dist/pages/8.10/OperateProcessesPage.js +103 -0
  54. package/dist/pages/8.10/OptimizeCollectionsPage.d.ts +17 -0
  55. package/dist/pages/8.10/OptimizeCollectionsPage.js +68 -0
  56. package/dist/pages/8.10/OptimizeDashboardPage.d.ts +11 -0
  57. package/dist/pages/8.10/OptimizeDashboardPage.js +65 -0
  58. package/dist/pages/8.10/OptimizeHomePage.d.ts +13 -0
  59. package/dist/pages/8.10/OptimizeHomePage.js +55 -0
  60. package/dist/pages/8.10/OptimizeReportPage.d.ts +48 -0
  61. package/dist/pages/8.10/OptimizeReportPage.js +159 -0
  62. package/dist/pages/8.10/PlayPage.d.ts +14 -0
  63. package/dist/pages/8.10/PlayPage.js +68 -0
  64. package/dist/pages/8.10/SettingsPage.d.ts +10 -0
  65. package/dist/pages/8.10/SettingsPage.js +43 -0
  66. package/dist/pages/8.10/SignUpPage.d.ts +42 -0
  67. package/dist/pages/8.10/SignUpPage.js +134 -0
  68. package/dist/pages/8.10/TaskDetailsPage.d.ts +75 -0
  69. package/dist/pages/8.10/TaskDetailsPage.js +269 -0
  70. package/dist/pages/8.10/TaskPanelPage.d.ts +21 -0
  71. package/dist/pages/8.10/TaskPanelPage.js +93 -0
  72. package/dist/pages/8.10/TaskProcessesPage.d.ts +13 -0
  73. package/dist/pages/8.10/TaskProcessesPage.js +68 -0
  74. package/dist/pages/8.10/UtilitiesPage.d.ts +47 -0
  75. package/dist/pages/8.10/UtilitiesPage.js +489 -0
  76. package/dist/tests/8.10/access-user-role-management.spec.d.ts +1 -0
  77. package/dist/tests/8.10/access-user-role-management.spec.js +323 -0
  78. package/dist/tests/8.10/agentic-ai-user-flows.spec.d.ts +1 -0
  79. package/dist/tests/8.10/agentic-ai-user-flows.spec.js +185 -0
  80. package/dist/tests/8.10/api-tests-v2.spec.d.ts +1 -0
  81. package/dist/tests/8.10/api-tests-v2.spec.js +20 -0
  82. package/dist/tests/8.10/aws-cluster-user-flows.spec.d.ts +1 -0
  83. package/dist/tests/8.10/aws-cluster-user-flows.spec.js +178 -0
  84. package/dist/tests/8.10/cluster-variables.spec.d.ts +1 -0
  85. package/dist/tests/8.10/cluster-variables.spec.js +70 -0
  86. package/dist/tests/8.10/connectors-user-flows.spec.d.ts +1 -0
  87. package/dist/tests/8.10/connectors-user-flows.spec.js +479 -0
  88. package/dist/tests/8.10/console-user-flows.spec.d.ts +1 -0
  89. package/dist/tests/8.10/console-user-flows.spec.js +187 -0
  90. package/dist/tests/8.10/hto-user-flows.spec.d.ts +1 -0
  91. package/dist/tests/8.10/hto-user-flows.spec.js +471 -0
  92. package/dist/tests/8.10/idp-user-flows.spec.d.ts +1 -0
  93. package/dist/tests/8.10/idp-user-flows.spec.js +214 -0
  94. package/dist/tests/8.10/login-negative-tests.spec.d.ts +1 -0
  95. package/dist/tests/8.10/login-negative-tests.spec.js +29 -0
  96. package/dist/tests/8.10/login.spec.d.ts +1 -0
  97. package/dist/tests/8.10/login.spec.js +26 -0
  98. package/dist/tests/8.10/navigation.spec.d.ts +1 -0
  99. package/dist/tests/8.10/navigation.spec.js +65 -0
  100. package/dist/tests/8.10/operate-access-flow.spec.d.ts +1 -0
  101. package/dist/tests/8.10/operate-access-flow.spec.js +51 -0
  102. package/dist/tests/8.10/optimize-api-tests.spec.d.ts +1 -0
  103. package/dist/tests/8.10/optimize-api-tests.spec.js +268 -0
  104. package/dist/tests/8.10/optimize-user-flows.spec.d.ts +1 -0
  105. package/dist/tests/8.10/optimize-user-flows.spec.js +255 -0
  106. package/dist/tests/8.10/play.spec.d.ts +1 -0
  107. package/dist/tests/8.10/play.spec.js +85 -0
  108. package/dist/tests/8.10/rba-enabled-v1-user-flows.spec.d.ts +1 -0
  109. package/dist/tests/8.10/rba-enabled-v1-user-flows.spec.js +443 -0
  110. package/dist/tests/8.10/rba-enabled-v2-user-flows.spec.d.ts +1 -0
  111. package/dist/tests/8.10/rba-enabled-v2-user-flows.spec.js +446 -0
  112. package/dist/tests/8.10/smoke-tests.spec.d.ts +1 -0
  113. package/dist/tests/8.10/smoke-tests.spec.js +181 -0
  114. package/dist/tests/8.10/test-setup.spec.d.ts +1 -0
  115. package/dist/tests/8.10/test-setup.spec.js +94 -0
  116. package/dist/tests/8.10/utr-enabled-user-flows.spec.d.ts +1 -0
  117. package/dist/tests/8.10/utr-enabled-user-flows.spec.js +182 -0
  118. package/dist/tests/8.10/web-modeler-user-flows.spec.d.ts +1 -0
  119. package/dist/tests/8.10/web-modeler-user-flows.spec.js +544 -0
  120. package/package.json +1 -1
@@ -0,0 +1,443 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const test_1 = require("@playwright/test");
4
+ const _8_10_1 = require("../../fixtures/8.10");
5
+ const _setup_1 = require("../../test-setup.js");
6
+ const UtilitiesPage_1 = require("../../pages/8.10/UtilitiesPage");
7
+ const sleep_1 = require("../../utils/sleep");
8
+ const resetSession_1 = require("../../utils/resetSession");
9
+ const roleAuthorizations_1 = require("../../utils/roleAuthorizations");
10
+ const expectTextWithRetry_1 = require("../../utils/assertionHelpers/expectTextWithRetry");
11
+ const users_1 = require("../../utils/users");
12
+ const mainUser = (0, users_1.getTestUser)('twentyFifthUser');
13
+ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
14
+ const clusterNames = {
15
+ 'RBA On User Flow - No User Permission': 'First RBA V1 Cluster',
16
+ 'RBA On User Flow - Permission for One Process': 'Second RBA V1 Cluster',
17
+ 'RBA On User Flow - Permission for All Processes with Full Permissions': 'Third RBA V1 Cluster',
18
+ 'RBA On User Flow - Permission for Selected Processes Only': 'Fourth RBA V1 Cluster',
19
+ };
20
+ _8_10_1.test.beforeEach(async ({ page, homePage, clusterPage, loginPage, clusterDetailsPage, appsPage }, testInfo) => {
21
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, (testInfo.workerIndex + 1) * 1000);
22
+ await homePage.clickClusters();
23
+ const clusterName = clusterNames[testInfo.title];
24
+ (0, test_1.expect)(clusterName, `No cluster mapping for test title: "${testInfo.title}")`).toBeTruthy();
25
+ await clusterPage.createClusterIfNotExists(clusterName);
26
+ await (0, UtilitiesPage_1.disableRBA)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
27
+ });
28
+ _8_10_1.test.afterEach(async ({ page }, testInfo) => {
29
+ await (0, _setup_1.captureScreenshot)(page, testInfo);
30
+ await (0, _setup_1.captureFailureVideo)(page, testInfo);
31
+ });
32
+ (0, _8_10_1.test)('RBA On User Flow - No User Permission', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage, ocIdentityHomePage, ocIdentityAuthorizationsPage, ocIdentityRolesPage, browser, loginPage, settingsPage, }, testInfo) => {
33
+ _8_10_1.test.slow();
34
+ const clusterName = clusterNames[testInfo.title];
35
+ const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
36
+ const processName = 'RBA_NO_PERM' + randomString;
37
+ const process1 = processName + '1';
38
+ const process2 = processName + '2';
39
+ const role = `rbaNoPermission${randomString}`;
40
+ const testUser = {
41
+ username: process.env.C8_USERNAME_TEST_4,
42
+ password: process.env.C8_PASSWORD_TEST_4,
43
+ };
44
+ await _8_10_1.test.step('Navigate to OC Identity and Assign User To A Role', async () => {
45
+ await appsPage.clickCamundaApps();
46
+ await appsPage.clickAdmin(clusterName);
47
+ await ocIdentityHomePage.clickRolesTab();
48
+ await ocIdentityRolesPage.assignUserToRole(role, testUser.username);
49
+ });
50
+ await _8_10_1.test.step('Create Resource Authorization', async () => {
51
+ await ocIdentityHomePage.clickAuthorizationsTab();
52
+ await ocIdentityAuthorizationsPage.clickResourceTab();
53
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.resourceCreateAuthorization)(role));
54
+ });
55
+ await _8_10_1.test.step('Create Component Authorization', async () => {
56
+ await ocIdentityAuthorizationsPage.clickComponentTab();
57
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.componentAccessAuthorization)(role));
58
+ });
59
+ await _8_10_1.test.step('Create Process Definition Authorizations For Both Processes', async () => {
60
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
61
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.processInstanceCreateAuthorization)(role, process1));
62
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
63
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.processInstanceCreateAuthorization)(role, process2));
64
+ });
65
+ await _8_10_1.test.step('Create Component Authorization', async () => {
66
+ await ocIdentityAuthorizationsPage.clickAuthorizationTab();
67
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.authorizationAllPermissions)(role));
68
+ });
69
+ await _8_10_1.test.step('Clear cookies and reset session', async () => {
70
+ await (0, resetSession_1.resetSession)(browser, page);
71
+ await loginPage.loginWithTestUser(testUser);
72
+ });
73
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
74
+ await appsPage.clickCamundaApps();
75
+ await appsPage.clickModeler();
76
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
77
+ timeout: 30000,
78
+ });
79
+ });
80
+ await _8_10_1.test.step('Navigate to Cross Component Test Project', async () => {
81
+ await homePage.clickSkipCustomization();
82
+ await modelerHomePage.createCrossComponentProjectFolder();
83
+ });
84
+ await _8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
85
+ await (0, UtilitiesPage_1.runMultipleProcesses)(clusterName, page, modelerHomePage, modelerCreatePage, {
86
+ processName: processName,
87
+ uploadFromFile: 'Camunda_Simple_User_Task_1',
88
+ });
89
+ });
90
+ await _8_10_1.test.step('Navigate to Console and Login as Admin User', async () => {
91
+ //only admin users enable and disable RBA
92
+ await appsPage.clickCamundaApps();
93
+ await appsPage.clickConsoleLink();
94
+ await settingsPage.clickOpenSettingsButton();
95
+ await settingsPage.clickLogoutButton();
96
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, 1000);
97
+ });
98
+ await _8_10_1.test.step('Admin Enables RBA', async () => {
99
+ await (0, UtilitiesPage_1.enableAuthorizations)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
100
+ await (0, sleep_1.sleep)(20000);
101
+ });
102
+ await _8_10_1.test.step('Login as Test User', async () => {
103
+ await (0, resetSession_1.resetSession)(browser, page);
104
+ await loginPage.loginWithTestUser(testUser);
105
+ });
106
+ await _8_10_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Accessible', async () => {
107
+ await appsPage.clickCamundaApps();
108
+ await appsPage.clickTasklist(clusterName);
109
+ await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
110
+ timeout: 30000,
111
+ });
112
+ await taskPanelPage.clickProcessesTab();
113
+ await taskProcessesPage.clickpopupContinueButton();
114
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1);
115
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2);
116
+ });
117
+ await _8_10_1.test.step('Navigate to Operate and Make Sure that the Two Deployed Processes Are Not Accessible', async () => {
118
+ await appsPage.clickCamundaApps();
119
+ await appsPage.clickOperate(clusterName);
120
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
121
+ timeout: 30000,
122
+ });
123
+ await operateHomePage.clickProcessesTab();
124
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1, { shouldBeVisible: false });
125
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2, { shouldBeVisible: false });
126
+ });
127
+ await _8_10_1.test.step('Navigate back to Identity and Remove Create Authorization Permission From Both Process', async () => {
128
+ await appsPage.clickCamundaApps();
129
+ await appsPage.clickAdmin(clusterName);
130
+ await ocIdentityHomePage.clickAuthorizationsTab();
131
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
132
+ await ocIdentityAuthorizationsPage.deleteAuthorization(process1, 'PROCESS_DEFINITION');
133
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
134
+ await ocIdentityAuthorizationsPage.deleteAuthorization(process2, 'PROCESS_DEFINITION');
135
+ await (0, sleep_1.sleep)(20000);
136
+ });
137
+ await _8_10_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Not Accessible', async () => {
138
+ await appsPage.clickCamundaApps();
139
+ await appsPage.clickTasklist(clusterName);
140
+ await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
141
+ timeout: 30000,
142
+ });
143
+ await taskPanelPage.clickProcessesTab();
144
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1, { shouldBeVisible: false });
145
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2, { shouldBeVisible: false });
146
+ });
147
+ });
148
+ (0, _8_10_1.test)('RBA On User Flow - Permission for One Process', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage, browser, loginPage, ocIdentityHomePage, ocIdentityAuthorizationsPage, ocIdentityRolesPage, settingsPage, }, testInfo) => {
149
+ _8_10_1.test.slow();
150
+ const clusterName = clusterNames[testInfo.title];
151
+ const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
152
+ const processName = 'RBA_ONE_PERM' + randomString;
153
+ const process1 = processName + '1';
154
+ const process2 = processName + '2';
155
+ const role1 = `rbaOnePerm${randomString}1`;
156
+ const role2 = `rbaOnePerm${randomString}2`;
157
+ const testUser = {
158
+ username: process.env.C8_USERNAME_TEST_6,
159
+ password: process.env.C8_PASSWORD_TEST_6,
160
+ };
161
+ await _8_10_1.test.step('Navigate to OC Identity and Assign User To Two Roles', async () => {
162
+ await appsPage.clickCamundaApps();
163
+ await appsPage.clickAdmin(clusterName);
164
+ await ocIdentityHomePage.clickRolesTab();
165
+ await ocIdentityRolesPage.assignUserToRole(role1, testUser.username);
166
+ await ocIdentityHomePage.clickRolesTab();
167
+ await ocIdentityRolesPage.assignUserToRole(role2, testUser.username);
168
+ });
169
+ await _8_10_1.test.step('Create Resource Authorization', async () => {
170
+ await ocIdentityHomePage.clickAuthorizationsTab();
171
+ await ocIdentityAuthorizationsPage.clickResourceTab();
172
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.resourceCreateAuthorization)(role1));
173
+ });
174
+ await _8_10_1.test.step('Create Component Authorization For Both Roles', async () => {
175
+ await ocIdentityAuthorizationsPage.clickComponentTab();
176
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.componentAccessAuthorization)(role1));
177
+ await ocIdentityAuthorizationsPage.clickComponentTab();
178
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.componentAccessAuthorization)(role2));
179
+ });
180
+ await _8_10_1.test.step('Grant Process Definition Authorization for First Process', async () => {
181
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
182
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.processInstanceAllAuthorization)(role1, process1));
183
+ });
184
+ await _8_10_1.test.step('Grant Only Create Process Definition Authorization for Second Process', async () => {
185
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
186
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.processInstanceCreateAuthorization)(role1, process2));
187
+ });
188
+ await _8_10_1.test.step('Grant Role Authorization To Delete Role', async () => {
189
+ await ocIdentityAuthorizationsPage.clickRoleTab();
190
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.roleAllAuthorization)(role1));
191
+ });
192
+ await _8_10_1.test.step('Clear cookies and reset session', async () => {
193
+ await (0, resetSession_1.resetSession)(browser, page);
194
+ });
195
+ await _8_10_1.test.step('Login as Test User', async () => {
196
+ await loginPage.loginWithTestUser(testUser);
197
+ });
198
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
199
+ await appsPage.clickCamundaApps();
200
+ await appsPage.clickModeler();
201
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
202
+ timeout: 30000,
203
+ });
204
+ });
205
+ await _8_10_1.test.step('Navigate to Cross Component Test Project', async () => {
206
+ await homePage.clickSkipCustomization();
207
+ await modelerHomePage.createCrossComponentProjectFolder();
208
+ });
209
+ await _8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
210
+ await (0, UtilitiesPage_1.runMultipleProcesses)(clusterName, page, modelerHomePage, modelerCreatePage, {
211
+ processName: processName,
212
+ uploadFromFile: 'Camunda_Simple_User_Task_2',
213
+ });
214
+ });
215
+ await _8_10_1.test.step('Navigate to Console and Login as Admin User', async () => {
216
+ //only admin users enable and disable RBA
217
+ await appsPage.clickCamundaApps();
218
+ await appsPage.clickConsoleLink();
219
+ await settingsPage.clickOpenSettingsButton();
220
+ await settingsPage.clickLogoutButton();
221
+ await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, mainUser, 1000);
222
+ });
223
+ await _8_10_1.test.step('Admin Enables RBA', async () => {
224
+ await (0, UtilitiesPage_1.enableAuthorizations)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
225
+ await (0, sleep_1.sleep)(20000);
226
+ });
227
+ await _8_10_1.test.step('Login as Test User', async () => {
228
+ await (0, resetSession_1.resetSession)(browser, page);
229
+ await loginPage.loginWithTestUser(testUser);
230
+ });
231
+ await _8_10_1.test.step('Navigate to Tasklist and Both Processes Are Accessible', async () => {
232
+ await appsPage.clickCamundaApps();
233
+ await appsPage.clickTasklist(clusterName);
234
+ await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
235
+ timeout: 30000,
236
+ });
237
+ await taskPanelPage.clickProcessesTab();
238
+ await taskProcessesPage.clickpopupContinueButton();
239
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1);
240
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2);
241
+ });
242
+ await _8_10_1.test.step('Navigate to Operate and Only First Process Is Accessible', async () => {
243
+ await appsPage.clickCamundaApps();
244
+ await appsPage.clickOperate(clusterName);
245
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
246
+ timeout: 30000,
247
+ });
248
+ await operateHomePage.clickProcessesTab();
249
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1);
250
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2, {
251
+ shouldBeVisible: false,
252
+ });
253
+ });
254
+ await _8_10_1.test.step('Navigate to OC Identity and Delete First Role', async () => {
255
+ await appsPage.clickCamundaApps();
256
+ await appsPage.clickAdmin(clusterName);
257
+ await ocIdentityHomePage.clickRolesTab();
258
+ await ocIdentityRolesPage.deleteRole(role1);
259
+ await (0, sleep_1.sleep)(5000);
260
+ });
261
+ await _8_10_1.test.step('Navigate to Operate and Check Processes Are Not Accessible', async () => {
262
+ await appsPage.clickCamundaApps();
263
+ await appsPage.clickOperate(clusterName);
264
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
265
+ timeout: 30000,
266
+ });
267
+ await operateHomePage.clickProcessesTab();
268
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1, {
269
+ shouldBeVisible: false,
270
+ });
271
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2, {
272
+ shouldBeVisible: false,
273
+ });
274
+ });
275
+ await _8_10_1.test.step('Navigate to Tasklist and Check Processes Are Not Accessible', async () => {
276
+ await appsPage.clickCamundaApps();
277
+ await appsPage.clickTasklist(clusterName);
278
+ await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
279
+ timeout: 30000,
280
+ });
281
+ await taskPanelPage.clickProcessesTab();
282
+ await taskProcessesPage.clickpopupContinueButton();
283
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1, {
284
+ shouldBeVisible: false,
285
+ });
286
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2, {
287
+ shouldBeVisible: false,
288
+ });
289
+ });
290
+ });
291
+ (0, _8_10_1.test)('RBA On User Flow - Permission for All Processes with Full Permissions', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage, ocIdentityHomePage, ocIdentityAuthorizationsPage, }, testInfo) => {
292
+ _8_10_1.test.slow();
293
+ const clusterName = clusterNames[testInfo.title];
294
+ const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
295
+ const processName = 'AFTER_RBA' + randomString;
296
+ const process1 = processName + '1';
297
+ const process2 = processName + '2';
298
+ await _8_10_1.test.step('Navigate to Console and Enable RBA', async () => {
299
+ await (0, UtilitiesPage_1.enableAuthorizations)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
300
+ await (0, sleep_1.sleep)(20000);
301
+ });
302
+ await _8_10_1.test.step('Navigate to OC Identity and Assert Admin Has All Process Permission', async () => {
303
+ await appsPage.clickCamundaApps();
304
+ await appsPage.clickAdmin(clusterName);
305
+ await ocIdentityHomePage.clickAuthorizationsTab();
306
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
307
+ await (0, sleep_1.sleep)(1000);
308
+ await ocIdentityAuthorizationsPage.assertAuthorization('ROLEadmin*');
309
+ });
310
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
311
+ await appsPage.clickCamundaApps();
312
+ await appsPage.clickModeler();
313
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
314
+ timeout: 30000,
315
+ });
316
+ });
317
+ await _8_10_1.test.step('Navigate to Cross Component Test Project', async () => {
318
+ await modelerHomePage.clickCrossComponentProjectFolder();
319
+ });
320
+ await _8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
321
+ await (0, UtilitiesPage_1.runMultipleProcesses)(clusterName, page, modelerHomePage, modelerCreatePage, {
322
+ processName: processName,
323
+ uploadFromFile: 'Camunda_Simple_User_Task_3',
324
+ });
325
+ });
326
+ await _8_10_1.test.step('Navigate to Tasklist and Assert Both Processes Are Accessible', async () => {
327
+ await appsPage.clickCamundaApps();
328
+ await appsPage.clickTasklist(clusterName);
329
+ await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
330
+ timeout: 30000,
331
+ });
332
+ await taskPanelPage.clickProcessesTab();
333
+ await taskProcessesPage.clickpopupContinueButton();
334
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1);
335
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2);
336
+ });
337
+ await _8_10_1.test.step('Assert Processes Can Be Started From Tasklist', async () => {
338
+ await taskPanelPage.clickTasksTab();
339
+ const firstProcessTaskCount = await taskPanelPage.taskCount(process1);
340
+ const secondProcessTaskCount = await taskPanelPage.taskCount(process2);
341
+ await taskPanelPage.clickProcessesTab();
342
+ await taskProcessesPage.startProcess(process1);
343
+ const updatedFirstProcessTaskCount = await taskPanelPage.taskCount(process1);
344
+ (0, test_1.expect)(updatedFirstProcessTaskCount).toBe(firstProcessTaskCount + 1);
345
+ await taskPanelPage.clickProcessesTab();
346
+ await taskProcessesPage.startProcess(process2);
347
+ const updatedSecondProcessTaskCount = await taskPanelPage.taskCount(process2);
348
+ (0, test_1.expect)(updatedSecondProcessTaskCount).toBe(secondProcessTaskCount + 1);
349
+ });
350
+ await _8_10_1.test.step('Navigate to Operate and Assert Both Processes Are Accessible', async () => {
351
+ await appsPage.clickCamundaApps();
352
+ await appsPage.clickOperate(clusterName);
353
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
354
+ timeout: 30000,
355
+ });
356
+ await operateHomePage.clickProcessesTab();
357
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1);
358
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2);
359
+ });
360
+ });
361
+ (0, _8_10_1.test)('RBA On User Flow - Permission for Selected Processes Only', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, clusterPage, clusterDetailsPage, taskPanelPage, taskProcessesPage, operateHomePage, ocIdentityHomePage, ocIdentityAuthorizationsPage, ocIdentityRolesPage, browser, loginPage, }, testInfo) => {
362
+ _8_10_1.test.slow();
363
+ const clusterName = clusterNames[testInfo.title];
364
+ const randomString = await (0, _setup_1.generateRandomStringAsync)(3);
365
+ const processName = 'RBA_SELECTED_PERM' + randomString;
366
+ const role = `rbaSelectedProcessesPermission${randomString}`;
367
+ const process1 = processName + '1';
368
+ const process2 = processName + '2';
369
+ const testUser = {
370
+ username: process.env.C8_USERNAME_TEST_5,
371
+ password: process.env.C8_PASSWORD_TEST_5,
372
+ };
373
+ await _8_10_1.test.step('Navigate to OC Identity and Assign User To A Role', async () => {
374
+ await appsPage.clickCamundaApps();
375
+ await appsPage.clickAdmin(clusterName);
376
+ await ocIdentityHomePage.clickRolesTab();
377
+ await ocIdentityRolesPage.assignUserToRole(role, testUser.username);
378
+ });
379
+ await _8_10_1.test.step('Create Resource Authorization', async () => {
380
+ await ocIdentityHomePage.clickAuthorizationsTab();
381
+ await ocIdentityAuthorizationsPage.clickResourceTab();
382
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.resourceCreateAuthorization)(role));
383
+ });
384
+ await _8_10_1.test.step('Create Component Authorization', async () => {
385
+ await ocIdentityAuthorizationsPage.clickComponentTab();
386
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.componentAccessAuthorization)(role));
387
+ });
388
+ await _8_10_1.test.step('Grant Process Definition Authorization for First Process', async () => {
389
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
390
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.processInstanceAllAuthorization)(role, process1));
391
+ });
392
+ await _8_10_1.test.step('Grant Process Definition Authorization for Second Process', async () => {
393
+ await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
394
+ await ocIdentityAuthorizationsPage.createAuthorization((0, roleAuthorizations_1.processInstanceAllAuthorization)(role, process2));
395
+ });
396
+ await _8_10_1.test.step('Navigate to Console and Enable RBA', async () => {
397
+ await (0, UtilitiesPage_1.enableAuthorizations)(clusterName, homePage, clusterPage, clusterDetailsPage, appsPage);
398
+ await (0, sleep_1.sleep)(15000);
399
+ });
400
+ await _8_10_1.test.step('Clear cookies and reset session', async () => {
401
+ await (0, resetSession_1.resetSession)(browser, page);
402
+ await loginPage.loginWithTestUser(testUser);
403
+ });
404
+ await _8_10_1.test.step('Navigate to Web Modeler', async () => {
405
+ await appsPage.clickCamundaApps();
406
+ await appsPage.clickModeler();
407
+ await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
408
+ timeout: 30000,
409
+ });
410
+ });
411
+ await _8_10_1.test.step('Navigate to Cross Component Test Project', async () => {
412
+ await homePage.clickSkipCustomization();
413
+ await modelerHomePage.createCrossComponentProjectFolder();
414
+ });
415
+ await _8_10_1.test.step('Create Two BPMN Diagrams with User Task and Start Process Instance', async () => {
416
+ await (0, UtilitiesPage_1.runMultipleProcesses)(clusterName, page, modelerHomePage, modelerCreatePage, {
417
+ processName: processName,
418
+ uploadFromFile: 'Camunda_Simple_User_Task_4',
419
+ });
420
+ });
421
+ await _8_10_1.test.step('Navigate to Tasklist and Assert Both Processes Are Accessible', async () => {
422
+ await appsPage.clickCamundaApps();
423
+ await appsPage.clickTasklist(clusterName);
424
+ await (0, test_1.expect)(taskPanelPage.taskListPageBanner).toBeVisible({
425
+ timeout: 30000,
426
+ });
427
+ await taskPanelPage.clickProcessesTab();
428
+ await taskProcessesPage.clickpopupContinueButton();
429
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1);
430
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2);
431
+ });
432
+ await _8_10_1.test.step('Navigate to Operate and Assert Both Processes Are Accessible', async () => {
433
+ await appsPage.clickCamundaApps();
434
+ await appsPage.clickOperate(clusterName);
435
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
436
+ timeout: 30000,
437
+ });
438
+ await operateHomePage.clickProcessesTab();
439
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process1);
440
+ await (0, expectTextWithRetry_1.expectTextWithRetry)(page, process2);
441
+ });
442
+ });
443
+ });