@camunda/e2e-test-suite 0.0.194 → 0.0.196

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.
package/README.md CHANGED
@@ -317,6 +317,13 @@ By following this convention, we ensure **clarity, consistency, and alignment wi
317
317
  | `all-latest` | Runs SM tests against all latest versions |
318
318
 
319
319
 
320
+ ### c8Run Supported Versions, Modes and Projects
321
+ | Version | Docker Allowed? | OS When Docker | OS When Non-Docker | Projects (Non-Docker) | Projects (Docker) |
322
+ |---------|----------------|----------------|--------------------|-----------------------|-------------------|
323
+ | 8.6 | No | — | ubuntu, macOS | — | chromium (ES) |
324
+ | 8.7 | Yes | ubuntu-latest only | ubuntu, macOS, windows | chromium (ES) | chromium (ES) |
325
+ | 8.8 | Yes | ubuntu-latest only | ubuntu, macOS, windows | chromium-v1 (ES) + chromium-v2 (ES) | chromium-v2 (ES) |
326
+ | 8.9 | Yes | ubuntu-latest only | ubuntu, macOS, windows | chromium-v1 (ES) + chromium-v2 (ES) + chromium-v2 (RDBMS) | chromium-v2 (ES) |
320
327
  ## Viewing Test Results
321
328
 
322
329
  ### Locally:
