@camunda/e2e-test-suite 0.0.1113 → 0.0.1115

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.
@@ -56,7 +56,15 @@ class OptimizeSharePage {
56
56
  // always-present Share control) renders from scratch. Use waitFor (which
57
57
  // actually polls) rather than isVisible (a one-shot check), reloading only
58
58
  // when the Share control still hasn't rendered.
59
- for (let attempt = 0; attempt < 3; attempt++) {
59
+ //
60
+ // A reload is also the recovery path for a second, distinct failure mode:
61
+ // the entity was created moments earlier via the API (in a describe's
62
+ // beforeAll) and Optimize's evaluate endpoint hasn't caught up yet, which
63
+ // renders the "This link is not valid" ErrorPage instead of a loading
64
+ // state -- there is no spinner to wait out, only a fresh navigation
65
+ // re-queries the entity. 5 attempts give that eventual-consistency window
66
+ // more room than 3 did.
67
+ for (let attempt = 0; attempt < 5; attempt++) {
60
68
  const shareVisible = await this.shareButton
61
69
  .waitFor({ state: 'visible', timeout: 10000 })
62
70
  .then(() => true)
@@ -87,12 +87,14 @@ _8_10_1.test.describe('API Optimize Collections Lifecycle Tests @optimize-collec
87
87
  });
88
88
  });
89
89
  await _8_10_1.test.step('GET /api/collection/{id} exposes the added scope entry', async () => {
90
- const response = await request.get(`${baseUrl}/api/collection/${collectionId}`, { headers: { Cookie: optimizeCookie } });
91
- await (0, apiHelpers_1.assertResponseStatus)(response, 200);
92
- const body = await response.json();
93
- const scope = body?.data?.scope;
94
- (0, test_1.expect)(Array.isArray(scope)).toBeTruthy();
95
- (0, test_1.expect)(scope.some((entry) => entry.definitionKey === definitionKey)).toBeTruthy();
90
+ await (0, apiHelpers_1.retryOnTransientApiError)(async () => {
91
+ const response = await request.get(`${baseUrl}/api/collection/${collectionId}`, { headers: { Cookie: optimizeCookie } });
92
+ await (0, apiHelpers_1.assertResponseStatus)(response, 200);
93
+ const body = await response.json();
94
+ const scope = body?.data?.scope;
95
+ (0, test_1.expect)(Array.isArray(scope)).toBeTruthy();
96
+ (0, test_1.expect)(scope.some((entry) => entry.definitionKey === definitionKey)).toBeTruthy();
97
+ }, 'GET /api/collection/{id} exposes the added scope entry');
96
98
  });
97
99
  await request.delete(`${baseUrl}/api/public/collection/${collectionId}`, {
98
100
  headers: { Authorization: optimizeBearerToken },
@@ -140,11 +140,13 @@ _8_10_1.test.describe('Optimize Sharing & Export UI Tests @optimize-sharing-aler
140
140
  });
141
141
  (0, _8_10_1.test)('Enable report sharing and expose a public share link', async ({ appsPage, optimizeHomePage, optimizeSharePage, }) => {
142
142
  await _8_10_1.test.step('Open Optimize from the Camunda apps launcher', async () => {
143
- await appsPage.clickCamundaApps();
144
- await appsPage.clickOptimize(clusterName);
145
- await test_1.expect
146
- .poll(async () => optimizeHomePage.optimizeBanner.isVisible({ timeout: 5000 }), { timeout: 120000 })
147
- .toBe(true);
143
+ // The apps-menu hand-off starts an OIDC round trip, and when
144
+ // Optimize's /sso-callback answers 401 the tab is left on a blank
145
+ // page that never renders the banner. Polling the banner cannot
146
+ // recover that — only re-entering through the apps menu restarts
147
+ // the hand-off — so use the retrying opener instead (see
148
+ // AppsPage.openOptimizeWithRetry and the CSV export test below).
149
+ await appsPage.openOptimizeWithRetry(optimizeHomePage.optimizeBanner, clusterName);
148
150
  });
149
151
  await _8_10_1.test.step('Navigate to the seeded report', async () => {
150
152
  await optimizeSharePage.openEntityById(baseUrl, 'report', reportId);
@@ -168,8 +168,7 @@ _8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
168
168
  await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateProcessInstancePage, operateProcessInstancePage.completedIcon, 'Completed icon', 60000);
169
169
  });
170
170
  });
