@camunda/e2e-test-suite 0.0.541 → 0.0.543
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/SM-8.10/PlayPage.js +1 -1
- package/dist/tests/8.10/aws-connectors-user-flows.spec.js +24 -0
- package/dist/tests/8.10/test-setup.spec.js +1 -0
- package/dist/tests/SM-8.10/web-modeler-user-flows.spec.js +3 -0
- package/dist/utils/apiHelpers.js +20 -6
- package/dist/utils/connectorSecrets.d.ts +8 -0
- package/dist/utils/connectorSecrets.js +24 -1
- package/package.json +1 -1
- package/resources/connectors/aws/bedrock-agentcore-ltm.bpmn +73 -0
|
@@ -78,7 +78,7 @@ class PlayPage {
|
|
|
78
78
|
await this.startInstanceButton
|
|
79
79
|
.or(this.startInstanceWithCachedButton)
|
|
80
80
|
.first()
|
|
81
|
-
.click({ timeout:
|
|
81
|
+
.click({ timeout: 60000 });
|
|
82
82
|
await (0, test_1.expect)(this.loadingInstanceDetailsText).toBeVisible();
|
|
83
83
|
await (0, test_1.expect)(this.loadingInstanceDetailsText).not.toBeVisible({
|
|
84
84
|
timeout: 60000,
|
|
@@ -25,6 +25,30 @@ _8_10_1.test.describe('AWS Connectors User Flows', () => {
|
|
|
25
25
|
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
26
26
|
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
27
27
|
});
|
|
28
|
+
(0, _8_10_1.test)('AWS Bedrock AgentCore LTM - Retrieve memory records', async ({ operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
29
|
+
_8_10_1.test.slow();
|
|
30
|
+
const processKey = await (0, apiHelpers_1.deployProcess)('./resources/connectors/aws/bedrock-agentcore-ltm.bpmn', authToken);
|
|
31
|
+
if (processKey == null) {
|
|
32
|
+
throw new Error('Failed to deploy AgentCore LTM process');
|
|
33
|
+
}
|
|
34
|
+
const instanceKey = await (0, apiHelpers_1.createProcessInstance)(String(processKey), authToken);
|
|
35
|
+
await _8_10_1.test.step('Process completes and connector returns a well-formed AgentCore LTM response', async () => {
|
|
36
|
+
await (0, sleep_1.sleep)(15000);
|
|
37
|
+
await operateHomePage.clickProcessesTab();
|
|
38
|
+
await operateProcessesPage.clickProcessCompletedCheckbox();
|
|
39
|
+
await operateProcessesPage.applyMoreFilters('Process Instance Key(s)', String(instanceKey));
|
|
40
|
+
await operateProcessesPage.clickProcessInstanceLink('AWS Bedrock AgentCore LTM');
|
|
41
|
+
await operateProcessInstancePage.assertProcessCompleteStatusWithRetry();
|
|
42
|
+
// Assert the mapped memoryRecords variable is present (proves result
|
|
43
|
+
// expression was evaluated, even when the memory namespace is empty)
|
|
44
|
+
await (0, test_1.expect)(operateProcessInstancePage.connectorResultVariableName('memoryRecords')).toBeVisible({ timeout: 30000 });
|
|
45
|
+
// Assert the raw agentcoreResult contains the expected response envelope
|
|
46
|
+
// fields (resultCount, nextToken) — these are always present regardless
|
|
47
|
+
// of whether the memory namespace has any records seeded
|
|
48
|
+
await operateProcessInstancePage.assertProcessVariableContainsText('agentcoreResult', 'resultCount');
|
|
49
|
+
await operateProcessInstancePage.assertProcessVariableContainsText('agentcoreResult', 'nextToken');
|
|
50
|
+
});
|
|
51
|
+
});
|
|
28
52
|
(0, _8_10_1.test)('AWS Bedrock Knowledge Base - Retrieve relevant chunks from knowledge base', async ({ operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
29
53
|
_8_10_1.test.slow();
|
|
30
54
|
const processKey = await (0, apiHelpers_1.deployProcess)('./resources/connectors/aws/bedrock-knowledge-base.bpmn', authToken);
|
|
@@ -43,6 +43,7 @@ _8_10_1.test.describe('Cluster Setup Tests', () => {
|
|
|
43
43
|
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.connectorSecretsValues);
|
|
44
44
|
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.bedrockKbSecretsValues);
|
|
45
45
|
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.agentcoreSecretsValues);
|
|
46
|
+
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.agentcoreLtmSecretsValues);
|
|
46
47
|
}
|
|
47
48
|
});
|
|
48
49
|
(0, _8_10_1.test)('Create Agentic Orchestration Cluster', async ({ page, loginPage, homePage, clusterPage, clusterDetailsPage, clusterSecretsPage, }, testInfo) => {
|
|
@@ -100,6 +100,9 @@ SM_8_10_1.test.describe('Web Modeler User Flow Tests', () => {
|
|
|
100
100
|
});
|
|
101
101
|
});
|
|
102
102
|
(0, SM_8_10_1.test)('Timer Event User Flow @tasklistV2', async ({ modelerHomePage, modelerCreatePage, operateHomePage, operateProcessInstancePage, operateProcessesPage, navigationPage, }) => {
|
|
103
|
+
// Timer waits 60 s before completing; combined with goToOperate retries
|
|
104
|
+
// (5 × ~3 min) this regularly exceeds the default 12-min test timeout.
|
|
105
|
+
SM_8_10_1.test.slow();
|
|
103
106
|
const processName = 'Timer_Event_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
|
|
104
107
|
await SM_8_10_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
|
|
105
108
|
await modelerHomePage.clickCrossComponentProjectFolder();
|
package/dist/utils/apiHelpers.js
CHANGED
|
@@ -297,12 +297,26 @@ async function createProcessInstance(processDefinitionKey, authToken, environmen
|
|
|
297
297
|
if (isMT) {
|
|
298
298
|
data.tenantId = '<default>';
|
|
299
299
|
}
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
300
|
+
// Retry on 400 (process definition not yet visible in Zeebe after deploy)
|
|
301
|
+
const maxAttempts = 5;
|
|
302
|
+
const retryDelayMs = 5000;
|
|
303
|
+
let response;
|
|
304
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
305
|
+
response = await apiRequestContext.post(url, {
|
|
306
|
+
headers: {
|
|
307
|
+
Authorization: authToken ?? '',
|
|
308
|
+
},
|
|
309
|
+
data,
|
|
310
|
+
});
|
|
311
|
+
if (response.status() === 200)
|
|
312
|
+
break;
|
|
313
|
+
if (response.status() === 400 && attempt < maxAttempts) {
|
|
314
|
+
console.warn(`createProcessInstance: got 400 for key ${processDefinitionKey}, attempt ${attempt}/${maxAttempts}, retrying in ${retryDelayMs}ms`);
|
|
315
|
+
await (0, sleep_1.sleep)(retryDelayMs);
|
|
316
|
+
continue;
|
|
317
|
+
}
|
|
318
|
+
break;
|
|
319
|
+
}
|
|
306
320
|
(0, test_1.expect)(response.status()).toBe(200);
|
|
307
321
|
const responseBody = await response.json();
|
|
308
322
|
const processInstanceKey = responseBody?.processInstanceKey;
|
|
@@ -22,6 +22,10 @@ export declare const agentcoreSecretsValues: {
|
|
|
22
22
|
name: string;
|
|
23
23
|
value: string;
|
|
24
24
|
}[];
|
|
25
|
+
export declare const agentcoreLtmSecretsValues: {
|
|
26
|
+
name: string;
|
|
27
|
+
value: string;
|
|
28
|
+
}[];
|
|
25
29
|
export declare const connectorSecretsValues: {
|
|
26
30
|
name: string;
|
|
27
31
|
value: string;
|
|
@@ -39,6 +43,10 @@ export declare const allConnectorSecrets: {
|
|
|
39
43
|
name: string;
|
|
40
44
|
value: string;
|
|
41
45
|
}[];
|
|
46
|
+
AgentCoreLTM: {
|
|
47
|
+
name: string;
|
|
48
|
+
value: string;
|
|
49
|
+
}[];
|
|
42
50
|
GCP: {
|
|
43
51
|
name: string;
|
|
44
52
|
value: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.allConnectorSecrets = exports.connectorSecretsValues = exports.agentcoreSecretsValues = exports.bedrockKbSecretsValues = exports.azureSecretsValues = exports.gcpSecretsValues = exports.openAiSecretsValues = exports.awsSecretsValues = void 0;
|
|
3
|
+
exports.allConnectorSecrets = exports.connectorSecretsValues = exports.agentcoreLtmSecretsValues = exports.agentcoreSecretsValues = exports.bedrockKbSecretsValues = exports.azureSecretsValues = exports.gcpSecretsValues = exports.openAiSecretsValues = exports.awsSecretsValues = void 0;
|
|
4
4
|
exports.awsSecretsValues = [
|
|
5
5
|
{ name: 'IDP_AWS_REGION', value: process.env.IDP_AWS_REGION },
|
|
6
6
|
{ name: 'IDP_AWS_BUCKET_NAME', value: process.env.IDP_AWS_BUCKET_NAME },
|
|
@@ -157,6 +157,28 @@ exports.agentcoreSecretsValues = [
|
|
|
157
157
|
value: process.env.AGENTCORE_AGENT_RUNTIME_ARN,
|
|
158
158
|
},
|
|
159
159
|
];
|
|
160
|
+
exports.agentcoreLtmSecretsValues = [
|
|
161
|
+
{
|
|
162
|
+
name: 'AGENTCORE_LTM_AWS_ACCESS_KEY',
|
|
163
|
+
value: process.env.AGENTCORE_LTM_AWS_ACCESS_KEY,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: 'AGENTCORE_LTM_AWS_SECRET_KEY',
|
|
167
|
+
value: process.env.AGENTCORE_LTM_AWS_SECRET_KEY,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: 'AGENTCORE_LTM_AWS_REGION',
|
|
171
|
+
value: process.env.AGENTCORE_LTM_AWS_REGION,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
name: 'AGENTCORE_LTM_MEMORY_ID',
|
|
175
|
+
value: process.env.AGENTCORE_LTM_MEMORY_ID,
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
name: 'AGENTCORE_LTM_NAMESPACE',
|
|
179
|
+
value: process.env.AGENTCORE_LTM_NAMESPACE,
|
|
180
|
+
},
|
|
181
|
+
];
|
|
160
182
|
exports.connectorSecretsValues = [
|
|
161
183
|
{
|
|
162
184
|
name: 'endpoint_url',
|
|
@@ -169,6 +191,7 @@ exports.allConnectorSecrets = {
|
|
|
169
191
|
AWS: exports.awsSecretsValues,
|
|
170
192
|
BedrockKB: exports.bedrockKbSecretsValues,
|
|
171
193
|
AgentCore: exports.agentcoreSecretsValues,
|
|
194
|
+
AgentCoreLTM: exports.agentcoreLtmSecretsValues,
|
|
172
195
|
GCP: exports.gcpSecretsValues,
|
|
173
196
|
Azure: [...exports.azureSecretsValues, ...exports.openAiSecretsValues],
|
|
174
197
|
Connectors: exports.connectorSecretsValues,
|
package/package.json
CHANGED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
|
|
3
|
+
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
|
|
4
|
+
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
|
|
5
|
+
xmlns:zeebe="http://camunda.org/schema/zeebe/1.0"
|
|
6
|
+
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
|
|
7
|
+
xmlns:modeler="http://camunda.org/schema/modeler/1.0"
|
|
8
|
+
id="Definitions_1"
|
|
9
|
+
targetNamespace="http://bpmn.io/schema/bpmn"
|
|
10
|
+
exporter="Camunda Web Modeler"
|
|
11
|
+
exporterVersion="1.0.0"
|
|
12
|
+
modeler:executionPlatform="Camunda Cloud"
|
|
13
|
+
modeler:executionPlatformVersion="8.10.0">
|
|
14
|
+
<bpmn:process id="aws_bedrock_agentcore_ltm" name="AWS Bedrock AgentCore LTM" isExecutable="true">
|
|
15
|
+
<bpmn:startEvent id="StartEvent_1">
|
|
16
|
+
<bpmn:outgoing>Flow_1</bpmn:outgoing>
|
|
17
|
+
</bpmn:startEvent>
|
|
18
|
+
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="AgentCoreMemoryTask" />
|
|
19
|
+
<bpmn:serviceTask id="AgentCoreMemoryTask" name="Retrieve Memory Records"
|
|
20
|
+
zeebe:modelerTemplate="io.camunda.connectors.aws.bedrock.agentcore.memory.longterm.v1"
|
|
21
|
+
zeebe:modelerTemplateVersion="1">
|
|
22
|
+
<bpmn:extensionElements>
|
|
23
|
+
<zeebe:taskDefinition type="io.camunda:aws-bedrock-agentcore-lt-memory:1" retries="3" />
|
|
24
|
+
<zeebe:ioMapping>
|
|
25
|
+
<zeebe:input source="credentials" target="authentication.type" />
|
|
26
|
+
<zeebe:input source="{{secrets.AGENTCORE_LTM_AWS_ACCESS_KEY}}" target="authentication.accessKey" />
|
|
27
|
+
<zeebe:input source="{{secrets.AGENTCORE_LTM_AWS_SECRET_KEY}}" target="authentication.secretKey" />
|
|
28
|
+
<zeebe:input source="{{secrets.AGENTCORE_LTM_AWS_REGION}}" target="configuration.region" />
|
|
29
|
+
<zeebe:input source="{{secrets.AGENTCORE_LTM_MEMORY_ID}}" target="memoryId" />
|
|
30
|
+
<zeebe:input source="{{secrets.AGENTCORE_LTM_NAMESPACE}}" target="namespace" />
|
|
31
|
+
<zeebe:input source="retrieve" target="operation.operationDiscriminator" />
|
|
32
|
+
<zeebe:input source="What do you remember about me?" target="operation.query" />
|
|
33
|
+
<zeebe:input source="5" target="operation.maxResults" />
|
|
34
|
+
</zeebe:ioMapping>
|
|
35
|
+
<zeebe:taskHeaders>
|
|
36
|
+
<zeebe:header key="elementTemplateVersion" value="1" />
|
|
37
|
+
<zeebe:header key="elementTemplateId" value="io.camunda.connectors.aws.bedrock.agentcore.memory.longterm.v1" />
|
|
38
|
+
<zeebe:header key="resultVariable" value="agentcoreResult" />
|
|
39
|
+
<zeebe:header key="resultExpression" value="={memoryRecords: records}" />
|
|
40
|
+
<zeebe:header key="retryBackoff" value="PT0S" />
|
|
41
|
+
</zeebe:taskHeaders>
|
|
42
|
+
</bpmn:extensionElements>
|
|
43
|
+
<bpmn:incoming>Flow_1</bpmn:incoming>
|
|
44
|
+
<bpmn:outgoing>Flow_2</bpmn:outgoing>
|
|
45
|
+
</bpmn:serviceTask>
|
|
46
|
+
<bpmn:sequenceFlow id="Flow_2" sourceRef="AgentCoreMemoryTask" targetRef="EndEvent_1" />
|
|
47
|
+
<bpmn:endEvent id="EndEvent_1">
|
|
48
|
+
<bpmn:incoming>Flow_2</bpmn:incoming>
|
|
49
|
+
</bpmn:endEvent>
|
|
50
|
+
</bpmn:process>
|
|
51
|
+
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
|
52
|
+
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="aws_bedrock_agentcore_ltm">
|
|
53
|
+
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
|
|
54
|
+
<dc:Bounds x="152" y="82" width="36" height="36" />
|
|
55
|
+
</bpmndi:BPMNShape>
|
|
56
|
+
<bpmndi:BPMNShape id="AgentCoreMemoryTask_di" bpmnElement="AgentCoreMemoryTask">
|
|
57
|
+
<dc:Bounds x="240" y="60" width="100" height="80" />
|
|
58
|
+
<bpmndi:BPMNLabel />
|
|
59
|
+
</bpmndi:BPMNShape>
|
|
60
|
+
<bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="EndEvent_1">
|
|
61
|
+
<dc:Bounds x="392" y="82" width="36" height="36" />
|
|
62
|
+
</bpmndi:BPMNShape>
|
|
63
|
+
<bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1">
|
|
64
|
+
<di:waypoint x="188" y="100" />
|
|
65
|
+
<di:waypoint x="240" y="100" />
|
|
66
|
+
</bpmndi:BPMNEdge>
|
|
67
|
+
<bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2">
|
|
68
|
+
<di:waypoint x="340" y="100" />
|
|
69
|
+
<di:waypoint x="392" y="100" />
|
|
70
|
+
</bpmndi:BPMNEdge>
|
|
71
|
+
</bpmndi:BPMNPlane>
|
|
72
|
+
</bpmndi:BPMNDiagram>
|
|
73
|
+
</bpmn:definitions>
|