@@ -3,14 +3,14 @@ declare class AppsPage {
3
3
  private page;
4
4
  readonly modelerLink: Locator;
5
5
  readonly tasklistLink: Locator;
6
- readonly identityLink: Locator;
6
+ readonly adminLink: Locator;
7
7
  readonly operateLink: Locator;
8
8
  readonly optimizeButton: Locator;
9
- readonly identityButton: Locator;
9
+ readonly adminButton: Locator;
10
10
  readonly tasklistButton: Locator;
11
11
  readonly operateButton: Locator;
12
12
  readonly operateListItem: Locator;
13
- readonly identityListItem: Locator;
13
+ readonly adminListItem: Locator;
14
14
  readonly optimizeListItem: Locator;
15
15
  readonly tasklistListItem: Locator;
16
16
  readonly appSwitcherButton: Locator;
@@ -22,10 +22,10 @@ declare class AppsPage {
22
22
  clickCluster(component: Locator, name: string): Promise<void>;
23
23
  clickModeler(): Promise<void>;
24
24
  clickTasklist(clusterName: string): Promise<void>;
25
- clickIdentity(clusterName: string): Promise<void>;
25
+ clickAdmin(clusterName: string): Promise<void>;
26
26
  private doClickClusterInOperate;
27
27
  private doClickClusterInTasklist;
28
- private doClickClusterInIdentity;
28
+ private doClickClusterInAdmin;
29
29
  private doClickClusterInOptimize;
30
30
  clickOperate(clusterName: string): Promise<void>;
31
31
  clickOptimize(clusterName: string): Promise<void>;
@@ -8,14 +8,14 @@ class AppsPage {
8
8
  page;
9
9
  modelerLink;
10
10
  tasklistLink;
11
- identityLink;
11
+ adminLink;
12
12
  operateLink;
13
13
  optimizeButton;
14
- identityButton;
14
+ adminButton;
15
15
  tasklistButton;
16
16
  operateButton;
17
17
  operateListItem;
18
- identityListItem;
18
+ adminListItem;
19
19
  optimizeListItem;
20
20
  tasklistListItem;
21
21
  appSwitcherButton;
@@ -28,7 +28,7 @@ class AppsPage {
28
28
  this.modelerLink = page.getByRole('link', { name: 'Modeler', exact: true });
29
29
  this.appSwitcherButton = page.getByLabel('App Switcher');
30
30
  this.tasklistLink = page.getByRole('link', { name: 'Tasklist', exact: true });
31
- this.identityLink = page.getByRole('link', { name: 'Identity', exact: true });
31
+ this.adminLink = page.getByRole('link', { name: /^(Admin|Identity)$/ });
32
32
  this.operateLink = page.getByRole('link', { name: 'Operate', exact: true });
33
33
  this.optimizeLink = page.getByRole('link', { name: 'Optimize', exact: true });
34
34
  this.consoleLink = page.getByRole('link', { name: 'Console', exact: true });
@@ -43,9 +43,9 @@ class AppsPage {
43
43
  this.operateListItem = this.page
44
44
  .getByRole('listitem')
45
45
  .filter({ hasText: 'Operate' });
46
- this.identityListItem = this.page
46
+ this.adminListItem = this.page
47
47
  .getByRole('listitem')
48
- .filter({ hasText: 'Identity' });
48
+ .filter({ hasText: /Admin|Identity/ }); // Identity Should be removed after https://github.com/camunda/camunda/issues/46447 is fixed
49
49
  this.operateButton = page.getByRole('button', {
50
50
  name: 'Operate',
51
51
  exact: true,
@@ -58,9 +58,8 @@ class AppsPage {
58
58
  name: 'Tasklist',
59
59
  exact: true,
60
60
  });
61
- this.identityButton = page.getByRole('button', {
62
- name: 'Identity',
63
- exact: true,
61
+ this.adminButton = page.getByRole('button', {
62
+ name: /^(Admin|Identity)$/, // Identity Should be removed after https://github.com/camunda/camunda/issues/46447 is fixed
64
63
  });
65
64
  }
66
65
  async clickCluster(component, name) {
@@ -128,27 +127,27 @@ class AppsPage {
128
127
  }
129
128
  throw new Error(`Failed to click the tasklist link after ${maxRetries} attempts.`);
130
129
  }
131
- async clickIdentity(clusterName) {
130
+ async clickAdmin(clusterName) {
132
131
  const maxRetries = 5;
133
132
  for (let retries = 0; retries < maxRetries; retries++) {
134
133
  try {
135
134
  if (retries === 0) {
136
135
  //Single cluster
137
- if (await this.identityLink.isVisible({ timeout: 5000 })) {
138
- await this.identityLink.click({ timeout: 10000 });
136
+ if (await this.adminLink.isVisible({ timeout: 5000 })) {
137
+ await this.adminLink.click({ timeout: 10000 });
139
138
  }
140
139
  else {
141
140
  //Multiple clusters
142
- await this.doClickClusterInIdentity(clusterName);
141
+ await this.doClickClusterInAdmin(clusterName);
143
142
  }
144
143
  }
145
144
  else {
146
145
  await this.clickCamundaApps();
147
- if (await this.identityLink.isVisible({ timeout: 5000 })) {
148
- await this.identityLink.click({ timeout: 10000 });
146
+ if (await this.adminLink.isVisible({ timeout: 5000 })) {
147
+ await this.adminLink.click({ timeout: 10000 });
149
148
  }
150
149
  else {
151
- await this.doClickClusterInIdentity(clusterName);
150
+ await this.doClickClusterInAdmin(clusterName);
152
151
  }
153
152
  }
154
153
  return;
@@ -182,15 +181,15 @@ class AppsPage {
182
181
  }
183
182
  await this.clickCluster(this.tasklistListItem, clusterName);
184
183
  }
185
- async doClickClusterInIdentity(clusterName) {
186
- if (await this.identityListItem
184
+ async doClickClusterInAdmin(clusterName) {
185
+ if (await this.adminListItem
187
186
  .getByRole('button', {
188
187
  expanded: true,
189
188
  })
190
189
  .isHidden({ timeout: 5000 })) {
191
- await this.identityButton.click({ timeout: 10000 });
190
+ await this.adminButton.click({ timeout: 10000 });
192
191
  }
193
- await this.clickCluster(this.identityListItem, clusterName);
192
+ await this.clickCluster(this.adminListItem, clusterName);
194
193
  }
195
194
  async doClickClusterInOptimize(clusterName) {
196
195
  if (await this.optimizeListItem
@@ -106,7 +106,9 @@ class Authorization {
106
106
  });
107
107
  }
108
108
  await this.createAuthorizationSubmitButton.click();
109
- await (0, test_1.expect)(this.createAuthorizationModal).not.toBeVisible();
109
+ await (0, test_1.expect)(this.createAuthorizationModal).not.toBeVisible({
110
+ timeout: 30000,
111
+ });
110
112
  await this.selectResourceTypeTab(authorization.resourceType).click();
111
113
  const item = this.page.getByRole('row').filter({
112
114
  hasText: `${authorization.ownerId}${authorization.resourceId}`,
@@ -2,7 +2,7 @@ import { Page, Locator } from '@playwright/test';
2
2
  declare class OCIdentityHomePage {
3
3
  private page;
4
4
  readonly groupsTab: Locator;
5
- readonly identityBanner: Locator;
5
+ readonly adminBanner: Locator;
6
6
  readonly rolesTab: Locator;
7
7
  readonly authorizationsTab: Locator;
8
8
  readonly licenseKeyTagNonProduction: Locator;
@@ -5,7 +5,7 @@ const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLoc
5
5
  class OCIdentityHomePage {
6
6
  page;
7
7
  groupsTab;
8
- identityBanner;
8
+ adminBanner;
9
9
  rolesTab;
10
10
  authorizationsTab;
11
11
  licenseKeyTagNonProduction;
@@ -15,22 +15,22 @@ class OCIdentityHomePage {
15
15
  noPermissionsMessage;
16
16
  constructor(page) {
17
17
  this.page = page;
18
- this.identityBanner = page.getByRole('link', {
19
- name: 'Camunda logo Identity',
18
+ this.adminBanner = page.getByRole('link', {
19
+ name: 'Camunda logo Admin',
20
20
  });
21
21
  this.groupsTab = page
22
22
  .getByRole('banner')
23
- .getByLabel('Identity')
23
+ .getByLabel('Admin')
24
24
  .locator('a')
25
25
  .filter({ hasText: 'Groups' });
26
26
  this.rolesTab = page
27
27
  .getByRole('banner')
28
- .getByLabel('Identity')
28
+ .getByLabel('Admin')
29
29
  .locator('a')
30
30
  .filter({ hasText: 'Roles' });
31
31
  this.authorizationsTab = page
32
32
  .getByRole('banner')
33
- .getByLabel('Identity')
33
+ .getByLabel('Admin')
34
34
  .locator('a')
35
35
  .filter({ hasText: /^Authorizations$/ });
36
36
  this.licenseKeyTagNonProduction = page
@@ -91,7 +91,7 @@ _8_9_1.test.describe('User Roles User Flow', () => {
91
91
  await page.goBack();
92
92
  await (0, UtilitiesPage_1.waitForLoadingToFinish)(page);
93
93
  await appsPage.clickCamundaApps();
94
- await appsPage.clickIdentity(clusterName);
94
+ await appsPage.clickAdmin(clusterName);
95
95
  await (0, test_1.expect)(ocIdentityHomePage.noPermissionsMessage).toBeVisible({
96
96
  timeout: 60000,
97
97
  });
@@ -185,7 +185,7 @@ _8_9_1.test.describe('User Roles User Flow', () => {
185
185
  await _8_9_1.test.step('Navigate to Identity and Ensure Identity is not Accessible', async () => {
186
186
  await page.goBack();
187
187
  await appsPage.clickCamundaApps();
188
- await appsPage.clickIdentity(clusterName);
188
+ await appsPage.clickAdmin(clusterName);
189
189
  await (0, test_1.expect)(ocIdentityHomePage.noPermissionsMessage).toBeVisible({
190
190
  timeout: 60000,
191
191
  });
@@ -278,8 +278,8 @@ _8_9_1.test.describe('User Roles User Flow', () => {
278
278
  await _8_9_1.test.step('Navigate to Identity and Ensure Identity is Accessible', async () => {
279
279
  await page.goBack();
280
280
  await appsPage.clickCamundaApps();
281
- await appsPage.clickIdentity(clusterName);
282
- await (0, test_1.expect)(ocIdentityHomePage.identityBanner).toBeVisible({
281
+ await appsPage.clickAdmin(clusterName);
282
+ await (0, test_1.expect)(ocIdentityHomePage.adminBanner).toBeVisible({
283
283
  timeout: 60000,
284
284
  });
285
285
  await (0, test_1.expect)(ocIdentityHomePage.noPermissionsMessage).not.toBeVisible({
@@ -56,8 +56,8 @@ _8_9_1.test.describe('Navigation Tests', () => {
56
56
  });
57
57
  await _8_9_1.test.step('Assert Tasklist Navigation', async () => {
58
58
  await appsPage.clickCamundaApps();
59
- await appsPage.clickIdentity(clusterName);
60
- await (0, test_1.expect)(ocIdentityHomePage.identityBanner).toBeVisible({
59
+ await appsPage.clickAdmin(clusterName);
60
+ await (0, test_1.expect)(ocIdentityHomePage.adminBanner).toBeVisible({
61
61
  timeout: 120000,
62
62
  });
63
63
  });
@@ -43,7 +43,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
43
43
  };
44
44
  await _8_9_1.test.step('Navigate to OC Identity and Assign User To A Role', async () => {
45
45
  await appsPage.clickCamundaApps();
46
- await appsPage.clickIdentity(clusterName);
46
+ await appsPage.clickAdmin(clusterName);
47
47
  await ocIdentityHomePage.clickRolesTab();
48
48
  await ocIdentityRolesPage.assignUserToRole(role, testUser.username);
49
49
  });
@@ -126,7 +126,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
126
126
  });
127
127
  await _8_9_1.test.step('Navigate back to Identity and Remove Create Authorization Permission From Both Process', async () => {
128
128
  await appsPage.clickCamundaApps();
129
- await appsPage.clickIdentity(clusterName);
129
+ await appsPage.clickAdmin(clusterName);
130
130
  await ocIdentityHomePage.clickAuthorizationsTab();
131
131
  await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
132
132
  await ocIdentityAuthorizationsPage.deleteAuthorization(process1, 'PROCESS_DEFINITION');
@@ -160,7 +160,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
160
160
  };
161
161
  await _8_9_1.test.step('Navigate to OC Identity and Assign User To Two Roles', async () => {
162
162
  await appsPage.clickCamundaApps();
163
- await appsPage.clickIdentity(clusterName);
163
+ await appsPage.clickAdmin(clusterName);
164
164
  await ocIdentityHomePage.clickRolesTab();
165
165
  await ocIdentityRolesPage.assignUserToRole(role1, testUser.username);
166
166
  await ocIdentityHomePage.clickRolesTab();
@@ -253,7 +253,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
253
253
  });
254
254
  await _8_9_1.test.step('Navigate to OC Identity and Delete First Role', async () => {
255
255
  await appsPage.clickCamundaApps();
256
- await appsPage.clickIdentity(clusterName);
256
+ await appsPage.clickAdmin(clusterName);
257
257
  await ocIdentityHomePage.clickRolesTab();
258
258
  await ocIdentityRolesPage.deleteRole(role1);
259
259
  await (0, sleep_1.sleep)(5000);
@@ -301,7 +301,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
301
301
  });
302
302
  await _8_9_1.test.step('Navigate to OC Identity and Assert Admin Has All Process Permission', async () => {
303
303
  await appsPage.clickCamundaApps();
304
- await appsPage.clickIdentity(clusterName);
304
+ await appsPage.clickAdmin(clusterName);
305
305
  await ocIdentityHomePage.clickAuthorizationsTab();
306
306
  await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
307
307
  await (0, sleep_1.sleep)(1000);
@@ -372,7 +372,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV1', () => {
372
372
  };
373
373
  await _8_9_1.test.step('Navigate to OC Identity and Assign User To A Role', async () => {
374
374
  await appsPage.clickCamundaApps();
375
- await appsPage.clickIdentity(clusterName);
375
+ await appsPage.clickAdmin(clusterName);
376
376
  await ocIdentityHomePage.clickRolesTab();
377
377
  await ocIdentityRolesPage.assignUserToRole(role, testUser.username);
378
378
  });
@@ -45,7 +45,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
45
45
  };
46
46
  await _8_9_1.test.step('Navigate to OC Identity and Assign User To A Role', async () => {
47
47
  await appsPage.clickCamundaApps();
48
- await appsPage.clickIdentity(clusterName);
48
+ await appsPage.clickAdmin(clusterName);
49
49
  await ocIdentityHomePage.clickRolesTab();
50
50
  await ocIdentityRolesPage.assignUserToRole(role, testUser.username);
51
51
  });
@@ -142,7 +142,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
142
142
  };
143
143
  await _8_9_1.test.step('Navigate to OC Identity and Assign User To Two Roles', async () => {
144
144
  await appsPage.clickCamundaApps();
145
- await appsPage.clickIdentity(clusterName);
145
+ await appsPage.clickAdmin(clusterName);
146
146
  await ocIdentityHomePage.clickRolesTab();
147
147
  await ocIdentityRolesPage.assignUserToRole(role1, testUser.username);
148
148
  await ocIdentityHomePage.clickRolesTab();
@@ -237,7 +237,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
237
237
  });
238
238
  await _8_9_1.test.step('Navigate to OC Identity and Delete First Role', async () => {
239
239
  await appsPage.clickCamundaApps();
240
- await appsPage.clickIdentity(clusterName);
240
+ await appsPage.clickAdmin(clusterName);
241
241
  await ocIdentityHomePage.clickRolesTab();
242
242
  await ocIdentityRolesPage.deleteRole(role1);
243
243
  await (0, sleep_1.sleep)(5000);
@@ -285,7 +285,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
285
285
  });
286
286
  await _8_9_1.test.step('Navigate to OC Identity and Assert Admin Has All Process Permission', async () => {
287
287
  await appsPage.clickCamundaApps();
288
- await appsPage.clickIdentity(clusterName);
288
+ await appsPage.clickAdmin(clusterName);
289
289
  await ocIdentityHomePage.clickAuthorizationsTab();
290
290
  await ocIdentityAuthorizationsPage.clickProcessDefinitionTab();
291
291
  await (0, sleep_1.sleep)(1000);
@@ -359,7 +359,7 @@ _8_9_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
359
359
  };
360
360
  await _8_9_1.test.step('Navigate to OC Identity and Assign User To A Role', async () => {
361
361
  await appsPage.clickCamundaApps();
362
- await appsPage.clickIdentity(clusterName);
362
+ await appsPage.clickAdmin(clusterName);
363
363
  await ocIdentityHomePage.clickRolesTab();
364
364
  await ocIdentityRolesPage.assignUserToRole(role, testUser.username);
365
365
  });
@@ -100,7 +100,7 @@ _8_9_1.test.describe.parallel('UTR Enabled User Flows Test @tasklistV1', () => {
100
100
  };
101
101
  await _8_9_1.test.step('Navigate to Identity', async () => {
102
102
  await appsPage.clickCamundaApps();
103
- await appsPage.clickIdentity(clusterName);
103
+ await appsPage.clickAdmin(clusterName);
104
104
  });
105
105
  await _8_9_1.test.step('Create Two User Groups in Identity', async () => {
106
106
  await ocIdentityHomePage.clickGroupsTab();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.194",
3
+ "version": "0.0.196",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",