@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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.580",
3
+ "version": "0.0.581",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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>