@camunda/e2e-test-suite 0.0.580 → 0.0.581
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/resources/connectors/aws/agentcore-code-interpreter.bpmn +70 -0
- package/dist/tests/8.10/aws-connectors-user-flows.spec.js +65 -0
- package/dist/tests/8.10/test-setup.spec.js +1 -0
- package/dist/utils/connectorSecrets.d.ts +8 -0
- package/dist/utils/connectorSecrets.js +16 -1
- package/package.json +1 -1
- package/resources/connectors/aws/agentcore-code-interpreter.bpmn +70 -0
|
@@ -0,0 +1,70 @@
|
|
|
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_agentcore_code_interpreter" name="AWS AgentCore Code Interpreter" 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="CodeInterpreterTask" />
|
|
19
|
+
<bpmn:serviceTask id="CodeInterpreterTask" name="Execute Python Code"
|
|
20
|
+
zeebe:modelerTemplate="io.camunda.connectors.aws.bedrock.codeinterpreter.v1"
|
|
21
|
+
zeebe:modelerTemplateVersion="1">
|
|
22
|
+
<bpmn:extensionElements>
|
|
23
|
+
<zeebe:taskDefinition type="io.camunda:aws-bedrock-codeinterpreter:1" retries="3" />
|
|
24
|
+
<zeebe:ioMapping>
|
|
25
|
+
<zeebe:input source="credentials" target="authentication.type" />
|
|
26
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_ACCESS_KEY}}" target="authentication.accessKey" />
|
|
27
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_SECRET_KEY}}" target="authentication.secretKey" />
|
|
28
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_REGION}}" target="configuration.region" />
|
|
29
|
+
<zeebe:input source="python" target="input.language" />
|
|
30
|
+
<zeebe:input source="print('Hello from AgentCore Code Interpreter!')" target="input.code" />
|
|
31
|
+
</zeebe:ioMapping>
|
|
32
|
+
<zeebe:taskHeaders>
|
|
33
|
+
<zeebe:header key="elementTemplateVersion" value="1" />
|
|
34
|
+
<zeebe:header key="elementTemplateId" value="io.camunda.connectors.aws.bedrock.codeinterpreter.v1" />
|
|
35
|
+
<zeebe:header key="resultVariable" value="codeInterpreterResult" />
|
|
36
|
+
<zeebe:header key="resultExpression" value="={stdout: stdout, exitCode: exitCode}" />
|
|
37
|
+
<zeebe:header key="retryBackoff" value="PT0S" />
|
|
38
|
+
</zeebe:taskHeaders>
|
|
39
|
+
</bpmn:extensionElements>
|
|
40
|
+
<bpmn:incoming>Flow_1</bpmn:incoming>
|
|
41
|
+
<bpmn:outgoing>Flow_2</bpmn:outgoing>
|
|
42
|
+
</bpmn:serviceTask>
|
|
43
|
+
<bpmn:sequenceFlow id="Flow_2" sourceRef="CodeInterpreterTask" targetRef="EndEvent_1" />
|
|
44
|
+
<bpmn:endEvent id="EndEvent_1">
|
|
45
|
+
<bpmn:incoming>Flow_2</bpmn:incoming>
|
|
46
|
+
</bpmn:endEvent>
|
|
47
|
+
</bpmn:process>
|
|
48
|
+
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
|
49
|
+
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="aws_agentcore_code_interpreter">
|
|
50
|
+
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
|
|
51
|
+
<dc:Bounds x="152" y="82" width="36" height="36" />
|
|
52
|
+
</bpmndi:BPMNShape>
|
|
53
|
+
<bpmndi:BPMNShape id="CodeInterpreterTask_di" bpmnElement="CodeInterpreterTask">
|
|
54
|
+
<dc:Bounds x="240" y="60" width="100" height="80" />
|
|
55
|
+
<bpmndi:BPMNLabel />
|
|
56
|
+
</bpmndi:BPMNShape>
|
|
57
|
+
<bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="EndEvent_1">
|
|
58
|
+
<dc:Bounds x="392" y="82" width="36" height="36" />
|
|
59
|
+
</bpmndi:BPMNShape>
|
|
60
|
+
<bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1">
|
|
61
|
+
<di:waypoint x="188" y="100" />
|
|
62
|
+
<di:waypoint x="240" y="100" />
|
|
63
|
+
</bpmndi:BPMNEdge>
|
|
64
|
+
<bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2">
|
|
65
|
+
<di:waypoint x="340" y="100" />
|
|
66
|
+
<di:waypoint x="392" y="100" />
|
|
67
|
+
</bpmndi:BPMNEdge>
|
|
68
|
+
</bpmndi:BPMNPlane>
|
|
69
|
+
</bpmndi:BPMNDiagram>
|
|
70
|
+
</bpmn:definitions>
|
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* AWS Connectors User Flows
|
|
5
|
+
*
|
|
6
|
+
* Happy-path E2E tests for AWS Bedrock connector integrations running on the
|
|
7
|
+
* Test Cluster (SaaS). Each test deploys a BPMN process, starts an instance,
|
|
8
|
+
* and asserts that the connector completed successfully via Operate.
|
|
9
|
+
*
|
|
10
|
+
* ## AWS IAM Requirements
|
|
11
|
+
*
|
|
12
|
+
* The IAM user configured via `BEDROCK_CI_AWS_ACCESS_KEY` /
|
|
13
|
+
* `BEDROCK_CI_AWS_SECRET_KEY` must have the following policies. Missing
|
|
14
|
+
* actions surface as connector incidents with `AccessDeniedException` in the
|
|
15
|
+
* Operate variables panel.
|
|
16
|
+
*
|
|
17
|
+
* ### AgentCore Code Interpreter (`io.camunda:aws-bedrock-codeinterpreter:1`)
|
|
18
|
+
* ```json
|
|
19
|
+
* {
|
|
20
|
+
* "Action": [
|
|
21
|
+
* "bedrock-agentcore:StartCodeInterpreterSession",
|
|
22
|
+
* "bedrock-agentcore:InvokeCodeInterpreter",
|
|
23
|
+
* "bedrock-agentcore:StopCodeInterpreterSession"
|
|
24
|
+
* ],
|
|
25
|
+
* "Resource": "*"
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
* NOTE: `CreateCodeInterpreterSession` and `ExecuteCode` are NOT valid IAM
|
|
29
|
+
* actions — AWS will reject the policy if they are included.
|
|
30
|
+
*
|
|
31
|
+
* ### AgentCore Runtime (`io.camunda:aws-bedrock-agentcore-runtime:1`)
|
|
32
|
+
* Requires IAM access to the specific agent runtime ARN set via
|
|
33
|
+
* `AGENTCORE_AGENT_RUNTIME_ARN`.
|
|
34
|
+
*
|
|
35
|
+
* ### AgentCore Long-Term Memory (`io.camunda:aws-bedrock-agentcore-lt-memory:1`)
|
|
36
|
+
* Requires IAM access to the memory resource ARN set via
|
|
37
|
+
* `AGENTCORE_LTM_MEMORY_ID`.
|
|
38
|
+
*
|
|
39
|
+
* ### Bedrock Knowledge Base (`io.camunda:aws-bedrock-knowledgebase:1`)
|
|
40
|
+
* Requires `bedrock:Retrieve` on the knowledge base ARN set via
|
|
41
|
+
* `BEDROCK_KB_KNOWLEDGE_BASE_ID`.
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
3
44
|
const test_1 = require("@playwright/test");
|
|
4
45
|
const _8_10_1 = require("../../fixtures/8.10");
|
|
5
46
|
const UtilitiesPage_1 = require("../../pages/8.10/UtilitiesPage");
|
|
@@ -86,4 +127,28 @@ _8_10_1.test.describe('AWS Connectors User Flows', () => {
|
|
|
86
127
|
await (0, test_1.expect)(operateProcessInstancePage.connectorResultVariableName('agentResponse')).toBeVisible({ timeout: 30000 });
|
|
87
128
|
});
|
|
88
129
|
});
|
|
130
|
+
// IAM: bedrock-agentcore:StartCodeInterpreterSession,
|
|
131
|
+
// bedrock-agentcore:InvokeCodeInterpreter,
|
|
132
|
+
// bedrock-agentcore:StopCodeInterpreterSession on Resource: *
|
|
133
|
+
(0, _8_10_1.test)('AWS AgentCore Code Interpreter - Execute Python code and receive stdout', async ({ operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
134
|
+
_8_10_1.test.slow();
|
|
135
|
+
const processKey = await (0, apiHelpers_1.deployProcess)('./resources/connectors/aws/agentcore-code-interpreter.bpmn', authToken);
|
|
136
|
+
if (processKey == null) {
|
|
137
|
+
throw new Error('Failed to deploy AgentCore Code Interpreter process');
|
|
138
|
+
}
|
|
139
|
+
const instanceKey = await (0, apiHelpers_1.createProcessInstance)(String(processKey), authToken);
|
|
140
|
+
await _8_10_1.test.step('Process completes and stdout output variable is present', async () => {
|
|
141
|
+
await (0, sleep_1.sleep)(15000);
|
|
142
|
+
await operateHomePage.clickProcessesTab();
|
|
143
|
+
await operateProcessesPage.clickProcessCompletedCheckbox();
|
|
144
|
+
await operateProcessesPage.applyMoreFilters('Process Instance Key(s)', String(instanceKey));
|
|
145
|
+
await operateProcessesPage.clickProcessInstanceLink('AWS AgentCore Code Interpreter');
|
|
146
|
+
await operateProcessInstancePage.assertProcessCompleteStatusWithRetry();
|
|
147
|
+
await (0, test_1.expect)(operateProcessInstancePage.connectorResultVariableName('stdout')).toBeVisible({ timeout: 30000 });
|
|
148
|
+
// Confirms the Python code executed end-to-end inside AWS AgentCore and
|
|
149
|
+
// the result expression `={stdout: stdout, exitCode: exitCode}` was
|
|
150
|
+
// evaluated — stdout is the key observable for this connector.
|
|
151
|
+
await operateProcessInstancePage.assertProcessVariableContainsText('stdout', 'Hello from AgentCore Code Interpreter!');
|
|
152
|
+
});
|
|
153
|
+
});
|
|
89
154
|
});
|
|
@@ -44,6 +44,7 @@ _8_10_1.test.describe('Cluster Setup Tests', () => {
|
|
|
44
44
|
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.bedrockKbSecretsValues);
|
|
45
45
|
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.agentcoreSecretsValues);
|
|
46
46
|
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.agentcoreLtmSecretsValues);
|
|
47
|
+
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.bedrockCodeInterpreterSecretsValues);
|
|
47
48
|
}
|
|
48
49
|
});
|
|
49
50
|
(0, _8_10_1.test)('Create Agentic Orchestration Cluster', async ({ page, loginPage, homePage, clusterPage, clusterDetailsPage, clusterSecretsPage, }, testInfo) => {
|
|
@@ -26,6 +26,10 @@ export declare const agentcoreLtmSecretsValues: {
|
|
|
26
26
|
name: string;
|
|
27
27
|
value: string;
|
|
28
28
|
}[];
|
|
29
|
+
export declare const bedrockCodeInterpreterSecretsValues: {
|
|
30
|
+
name: string;
|
|
31
|
+
value: string;
|
|
32
|
+
}[];
|
|
29
33
|
export declare const connectorSecretsValues: {
|
|
30
34
|
name: string;
|
|
31
35
|
value: string;
|
|
@@ -47,6 +51,10 @@ export declare const allConnectorSecrets: {
|
|
|
47
51
|
name: string;
|
|
48
52
|
value: string;
|
|
49
53
|
}[];
|
|
54
|
+
BedrockCodeInterpreter: {
|
|
55
|
+
name: string;
|
|
56
|
+
value: string;
|
|
57
|
+
}[];
|
|
50
58
|
GCP: {
|
|
51
59
|
name: string;
|
|
52
60
|
value: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.allConnectorSecrets = exports.connectorSecretsValues = exports.agentcoreLtmSecretsValues = exports.agentcoreSecretsValues = exports.bedrockKbSecretsValues = exports.azureSecretsValues = exports.gcpSecretsValues = exports.openAiSecretsValues = exports.awsSecretsValues = void 0;
|
|
3
|
+
exports.allConnectorSecrets = exports.connectorSecretsValues = exports.bedrockCodeInterpreterSecretsValues = 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 },
|
|
@@ -179,6 +179,20 @@ exports.agentcoreLtmSecretsValues = [
|
|
|
179
179
|
value: process.env.AGENTCORE_LTM_NAMESPACE,
|
|
180
180
|
},
|
|
181
181
|
];
|
|
182
|
+
exports.bedrockCodeInterpreterSecretsValues = [
|
|
183
|
+
{
|
|
184
|
+
name: 'BEDROCK_CI_AWS_ACCESS_KEY',
|
|
185
|
+
value: process.env.BEDROCK_CI_AWS_ACCESS_KEY,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'BEDROCK_CI_AWS_SECRET_KEY',
|
|
189
|
+
value: process.env.BEDROCK_CI_AWS_SECRET_KEY,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
name: 'BEDROCK_CI_AWS_REGION',
|
|
193
|
+
value: process.env.BEDROCK_CI_AWS_REGION,
|
|
194
|
+
},
|
|
195
|
+
];
|
|
182
196
|
exports.connectorSecretsValues = [
|
|
183
197
|
{
|
|
184
198
|
name: 'endpoint_url',
|
|
@@ -192,6 +206,7 @@ exports.allConnectorSecrets = {
|
|
|
192
206
|
BedrockKB: exports.bedrockKbSecretsValues,
|
|
193
207
|
AgentCore: exports.agentcoreSecretsValues,
|
|
194
208
|
AgentCoreLTM: exports.agentcoreLtmSecretsValues,
|
|
209
|
+
BedrockCodeInterpreter: exports.bedrockCodeInterpreterSecretsValues,
|
|
195
210
|
GCP: exports.gcpSecretsValues,
|
|
196
211
|
Azure: [...exports.azureSecretsValues, ...exports.openAiSecretsValues],
|
|
197
212
|
Connectors: exports.connectorSecretsValues,
|
package/package.json
CHANGED
|
@@ -0,0 +1,70 @@
|
|
|
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_agentcore_code_interpreter" name="AWS AgentCore Code Interpreter" 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="CodeInterpreterTask" />
|
|
19
|
+
<bpmn:serviceTask id="CodeInterpreterTask" name="Execute Python Code"
|
|
20
|
+
zeebe:modelerTemplate="io.camunda.connectors.aws.bedrock.codeinterpreter.v1"
|
|
21
|
+
zeebe:modelerTemplateVersion="1">
|
|
22
|
+
<bpmn:extensionElements>
|
|
23
|
+
<zeebe:taskDefinition type="io.camunda:aws-bedrock-codeinterpreter:1" retries="3" />
|
|
24
|
+
<zeebe:ioMapping>
|
|
25
|
+
<zeebe:input source="credentials" target="authentication.type" />
|
|
26
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_ACCESS_KEY}}" target="authentication.accessKey" />
|
|
27
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_SECRET_KEY}}" target="authentication.secretKey" />
|
|
28
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_REGION}}" target="configuration.region" />
|
|
29
|
+
<zeebe:input source="python" target="input.language" />
|
|
30
|
+
<zeebe:input source="print('Hello from AgentCore Code Interpreter!')" target="input.code" />
|
|
31
|
+
</zeebe:ioMapping>
|
|
32
|
+
<zeebe:taskHeaders>
|
|
33
|
+
<zeebe:header key="elementTemplateVersion" value="1" />
|
|
34
|
+
<zeebe:header key="elementTemplateId" value="io.camunda.connectors.aws.bedrock.codeinterpreter.v1" />
|
|
35
|
+
<zeebe:header key="resultVariable" value="codeInterpreterResult" />
|
|
36
|
+
<zeebe:header key="resultExpression" value="={stdout: stdout, exitCode: exitCode}" />
|
|
37
|
+
<zeebe:header key="retryBackoff" value="PT0S" />
|
|
38
|
+
</zeebe:taskHeaders>
|
|
39
|
+
</bpmn:extensionElements>
|
|
40
|
+
<bpmn:incoming>Flow_1</bpmn:incoming>
|
|
41
|
+
<bpmn:outgoing>Flow_2</bpmn:outgoing>
|
|
42
|
+
</bpmn:serviceTask>
|
|
43
|
+
<bpmn:sequenceFlow id="Flow_2" sourceRef="CodeInterpreterTask" targetRef="EndEvent_1" />
|
|
44
|
+
<bpmn:endEvent id="EndEvent_1">
|
|
45
|
+
<bpmn:incoming>Flow_2</bpmn:incoming>
|
|
46
|
+
</bpmn:endEvent>
|
|
47
|
+
</bpmn:process>
|
|
48
|
+
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
|
49
|
+
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="aws_agentcore_code_interpreter">
|
|
50
|
+
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
|
|
51
|
+
<dc:Bounds x="152" y="82" width="36" height="36" />
|
|
52
|
+
</bpmndi:BPMNShape>
|
|
53
|
+
<bpmndi:BPMNShape id="CodeInterpreterTask_di" bpmnElement="CodeInterpreterTask">
|
|
54
|
+
<dc:Bounds x="240" y="60" width="100" height="80" />
|
|
55
|
+
<bpmndi:BPMNLabel />
|
|
56
|
+
</bpmndi:BPMNShape>
|
|
57
|
+
<bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="EndEvent_1">
|
|
58
|
+
<dc:Bounds x="392" y="82" width="36" height="36" />
|
|
59
|
+
</bpmndi:BPMNShape>
|
|
60
|
+
<bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1">
|
|
61
|
+
<di:waypoint x="188" y="100" />
|
|
62
|
+
<di:waypoint x="240" y="100" />
|
|
63
|
+
</bpmndi:BPMNEdge>
|
|
64
|
+
<bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2">
|
|
65
|
+
<di:waypoint x="340" y="100" />
|
|
66
|
+
<di:waypoint x="392" y="100" />
|
|
67
|
+
</bpmndi:BPMNEdge>
|
|
68
|
+
</bpmndi:BPMNPlane>
|
|
69
|
+
</bpmndi:BPMNDiagram>
|
|
70
|
+
</bpmn:definitions>
|