@camunda/e2e-test-suite 0.0.1618 → 0.0.1620
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/dist/pages/8.10/ClusterDetailsPage.js +8 -1
- package/dist/pages/8.11/ClusterDetailsPage.js +8 -1
- package/dist/tests/c8Run-8.9/connectors-user-flows.spec.js +6 -13
- package/dist/tests/c8Run-8.9/mcp-connector-authentication.spec.js +2 -9
- package/dist/tests/c8Run-8.9/mcp-user-flows.spec.js +1 -2
- package/package.json +1 -1
|
@@ -920,7 +920,14 @@ class ClusterDetailsPage {
|
|
|
920
920
|
console.log(`Attempt ${attempt}: Error filling value input:`, error);
|
|
921
921
|
}
|
|
922
922
|
if (attempt < maxRetries) {
|
|
923
|
-
|
|
923
|
+
// A closed dialog never brings the field back; let createAPIClient()
|
|
924
|
+
// reopen it instead of spending the remaining attempts here.
|
|
925
|
+
if (!(await this.createClientCredentialsDialog.isVisible())) {
|
|
926
|
+
throw new Error('Create client dialog closed before the Client Name field could be filled');
|
|
927
|
+
}
|
|
928
|
+
if (await this.apiClientNameTextbox.isVisible()) {
|
|
929
|
+
await this.apiClientNameTextbox.clear();
|
|
930
|
+
}
|
|
924
931
|
}
|
|
925
932
|
}
|
|
926
933
|
throw new Error(`Failed to fill value input after ${maxRetries} attempts`);
|
|
@@ -893,7 +893,14 @@ class ClusterDetailsPage {
|
|
|
893
893
|
console.log(`Attempt ${attempt}: Error filling value input:`, error);
|
|
894
894
|
}
|
|
895
895
|
if (attempt < maxRetries) {
|
|
896
|
-
|
|
896
|
+
// A closed dialog never brings the field back; let createAPIClient()
|
|
897
|
+
// reopen it instead of spending the remaining attempts here.
|
|
898
|
+
if (!(await this.createClientCredentialsDialog.isVisible())) {
|
|
899
|
+
throw new Error('Create client dialog closed before the Client Name field could be filled');
|
|
900
|
+
}
|
|
901
|
+
if (await this.apiClientNameTextbox.isVisible()) {
|
|
902
|
+
await this.apiClientNameTextbox.clear();
|
|
903
|
+
}
|
|
897
904
|
}
|
|
898
905
|
}
|
|
899
906
|
throw new Error(`Failed to fill value input after ${maxRetries} attempts`);
|
|
@@ -28,6 +28,7 @@ c8Run_8_9_1.test.beforeAll(async () => {
|
|
|
28
28
|
await Promise.all([
|
|
29
29
|
(0, zeebeClient_1.createInstances)('REST_Connector_Basic_Auth_Process', 1, 1),
|
|
30
30
|
(0, zeebeClient_1.createInstances)('Intermediate_Event_Webhook_Connector_No_Auth_Process', 1, 1),
|
|
31
|
+
(0, zeebeClient_1.createInstances)('REST_Connector_No_Auth_Process', 1, 1),
|
|
31
32
|
(0, zeebeClient_1.createInstances)('REST_Connector_Bearer_Auth_Process', 1, 1),
|
|
32
33
|
]);
|
|
33
34
|
await (0, sleep_1.sleep)(5000);
|
|
@@ -42,11 +43,7 @@ c8Run_8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
42
43
|
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
43
44
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
44
45
|
});
|
|
45
|
-
|
|
46
|
-
c8Run_8_9_1.test.skip('REST Connector No Auth User Flow', async ({ page, operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
47
|
-
// Created here rather than in the shared beforeAll so the quarantined
|
|
48
|
-
// scenario does not submit its connector job while the test is skipped.
|
|
49
|
-
await (0, zeebeClient_1.createInstances)('REST_Connector_No_Auth_Process', 1, 1);
|
|
46
|
+
(0, c8Run_8_9_1.test)('REST Connector No Auth User Flow', async ({ page, operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
50
47
|
await c8Run_8_9_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
|
|
51
48
|
await (0, test_1.expect)(operateHomePage.processesTab).toBeVisible({ timeout: 180000 });
|
|
52
49
|
await operateHomePage.clickProcessesTab();
|
|
@@ -57,8 +54,7 @@ c8Run_8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
57
54
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, operateProcessInstancePage.messageVariable.getByText('"Awesome!"'), 'Message variable text');
|
|
58
55
|
});
|
|
59
56
|
});
|
|
60
|
-
|
|
61
|
-
c8Run_8_9_1.test.skip('REST Connector Basic Auth User Flow', async ({ page, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
57
|
+
(0, c8Run_8_9_1.test)('REST Connector Basic Auth User Flow', async ({ page, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
62
58
|
await c8Run_8_9_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
|
|
63
59
|
await (0, test_1.expect)(operateHomePage.processesTab).toBeVisible({ timeout: 180000 });
|
|
64
60
|
await operateHomePage.clickProcessesTab();
|
|
@@ -69,8 +65,7 @@ c8Run_8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
69
65
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(page, operateProcessInstancePage.messageVariable.getByText('"Awesome!"'), 'Status variable text');
|
|
70
66
|
});
|
|
71
67
|
});
|
|
72
|
-
|
|
73
|
-
c8Run_8_9_1.test.skip('REST Connector Bearer Token Auth User Flow', async ({ operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
68
|
+
(0, c8Run_8_9_1.test)('REST Connector Bearer Token Auth User Flow', async ({ operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
74
69
|
await c8Run_8_9_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
|
|
75
70
|
await (0, test_1.expect)(operateHomePage.processesTab).toBeVisible({ timeout: 180000 });
|
|
76
71
|
await operateHomePage.clickProcessesTab();
|
|
@@ -85,8 +80,7 @@ c8Run_8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
85
80
|
});
|
|
86
81
|
});
|
|
87
82
|
});
|
|
88
|
-
|
|
89
|
-
c8Run_8_9_1.test.skip('Start Event Webhook Connector No Auth User Flow', async ({ page, request, operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
83
|
+
(0, c8Run_8_9_1.test)('Start Event Webhook Connector No Auth User Flow', async ({ page, request, operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
90
84
|
await c8Run_8_9_1.test.step('Make Authorization Request', async () => {
|
|
91
85
|
await (0, apiHelpers_1.waitForInboundWebhookRegistered)('test-webhook-id');
|
|
92
86
|
await (0, test_1.expect)(async () => {
|
|
@@ -104,8 +98,7 @@ c8Run_8_9_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
104
98
|
await operateProcessInstancePage.completedIconAssertion();
|
|
105
99
|
});
|
|
106
100
|
});
|
|
107
|
-
|
|
108
|
-
c8Run_8_9_1.test.skip('Intermediate Event Webhook Connector No Auth User Flow', async ({ request, operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
101
|
+
(0, c8Run_8_9_1.test)('Intermediate Event Webhook Connector No Auth User Flow', async ({ request, operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
109
102
|
await c8Run_8_9_1.test.step('Make Authorization Request', async () => {
|
|
110
103
|
await (0, apiHelpers_1.waitForInboundWebhookRegistered)('test-webhook-intermediate');
|
|
111
104
|
await (0, test_1.expect)(async () => {
|
|
@@ -13,21 +13,15 @@ const authMethods = [
|
|
|
13
13
|
{
|
|
14
14
|
name: 'Basic Auth',
|
|
15
15
|
processId: 'mcp_remote_client_basic_auth',
|
|
16
|
-
// Skipped due to bug #8440: https://github.com/camunda/connectors/issues/8440
|
|
17
|
-
skip: true,
|
|
18
16
|
},
|
|
19
17
|
{
|
|
20
18
|
name: 'Bearer Token',
|
|
21
19
|
processId: 'mcp_remote_client_bearer_auth',
|
|
22
|
-
// Skipped due to bug #8440: https://github.com/camunda/connectors/issues/8440
|
|
23
|
-
skip: true,
|
|
24
20
|
getVariables: () => ({ bearerToken }),
|
|
25
21
|
},
|
|
26
22
|
{
|
|
27
23
|
name: 'OAuth Client Credentials',
|
|
28
24
|
processId: 'mcp_remote_client_oauth_auth',
|
|
29
|
-
// Skipped due to bug #8440: https://github.com/camunda/connectors/issues/8440
|
|
30
|
-
skip: true,
|
|
31
25
|
},
|
|
32
26
|
];
|
|
33
27
|
c8Run_8_9_1.test.beforeAll(async () => {
|
|
@@ -62,9 +56,8 @@ c8Run_8_9_1.test.describe('@tasklistV2 MCP Client connector authentication tests
|
|
|
62
56
|
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
63
57
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
64
58
|
});
|
|
65
|
-
for (const { name, processId, getVariables
|
|
66
|
-
|
|
67
|
-
it(`As a user I can authenticate using ${name} and list tools`, async ({ operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
59
|
+
for (const { name, processId, getVariables } of authMethods) {
|
|
60
|
+
(0, c8Run_8_9_1.test)(`As a user I can authenticate using ${name} and list tools`, async ({ operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
68
61
|
await (0, zeebeClient_1.createInstances)(processId, 1, 1, getVariables?.());
|
|
69
62
|
await (0, sleep_1.sleep)(2000);
|
|
70
63
|
await c8Run_8_9_1.test.step('Navigate to completed process instance', async () => {
|
|
@@ -32,8 +32,7 @@ c8Run_8_9_1.test.describe('@tasklistV2 MCP Client connector tests', () => {
|
|
|
32
32
|
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
33
33
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
34
34
|
});
|
|
35
|
-
|
|
36
|
-
c8Run_8_9_1.test.skip('As an user I can invoke the MCP Client connector and use all its operations', async ({ operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
35
|
+
(0, c8Run_8_9_1.test)('As an user I can invoke the MCP Client connector and use all its operations', async ({ operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
37
36
|
c8Run_8_9_1.test.slow();
|
|
38
37
|
await c8Run_8_9_1.test.step('Navigate to completed process instance', async () => {
|
|
39
38
|
await operateHomePage.clickProcessesTab();
|