@camunda/e2e-test-suite 0.0.699 → 0.0.701
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/tests/SM-8.10/web-modeler-user-flows.spec.js +1 -7
- package/dist/tests/c8Run-8.9/api-tests-v2.spec.js +1 -1
- package/dist/tests/c8Run-8.9/connectors-user-flows.spec.js +2 -0
- package/dist/tests/c8Run-8.9/mcp-connector-authentication.spec.js +1 -0
- package/dist/tests/c8Run-8.9/mcp-user-flows.spec.js +1 -0
- package/dist/utils/apiHelpers.d.ts +1 -0
- package/dist/utils/apiHelpers.js +23 -1
- package/package.json +1 -1
|
@@ -165,13 +165,7 @@ SM_8_10_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
165
165
|
});
|
|
166
166
|
await operateHomePage.clickProcessesTab();
|
|
167
167
|
await operateProcessesPage.clickProcessInstanceLink(processName);
|
|
168
|
-
|
|
169
|
-
// above, but the Operate build shipped by the SM-8.10 chart
|
|
170
|
-
// (camunda/camunda:8.10.0-alpha1) does not yet render a "Business ID" field
|
|
171
|
-
// in the instance header, so asserting it here fails. Re-enable
|
|
172
|
-
// assertBusinessIdVisible(businessId) once the deployed Operate image renders
|
|
173
|
-
// it. Tracked in https://github.com/camunda/c8-cross-component-e2e-tests/issues/2510
|
|
174
|
-
// (SaaS tests/8.10 keeps the assertion — that Operate build already has it.)
|
|
168
|
+
await operateProcessInstancePage.assertBusinessIdVisible(businessId);
|
|
175
169
|
await operateProcessInstancePage.assertProcessVariableContainsText('orderNumber', '"A12BH98"');
|
|
176
170
|
await operateProcessInstancePage.assertProcessVariableContainsText('amount', '185.34');
|
|
177
171
|
});
|
|
@@ -44,7 +44,7 @@ c8Run_8_9_1.test.describe('API tests for V2 @tasklistV2', () => {
|
|
|
44
44
|
await (0, test_1.expect)(async () => {
|
|
45
45
|
const connectorsStatus = await request.get(process.env.C8RUN_CONNECTORS_API_URL_LATEST + '/actuator/health');
|
|
46
46
|
await (0, apiHelpers_1.assertResponseStatus)(connectorsStatus, 200);
|
|
47
|
-
}).toPass(constants_1.defaultAssertionOptions);
|
|
47
|
+
}).toPass({ ...constants_1.defaultAssertionOptions, timeout: 120000 });
|
|
48
48
|
});
|
|
49
49
|
(0, c8Run_8_9_1.test)('Get a inbound connectors list', async ({ request }) => {
|
|
50
50
|
const connectorsInboundList = await request.get(process.env.C8RUN_CONNECTORS_API_URL_LATEST + '/inbound');
|
|
@@ -7,7 +7,9 @@ const zeebeClient_1 = require("../../utils/zeebeClient");
|
|
|
7
7
|
const test_1 = require("@playwright/test");
|
|
8
8
|
const sleep_1 = require("../../utils/sleep");
|
|
9
9
|
const constants_1 = require("../../utils/constants");
|
|
10
|
+
const apiHelpers_1 = require("../../utils/apiHelpers");
|
|
10
11
|
c8Run_8_9_1.test.beforeAll(async () => {
|
|
12
|
+
await (0, apiHelpers_1.waitForConnectorsReady)();
|
|
11
13
|
await Promise.all([
|
|
12
14
|
(0, zeebeClient_1.deploy)('./resources/Basic_Auth_REST_Connector.bpmn'),
|
|
13
15
|
(0, zeebeClient_1.deploy)('./resources/Intermediate_Event_Webhook_Connector_No_Auth_Process.bpmn'),
|
|
@@ -31,6 +31,7 @@ c8Run_8_9_1.test.beforeAll(async () => {
|
|
|
31
31
|
await (0, apiHelpers_1.validateMcpServerHealth)('http://127.0.0.1:12001'); // No auth
|
|
32
32
|
await (0, apiHelpers_1.validateMcpServerHealth)('http://127.0.0.1:12002'); // Basic auth
|
|
33
33
|
await (0, apiHelpers_1.validateMcpServerHealth)('http://127.0.0.1:12004'); // OAuth
|
|
34
|
+
await (0, apiHelpers_1.waitForConnectorsReady)();
|
|
34
35
|
await (0, keycloakHelpers_1.validateKeycloakHealth)();
|
|
35
36
|
bearerToken = await (0, keycloakHelpers_1.getAccessToken)();
|
|
36
37
|
await (0, zeebeClient_1.deploy)([
|
|
@@ -12,6 +12,7 @@ c8Run_8_9_1.test.beforeAll(async () => {
|
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
await (0, apiHelpers_1.validateMcpServerHealth)();
|
|
15
|
+
await (0, apiHelpers_1.waitForConnectorsReady)();
|
|
15
16
|
await (0, zeebeClient_1.deploy)(['./resources/mcp_server/mcp_remote_client_operations.bpmn']);
|
|
16
17
|
await (0, zeebeClient_1.createInstances)('mcp_remote_client', 1, 1);
|
|
17
18
|
await (0, sleep_1.sleep)(2000);
|
|
@@ -14,6 +14,7 @@ export declare function authSaasAPI(audience?: string, clusterType?: string): Pr
|
|
|
14
14
|
export declare function authSmAPI(): Promise<string>;
|
|
15
15
|
export declare function authC8runAPI(name: string, password: string): Promise<void>;
|
|
16
16
|
export declare function validateMcpServerHealth(serverUrl?: string): Promise<APIResponse>;
|
|
17
|
+
export declare function waitForConnectorsReady(baseUrl?: string | undefined, timeoutMs?: number): Promise<void>;
|
|
17
18
|
export declare function deployProcess(filePath: string, authToken?: string, environment?: 'saas' | 'sm', clusterType?: string): Promise<number | null>;
|
|
18
19
|
export declare function createProcessInstance(processDefinitionKey: string, authToken?: string, environment?: 'saas' | 'sm', clusterType?: string, variables?: Record<string, unknown>): Promise<string>;
|
|
19
20
|
export declare function createJsonClusterVariable(authToken?: string, environment?: 'saas' | 'sm', customVariableName?: string, customVariableValue?: string, clusterType?: string): Promise<void>;
|
package/dist/utils/apiHelpers.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.updateCollectionScope = exports.createSingleProcessReport = exports.createDashboard = exports.createCollection = exports.getOptimizeCookieSm = exports.getOptimizeCoockie = exports.createStringClusterVariable = exports.createJsonClusterVariable = exports.createProcessInstance = exports.deployProcess = exports.validateMcpServerHealth = exports.authC8runAPI = exports.authSmAPI = exports.authSaasAPI = exports.authAPI = exports.buildZeebeApiUrl = exports.retryOn500 = exports.sendRequestAndAssertResponse = exports.assertResponseStatus = exports.getApiRequestContext = void 0;
|
|
6
|
+
exports.updateCollectionScope = exports.createSingleProcessReport = exports.createDashboard = exports.createCollection = exports.getOptimizeCookieSm = exports.getOptimizeCoockie = exports.createStringClusterVariable = exports.createJsonClusterVariable = exports.createProcessInstance = exports.deployProcess = exports.waitForConnectorsReady = exports.validateMcpServerHealth = exports.authC8runAPI = exports.authSmAPI = exports.authSaasAPI = exports.authAPI = exports.buildZeebeApiUrl = exports.retryOn500 = exports.sendRequestAndAssertResponse = exports.assertResponseStatus = exports.getApiRequestContext = void 0;
|
|
7
7
|
const test_1 = require("@playwright/test");
|
|
8
8
|
const sleep_1 = require("./sleep");
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
@@ -267,6 +267,28 @@ async function validateMcpServerHealth(serverUrl) {
|
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
exports.validateMcpServerHealth = validateMcpServerHealth;
|
|
270
|
+
// ---- Connectors Runtime Health Check ----
|
|
271
|
+
// Polls the c8Run connectors runtime health endpoint until it reports healthy,
|
|
272
|
+
// so connector jobs (REST, inbound webhook, MCP client) get processed and
|
|
273
|
+
// inbound subscriptions are registered before tests deploy/create instances.
|
|
274
|
+
// Guards against the c8Run startup race where the connectors runtime on :8086
|
|
275
|
+
// comes up later than Zeebe/Operate, leaving process instances stuck "active"
|
|
276
|
+
// and webhook endpoints unregistered.
|
|
277
|
+
async function waitForConnectorsReady(baseUrl = process.env.C8RUN_CONNECTORS_API_URL_LATEST, timeoutMs = 120000) {
|
|
278
|
+
if (!baseUrl) {
|
|
279
|
+
throw new Error('waitForConnectorsReady: missing connectors API URL ' +
|
|
280
|
+
'(C8RUN_CONNECTORS_API_URL_LATEST).');
|
|
281
|
+
}
|
|
282
|
+
const healthEndpoint = `${baseUrl}/actuator/health`;
|
|
283
|
+
apiRequestContext = await getApiRequestContext();
|
|
284
|
+
await (0, test_1.expect)(async () => {
|
|
285
|
+
const response = await apiRequestContext.get(healthEndpoint, {
|
|
286
|
+
timeout: 10000,
|
|
287
|
+
});
|
|
288
|
+
(0, test_1.expect)(response.status()).toBe(200);
|
|
289
|
+
}).toPass({ intervals: [5000, 10000, 15000], timeout: timeoutMs });
|
|
290
|
+
}
|
|
291
|
+
exports.waitForConnectorsReady = waitForConnectorsReady;
|
|
270
292
|
// ---- Zeebe: API helpers ----
|
|
271
293
|
async function deployProcess(filePath, authToken, environment, clusterType) {
|
|
272
294
|
try {
|