@camunda/e2e-test-suite 0.0.1051 → 0.0.1053
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.d.ts +3 -0
- package/dist/pages/8.10/ClusterDetailsPage.js +54 -18
- package/dist/pages/8.10/ProcessApplicationPage.js +25 -2
- package/dist/pages/SM-8.10/ModelerCreatePage.d.ts +2 -0
- package/dist/pages/SM-8.10/ModelerCreatePage.js +30 -1
- package/dist/pages/SM-8.10/UtilitiesPage.js +2 -2
- package/dist/resources/SM-8.10/SM_Document_Handling_Connectors_User_Flow.bpmn +6 -6
- package/dist/tests/8.10/connectors-user-flows.spec.js +30 -9
- package/package.json +1 -1
- package/resources/SM-8.10/SM_Document_Handling_Connectors_User_Flow.bpmn +6 -6
|
@@ -3,6 +3,7 @@ import { McpCredentials } from '../../utils/mcpSecrets';
|
|
|
3
3
|
import { ClientCredentialsDetailsPage } from './ClientCredentialsDetailsPage';
|
|
4
4
|
declare class ClusterDetailsPage {
|
|
5
5
|
private page;
|
|
6
|
+
private pendingClientScopeCheck;
|
|
6
7
|
readonly apiTab: Locator;
|
|
7
8
|
readonly createFirstClientButton: Locator;
|
|
8
9
|
readonly clientNameTextbox: Locator;
|
|
@@ -62,6 +63,8 @@ declare class ClusterDetailsPage {
|
|
|
62
63
|
clickOptimizeCheckbox(): Promise<void>;
|
|
63
64
|
clickCreateButton(): Promise<void>;
|
|
64
65
|
clickCloseModalButton(): Promise<void>;
|
|
66
|
+
assertAPIClientScopes(name: string): Promise<void>;
|
|
67
|
+
filterClientsList(name: string): Promise<void>;
|
|
65
68
|
clickSettingsTab(): Promise<void>;
|
|
66
69
|
enableAuthorizations(): Promise<void>;
|
|
67
70
|
disableAuthorizations(): Promise<void>;
|
|
@@ -8,6 +8,9 @@ const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLoc
|
|
|
8
8
|
const ClientCredentialsDetailsPage_1 = require("./ClientCredentialsDetailsPage");
|
|
9
9
|
class ClusterDetailsPage {
|
|
10
10
|
page;
|
|
11
|
+
// Name of a client whose scopes still have to be checked against the
|
|
12
|
+
// clients list — see createAPIClient() / clickCloseModalButton().
|
|
13
|
+
pendingClientScopeCheck = null;
|
|
11
14
|
apiTab;
|
|
12
15
|
createFirstClientButton;
|
|
13
16
|
clientNameTextbox;
|
|
@@ -235,6 +238,47 @@ class ClusterDetailsPage {
|
|
|
235
238
|
}
|
|
236
239
|
async clickCloseModalButton() {
|
|
237
240
|
await this.closeModalButton.click({ timeout: 60000 });
|
|
241
|
+
const pendingClient = this.pendingClientScopeCheck;
|
|
242
|
+
if (pendingClient === null) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
this.pendingClientScopeCheck = null;
|
|
246
|
+
await this.assertAPIClientScopes(pendingClient);
|
|
247
|
+
}
|
|
248
|
+
// Asserts the scopes an API client was created with, read from its row in
|
|
249
|
+
// the clients list. Only meaningful once the credentials modal is closed:
|
|
250
|
+
// while it is open the panel behind it can still be showing its pre-create
|
|
251
|
+
// state and lists no row for the new client at all.
|
|
252
|
+
async assertAPIClientScopes(name) {
|
|
253
|
+
const row = this.clientsList.filter({ hasText: name });
|
|
254
|
+
const scopes = /(?=.*Orchestration)(?=.*Optimize)(?=.*Secrets)/;
|
|
255
|
+
await this.filterClientsList(name);
|
|
256
|
+
try {
|
|
257
|
+
await (0, test_1.expect)(row).toContainText(scopes, { timeout: 30000 });
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
// A panel that rendered before the client existed — or that failed into
|
|
261
|
+
// the "Oops ... something went wrong." state — only picks the new client
|
|
262
|
+
// up on a refetch, which is what reloading the API tab forces.
|
|
263
|
+
console.warn(`assertAPIClientScopes: "${name}" is not listed yet; reloading the API tab and retrying. ${error}`);
|
|
264
|
+
await this.dismissOopsIfPresent();
|
|
265
|
+
await this.page.reload({ waitUntil: 'domcontentloaded' });
|
|
266
|
+
await this.clickAPITab();
|
|
267
|
+
await this.filterClientsList(name);
|
|
268
|
+
await (0, test_1.expect)(row).toContainText(scopes, { timeout: 60000 });
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
// Narrows the clients table to one client through the table's own filter.
|
|
272
|
+
// The table paginates at ten rows and is not ordered by creation time, so on
|
|
273
|
+
// a cluster that already has clients a newly created one is usually on a
|
|
274
|
+
// page other than the one being displayed — matching a row without filtering
|
|
275
|
+
// first reports it as missing.
|
|
276
|
+
async filterClientsList(name) {
|
|
277
|
+
const filterInput = this.page.getByRole('searchbox', {
|
|
278
|
+
name: 'Filter table',
|
|
279
|
+
});
|
|
280
|
+
await (0, test_1.expect)(filterInput).toBeVisible({ timeout: 60000 });
|
|
281
|
+
await filterInput.fill(name);
|
|
238
282
|
}
|
|
239
283
|
async clickSettingsTab() {
|
|
240
284
|
await this.settingsTab.click({ timeout: 60000 });
|
|
@@ -515,24 +559,16 @@ class ClusterDetailsPage {
|
|
|
515
559
|
await (0, test_1.expect)(this.clientCredentialsDialog
|
|
516
560
|
.getByText('The Client Secret will not be shown again.')
|
|
517
561
|
.first()).toBeVisible();
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
const oopsVisible = await this.page
|
|
529
|
-
.getByRole('heading', { name: /Oops/i })
|
|
530
|
-
.isVisible({ timeout: 1000 })
|
|
531
|
-
.catch(() => false);
|
|
532
|
-
if (!oopsVisible)
|
|
533
|
-
throw err;
|
|
534
|
-
console.warn(`createAPIClient: clients list panel is in Oops state; skipping row scope assertion for "${attemptName}".`);
|
|
535
|
-
}
|
|
562
|
+
// The client now exists — the modal above is proof — so the scopes it
|
|
563
|
+
// was created with are checked in clickCloseModalButton() rather than
|
|
564
|
+
// here. The clients list behind the open modal is not a reliable
|
|
565
|
+
// source for that check: it can still be rendering its pre-create
|
|
566
|
+
// state (no row for this client) or have failed into "Oops ...
|
|
567
|
+
// something went wrong.", and the modal blocks the pointer events a
|
|
568
|
+
// reload would need. Asserting it here instead sent a created client
|
|
569
|
+
// round the retry loop, which both left orphan clients behind and
|
|
570
|
+
// discarded the credentials the caller has yet to read.
|
|
571
|
+
this.pendingClientScopeCheck = attemptName;
|
|
536
572
|
return;
|
|
537
573
|
}
|
|
538
574
|
catch (error) {
|
|
@@ -152,7 +152,6 @@ class ProcessApplicationPage {
|
|
|
152
152
|
// taken -- callers that care assert the name in the deploy dialog anyway.
|
|
153
153
|
async defineDevelopmentStage(clusterName) {
|
|
154
154
|
await (0, test_1.expect)(this.defineStagesDialog).toBeVisible({ timeout: 60000 });
|
|
155
|
-
await this.developmentClusterSelect.click({ timeout: 30000 });
|
|
156
155
|
// Escape before interpolating: a cluster name can carry regex
|
|
157
156
|
// metacharacters -- "Test Cluster (v2)" is the common case -- which would
|
|
158
157
|
// otherwise mis-match or throw. Same treatment as
|
|
@@ -166,7 +165,31 @@ class ProcessApplicationPage {
|
|
|
166
165
|
.getByRole('option')
|
|
167
166
|
.filter({ hasNotText: 'Select a development cluster' })
|
|
168
167
|
.first();
|
|
169
|
-
|
|
168
|
+
// Committing a selection is what unmounts the option list: the dropdown is
|
|
169
|
+
// a Carbon Dropdown over Downshift, so the click that lands is also the
|
|
170
|
+
// click whose target disappears. Playwright's default actionability re-check
|
|
171
|
+
// reads that as a lost element ("element was detached from the DOM,
|
|
172
|
+
// retrying") and then spends the rest of its budget waiting for an option
|
|
173
|
+
// that has already done its job and will not come back -- three of the four
|
|
174
|
+
// failures in the 2026-08-31 SaaS 8.10 run ended that way, each on a
|
|
175
|
+
// 30000ms locator.click against an option the log shows it had resolved.
|
|
176
|
+
//
|
|
177
|
+
// So: dispatch the click without the post-click stability re-check, and
|
|
178
|
+
// treat the option list closing as the proof it landed rather than the
|
|
179
|
+
// click call resolving cleanly. Retried as a whole because a click that
|
|
180
|
+
// genuinely missed leaves the menu open, which the next pass sees and
|
|
181
|
+
// re-clicks. This also covers the menu opening with the wanted cluster
|
|
182
|
+
// already selected: clicking it still closes the menu, and the stage the
|
|
183
|
+
// caller asked for is bound either way.
|
|
184
|
+
await (0, test_1.expect)(async () => {
|
|
185
|
+
const menuOpen = await option.isVisible().catch(() => false);
|
|
186
|
+
if (!menuOpen) {
|
|
187
|
+
await this.developmentClusterSelect.click({ timeout: 15000 });
|
|
188
|
+
await (0, test_1.expect)(option).toBeVisible({ timeout: 15000 });
|
|
189
|
+
}
|
|
190
|
+
await option.click({ timeout: 15000, force: true });
|
|
191
|
+
await (0, test_1.expect)(option).toBeHidden({ timeout: 15000 });
|
|
192
|
+
}).toPass({ timeout: 120000, intervals: [1000, 2000, 5000] });
|
|
170
193
|
await this.defineStagesSaveButton.click({ timeout: 30000 });
|
|
171
194
|
await (0, test_1.expect)(this.defineStagesDialog).toBeHidden({ timeout: 60000 });
|
|
172
195
|
}
|
|
@@ -93,6 +93,7 @@ declare class ModelerCreatePage {
|
|
|
93
93
|
readonly variableAssignmentValueTextboxThirdVariable: Locator;
|
|
94
94
|
readonly firstPlaceRESTConnector: Locator;
|
|
95
95
|
readonly authenticationPanel: Locator;
|
|
96
|
+
readonly templateNotFoundTag: Locator;
|
|
96
97
|
readonly oauthTokenEndpointInput: Locator;
|
|
97
98
|
readonly closeDetailsPanel: Locator;
|
|
98
99
|
readonly openDetailsPanel: Locator;
|
|
@@ -214,6 +215,7 @@ declare class ModelerCreatePage {
|
|
|
214
215
|
embedForm(formName: string): Promise<void>;
|
|
215
216
|
clickFirstPlaceRESTConnector(): Promise<void>;
|
|
216
217
|
dismissCreatePad(): Promise<void>;
|
|
218
|
+
private openAuthenticationPanel;
|
|
217
219
|
setOAuthTokenEndpoint(elementToClick: Locator, endpoint: string, options?: {
|
|
218
220
|
retries?: number;
|
|
219
221
|
settleMs?: number;
|
|
@@ -100,6 +100,7 @@ class ModelerCreatePage {
|
|
|
100
100
|
variableAssignmentValueTextboxThirdVariable;
|
|
101
101
|
firstPlaceRESTConnector;
|
|
102
102
|
authenticationPanel;
|
|
103
|
+
templateNotFoundTag;
|
|
103
104
|
oauthTokenEndpointInput;
|
|
104
105
|
closeDetailsPanel;
|
|
105
106
|
openDetailsPanel;
|
|
@@ -314,6 +315,9 @@ class ModelerCreatePage {
|
|
|
314
315
|
.locator('div')
|
|
315
316
|
.filter({ hasText: /^Authentication$/ })
|
|
316
317
|
.first();
|
|
318
|
+
this.templateNotFoundTag = page
|
|
319
|
+
.locator('[data-test="properties-panel"]')
|
|
320
|
+
.getByText('Not found', { exact: true });
|
|
317
321
|
this.oauthTokenEndpointInput = page.getByLabel('OAuth 2.0 token endpoint');
|
|
318
322
|
// Hub's design-system details panel renders a second close control in its
|
|
319
323
|
// header, titled "Close Details panel" (PanelHeaderDs builds
|
|
@@ -1585,6 +1589,31 @@ class ModelerCreatePage {
|
|
|
1585
1589
|
.waitFor({ state: 'hidden', timeout: 10000 })
|
|
1586
1590
|
.catch(() => false);
|
|
1587
1591
|
}
|
|
1592
|
+
// The Authentication group is contributed by the REST connector element
|
|
1593
|
+
// template, so it renders only while the version the diagram pins in
|
|
1594
|
+
// zeebe:modelerTemplateVersion is among the element templates Web Modeler
|
|
1595
|
+
// offers this project. When it is not, the properties panel shows
|
|
1596
|
+
// "Template: Not found" and the group can never appear, so report that as
|
|
1597
|
+
// its own cause instead of a bare 60s click timeout.
|
|
1598
|
+
async openAuthenticationPanel() {
|
|
1599
|
+
try {
|
|
1600
|
+
await this.authenticationPanel.click({ timeout: 60000 });
|
|
1601
|
+
}
|
|
1602
|
+
catch (err) {
|
|
1603
|
+
const templateMissing = await this.templateNotFoundTag
|
|
1604
|
+
.isVisible()
|
|
1605
|
+
.catch(() => false);
|
|
1606
|
+
if (templateMissing) {
|
|
1607
|
+
throw new Error('REST connector element template did not resolve for this element: ' +
|
|
1608
|
+
'the properties panel shows "Template: Not found", so its ' +
|
|
1609
|
+
'Authentication group never renders. The zeebe:modelerTemplateVersion ' +
|
|
1610
|
+
'pinned in the uploaded fixture is no longer one of the element ' +
|
|
1611
|
+
'template versions this Web Modeler offers — re-pin the fixture to ' +
|
|
1612
|
+
'the offered version.');
|
|
1613
|
+
}
|
|
1614
|
+
throw err;
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1588
1617
|
async setOAuthTokenEndpoint(elementToClick, endpoint, options) {
|
|
1589
1618
|
const retries = options?.retries ?? 2;
|
|
1590
1619
|
const settleMs = options?.settleMs ?? 250;
|
|
@@ -1609,7 +1638,7 @@ class ModelerCreatePage {
|
|
|
1609
1638
|
if (openPanel) {
|
|
1610
1639
|
await this.clickOpenDetailsPanel();
|
|
1611
1640
|
}
|
|
1612
|
-
await this.
|
|
1641
|
+
await this.openAuthenticationPanel();
|
|
1613
1642
|
let lastError;
|
|
1614
1643
|
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
1615
1644
|
try {
|
|
@@ -519,8 +519,8 @@ async function modelAndRunConnectorsDocHandlingDiagram(modelerCreatePage, modele
|
|
|
519
519
|
await modelerHomePage.clickDiagramTypeDropdown();
|
|
520
520
|
await modelerHomePage.clickUploadFilesButton();
|
|
521
521
|
// 8.10-scoped copy of the fixture: it pins the REST connector element
|
|
522
|
-
// template version
|
|
523
|
-
// declares Camunda 8.10 as the execution platform. SM-8.8/SM-8.9 keep the
|
|
522
|
+
// template version Web Modeler offers an 8.10 project (v18, engines ^8.10)
|
|
523
|
+
// and declares Camunda 8.10 as the execution platform. SM-8.8/SM-8.9 keep the
|
|
524
524
|
// fixture at the resources root, whose v15 pin still matches the template
|
|
525
525
|
// line their clusters accept. The version lives in the directory, not the
|
|
526
526
|
// basename: Web Modeler renders the basename in the diagram breadcrumb and
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:color="http://www.omg.org/spec/BPMN/non-normative/color/1.0" xmlns:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Web Modeler" exporterVersion="f0d285d" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.10.0">
|
|
3
3
|
<bpmn:process id="SM_Document_Handling_Connectors_User_Flow" name="SM_Document_Handling_Connectors_User_Flow" isExecutable="true">
|
|
4
|
-
<bpmn:serviceTask id="Activity_0k0vloc" name="Ask Zeebe if doc can be found" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
4
|
+
<bpmn:serviceTask id="Activity_0k0vloc" name="Ask Zeebe if doc can be found" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
5
5
|
<bpmn:extensionElements>
|
|
6
6
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
7
7
|
<zeebe:ioMapping>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<bpmn:incoming>Flow_1dw6w1f</bpmn:incoming>
|
|
29
29
|
<bpmn:outgoing>Flow_1p8vgwu</bpmn:outgoing>
|
|
30
30
|
</bpmn:serviceTask>
|
|
31
|
-
<bpmn:serviceTask id="Activity_0jxgggi" name="Download & store Image as 'doc' storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
31
|
+
<bpmn:serviceTask id="Activity_0jxgggi" name="Download & store Image as 'doc' storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
32
32
|
<bpmn:extensionElements>
|
|
33
33
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
34
34
|
<zeebe:ioMapping>
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
<bpmn:incoming>Flow_0goyus5</bpmn:incoming>
|
|
51
51
|
<bpmn:outgoing>Flow_1dw6w1f</bpmn:outgoing>
|
|
52
52
|
</bpmn:serviceTask>
|
|
53
|
-
<bpmn:serviceTask id="Activity_02hwevk" name="Download from storage to container as 'doc2'" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
53
|
+
<bpmn:serviceTask id="Activity_02hwevk" name="Download from storage to container as 'doc2'" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
54
54
|
<bpmn:extensionElements>
|
|
55
55
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
56
56
|
<zeebe:ioMapping>
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
</bpmn:extensionElements>
|
|
94
94
|
<bpmn:outgoing>Flow_0goyus5</bpmn:outgoing>
|
|
95
95
|
</bpmn:startEvent>
|
|
96
|
-
<bpmn:serviceTask id="Activity_1oi90zl" name="Delete doc in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
96
|
+
<bpmn:serviceTask id="Activity_1oi90zl" name="Delete doc in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
97
97
|
<bpmn:extensionElements>
|
|
98
98
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
99
99
|
<zeebe:ioMapping>
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
<bpmn:outgoing>Flow_03pwhjf</bpmn:outgoing>
|
|
121
121
|
</bpmn:serviceTask>
|
|
122
122
|
<bpmn:sequenceFlow id="Flow_03pwhjf" sourceRef="Activity_1oi90zl" targetRef="Gateway_0ilxedq" />
|
|
123
|
-
<bpmn:serviceTask id="Activity_0iyt4gv" name="Upload doc2 in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
123
|
+
<bpmn:serviceTask id="Activity_0iyt4gv" name="Upload doc2 in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
124
124
|
<bpmn:extensionElements>
|
|
125
125
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
126
126
|
<zeebe:ioMapping>
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
<bpmn:outgoing>Flow_129y4ib</bpmn:outgoing>
|
|
156
156
|
<bpmn:outgoing>Flow_1991iy9</bpmn:outgoing>
|
|
157
157
|
</bpmn:parallelGateway>
|
|
158
|
-
<bpmn:serviceTask id="Activity_1oiegam" name="Upload batch (2 documents)" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
158
|
+
<bpmn:serviceTask id="Activity_1oiegam" name="Upload batch (2 documents)" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
159
159
|
<bpmn:extensionElements>
|
|
160
160
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
161
161
|
<zeebe:ioMapping>
|
|
@@ -50,9 +50,22 @@ _8_10_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
50
50
|
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
51
51
|
timeout: 120000,
|
|
52
52
|
});
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
// Latch the Operate instance deep link on the CONTEXT before the click.
|
|
54
|
+
// Playwright raises `popup` only once the new tab's initial response has
|
|
55
|
+
// started loading, and a session-less Operate tab's auth redirect chain
|
|
56
|
+
// drops the instance path before anything commits -- so no listener
|
|
57
|
+
// attached to the popup afterwards ever sees that URL. Without it
|
|
58
|
+
// `waitForInstanceLocator` has nothing to re-open and can only reload
|
|
59
|
+
// whatever the tab was left on, where the instance page can never render:
|
|
60
|
+
// "Assertion of Instance History panel in Operate timed out after
|
|
61
|
+
// 480000ms (instance header not rendered, url=<cluster>/operate?continue,
|
|
62
|
+
// instance deep link never captured)". `openAppTabWithRetry` also
|
|
63
|
+
// registers the popup wait BEFORE the click, which `waitForEvent` after
|
|
64
|
+
// the click cannot. Same pattern as tests/8.10/smoke-tests.spec.ts.
|
|
65
|
+
const watchedInstanceUrl = (0, OperateProcessInstancePage_1.watchOperateInstanceUrl)(page.context());
|
|
66
|
+
const operateTab = await (0, UtilitiesPage_1.openAppTabWithRetry)(page, modelerCreatePage.viewProcessInstanceLink);
|
|
55
67
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
68
|
+
await operateTabProcessInstancePage.rememberInstanceUrl(60000, watchedInstanceUrl);
|
|
56
69
|
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
57
70
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'Completed icon', 60000);
|
|
58
71
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTabProcessInstancePage.variablesList, 'Variable list', 30000);
|
|
@@ -92,9 +105,12 @@ _8_10_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
92
105
|
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
93
106
|
timeout: 240000,
|
|
94
107
|
});
|
|
95
|
-
|
|
96
|
-
|
|
108
|
+
// Context-level deep-link latch + click-then-wait ordering, as in the
|
|
109
|
+
// "REST Connector No Auth" flow above -- see the note there.
|
|
110
|
+
const watchedInstanceUrl = (0, OperateProcessInstancePage_1.watchOperateInstanceUrl)(page.context());
|
|
111
|
+
const operateTab = await (0, UtilitiesPage_1.openAppTabWithRetry)(page, modelerCreatePage.viewProcessInstanceLink);
|
|
97
112
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
113
|
+
await operateTabProcessInstancePage.rememberInstanceUrl(60000, watchedInstanceUrl);
|
|
98
114
|
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
99
115
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'Completed icon', 60000);
|
|
100
116
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTabProcessInstancePage.variablesList, 'Variable list', 60000);
|
|
@@ -328,9 +344,12 @@ _8_10_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
328
344
|
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
329
345
|
timeout: 120000,
|
|
330
346
|
});
|
|
331
|
-
|
|
332
|
-
|
|
347
|
+
// Context-level deep-link latch + click-then-wait ordering, as in the
|
|
348
|
+
// "REST Connector No Auth" flow above -- see the note there.
|
|
349
|
+
const watchedInstanceUrl = (0, OperateProcessInstancePage_1.watchOperateInstanceUrl)(page.context());
|
|
350
|
+
const operateTab = await (0, UtilitiesPage_1.openAppTabWithRetry)(page, modelerCreatePage.viewProcessInstanceLink);
|
|
333
351
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
352
|
+
await operateTabProcessInstancePage.rememberInstanceUrl(60000, watchedInstanceUrl);
|
|
334
353
|
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
335
354
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'Completed icon', 60000);
|
|
336
355
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTab.getByTestId('variables-list'), 'Variable list', 30000);
|
|
@@ -448,10 +467,12 @@ _8_10_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
448
467
|
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
449
468
|
timeout: 120000,
|
|
450
469
|
});
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
const
|
|
470
|
+
// Context-level deep-link latch + click-then-wait ordering, as in the
|
|
471
|
+
// "REST Connector No Auth" flow above -- see the note there.
|
|
472
|
+
const watchedInstanceUrl = (0, OperateProcessInstancePage_1.watchOperateInstanceUrl)(page.context());
|
|
473
|
+
const operateTab = await (0, UtilitiesPage_1.openAppTabWithRetry)(page, modelerCreatePage.viewProcessInstanceLink);
|
|
454
474
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
475
|
+
await operateTabProcessInstancePage.rememberInstanceUrl(60000, watchedInstanceUrl);
|
|
455
476
|
await operateTabProcessInstancePage.closePopOverIfVisible();
|
|
456
477
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTabProcessInstancePage, operateTabProcessInstancePage.completedIcon, 'completed icon');
|
|
457
478
|
// Operate no longer displays document filenames or storage metadata
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:color="http://www.omg.org/spec/BPMN/non-normative/color/1.0" xmlns:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Web Modeler" exporterVersion="f0d285d" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.10.0">
|
|
3
3
|
<bpmn:process id="SM_Document_Handling_Connectors_User_Flow" name="SM_Document_Handling_Connectors_User_Flow" isExecutable="true">
|
|
4
|
-
<bpmn:serviceTask id="Activity_0k0vloc" name="Ask Zeebe if doc can be found" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
4
|
+
<bpmn:serviceTask id="Activity_0k0vloc" name="Ask Zeebe if doc can be found" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
5
5
|
<bpmn:extensionElements>
|
|
6
6
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
7
7
|
<zeebe:ioMapping>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<bpmn:incoming>Flow_1dw6w1f</bpmn:incoming>
|
|
29
29
|
<bpmn:outgoing>Flow_1p8vgwu</bpmn:outgoing>
|
|
30
30
|
</bpmn:serviceTask>
|
|
31
|
-
<bpmn:serviceTask id="Activity_0jxgggi" name="Download & store Image as 'doc' storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
31
|
+
<bpmn:serviceTask id="Activity_0jxgggi" name="Download & store Image as 'doc' storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
32
32
|
<bpmn:extensionElements>
|
|
33
33
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
34
34
|
<zeebe:ioMapping>
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
<bpmn:incoming>Flow_0goyus5</bpmn:incoming>
|
|
51
51
|
<bpmn:outgoing>Flow_1dw6w1f</bpmn:outgoing>
|
|
52
52
|
</bpmn:serviceTask>
|
|
53
|
-
<bpmn:serviceTask id="Activity_02hwevk" name="Download from storage to container as 'doc2'" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
53
|
+
<bpmn:serviceTask id="Activity_02hwevk" name="Download from storage to container as 'doc2'" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
54
54
|
<bpmn:extensionElements>
|
|
55
55
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
56
56
|
<zeebe:ioMapping>
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
</bpmn:extensionElements>
|
|
94
94
|
<bpmn:outgoing>Flow_0goyus5</bpmn:outgoing>
|
|
95
95
|
</bpmn:startEvent>
|
|
96
|
-
<bpmn:serviceTask id="Activity_1oi90zl" name="Delete doc in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
96
|
+
<bpmn:serviceTask id="Activity_1oi90zl" name="Delete doc in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
97
97
|
<bpmn:extensionElements>
|
|
98
98
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
99
99
|
<zeebe:ioMapping>
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
<bpmn:outgoing>Flow_03pwhjf</bpmn:outgoing>
|
|
121
121
|
</bpmn:serviceTask>
|
|
122
122
|
<bpmn:sequenceFlow id="Flow_03pwhjf" sourceRef="Activity_1oi90zl" targetRef="Gateway_0ilxedq" />
|
|
123
|
-
<bpmn:serviceTask id="Activity_0iyt4gv" name="Upload doc2 in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
123
|
+
<bpmn:serviceTask id="Activity_0iyt4gv" name="Upload doc2 in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
124
124
|
<bpmn:extensionElements>
|
|
125
125
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
126
126
|
<zeebe:ioMapping>
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
<bpmn:outgoing>Flow_129y4ib</bpmn:outgoing>
|
|
156
156
|
<bpmn:outgoing>Flow_1991iy9</bpmn:outgoing>
|
|
157
157
|
</bpmn:parallelGateway>
|
|
158
|
-
<bpmn:serviceTask id="Activity_1oiegam" name="Upload batch (2 documents)" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="
|
|
158
|
+
<bpmn:serviceTask id="Activity_1oiegam" name="Upload batch (2 documents)" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="18" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
|
|
159
159
|
<bpmn:extensionElements>
|
|
160
160
|
<zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
|
|
161
161
|
<zeebe:ioMapping>
|