171
- // Skipped due to bug #8500: https://github.com/camunda/connectors/issues/8500
172
- _8_9_1.test.skip('Connector Secrets User Flow - GCP', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, clusterPage, clusterSecretsPage, }) => {
171
+ (0, _8_9_1.test)('Connector Secrets User Flow - GCP', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, clusterPage, clusterSecretsPage, }) => {
173
172
  _8_9_1.test.slow();
174
173
  const processName = 'REST_Connector_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
175
174
  await _8_9_1.test.step('Navigate to Connectors Secrets', async () => {
@@ -222,8 +221,7 @@ _8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
222
221
  });
223
222
  });
224
223
  });
225
- // Skipped due to bug #8500: https://github.com/camunda/connectors/issues/8500
226
- _8_9_1.test.skip('Connector Secrets User Flow - AWS', async ({ page, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
224
+ (0, _8_9_1.test)('Connector Secrets User Flow - AWS', async ({ page, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
227
225
  _8_9_1.test.slow();
228
226
  const processName = 'REST_Connector_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
229
227
  await _8_9_1.test.step('Navigate to Web Modeler', async () => {
@@ -69,7 +69,13 @@ _8_9_1.test.describe('IDP User Flow Tests', () => {
69
69
  });
70
70
  _8_9_1.test.describe('Unstructured Extraction', () => {
71
71
  for (const params of unstructuredTestCases) {
72
- // Skipped due to bug #8500: https://github.com/camunda/connectors/issues/8500
72
+ // Still fails after bug #8500 was fixed -- that bug was specifically
73
+ // about outbound REST connectors + {{secrets.*}} masking, unrelated to
74
+ // this symptom: "Save as test case" never becomes enabled after
75
+ // extraction is triggered (120s timeout). Hard-fails for AWS/Azure in
76
+ // both chromium-v1 and chromium-v2 (PR #3350, run 34110011982); GCP
77
+ // recovers on retry but shares the same root cause. Mis-attributed to
78
+ // #8500 originally; needs its own bug filed before unskipping again.
73
79
  _8_9_1.test.skip(`${params.provider} unstructured (${params.model}) - User creates an idp application with a document extraction template`, async ({ page, idpCreatePage, modelerHomePage, homePage, appsPage, clusterPage, clusterSecretsPage, }) => {
74
80
  _8_9_1.test.slow();
75
81
  idpApplicationName = await (0, randomName_1.randomNameAgregator)(`${params.provider} unstructured` + ' - IDP_Application_Name');
@@ -145,7 +151,10 @@ _8_9_1.test.describe('IDP User Flow Tests', () => {
145
151
  });
146
152
  _8_9_1.test.describe('Structured Extraction', () => {
147
153
  for (const params of structuredTestCases) {
148
- // Skipped due to bug #8500: https://github.com/camunda/connectors/issues/8500
154
+ // Same still-open issue as Unstructured Extraction above -- see that
155
+ // comment. Hard-fails for both AWS and GCP in chromium-v1 (PR #3350,
156
+ // run 34110011982); recovers on retry in chromium-v2 but shares the
157
+ // same root cause. Not bug #8500.
149
158
  _8_9_1.test.skip(`${params.provider} structured - User creates an idp application with a document extraction template`, async ({ page, idpCreatePage, modelerHomePage, homePage, appsPage, clusterPage, clusterSecretsPage, }) => {
150
159
  _8_9_1.test.slow();
151
160
  idpApplicationName = await (0, randomName_1.randomNameAgregator)(`${params.provider} structured` + ' - IDP_Application_Name');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.1113",
3
+ "version": "0.0.1115",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",