@camunda/e2e-test-suite 0.0.233 → 0.0.235
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/fixtures/8.8.d.ts +2 -0
- package/dist/fixtures/8.8.js +4 -0
- package/dist/pages/8.10/ClusterDetailsPage.js +2 -2
- package/dist/pages/8.10/ConnectorSettingsPage.js +3 -0
- package/dist/pages/8.10/IdpCreatePage.d.ts +1 -0
- package/dist/pages/8.10/IdpCreatePage.js +5 -3
- package/dist/pages/8.8/ClientCredentialsDetailsPage.d.ts +12 -0
- package/dist/pages/8.8/ClientCredentialsDetailsPage.js +36 -0
- package/dist/pages/8.8/ClusterDetailsPage.d.ts +6 -1
- package/dist/pages/8.8/ClusterDetailsPage.js +35 -1
- package/dist/tests/8.10/rba-enabled-v2-user-flows.spec.js +6 -2
- package/dist/tests/8.8/operate-access-flow.spec.d.ts +1 -0
- package/dist/tests/8.8/operate-access-flow.spec.js +56 -0
- package/package.json +1 -1
package/dist/fixtures/8.8.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ import { OCIdentityHomePage } from '../pages/8.8/OCIdentityHomePage';
|
|
|
32
32
|
import { OCIdentityMappingRulesPage } from '../pages/8.8/OCIdentityMappingRulesPage';
|
|
33
33
|
import { OCIdentityRolesPage } from '../pages/8.8/OCIdentityRolesPage';
|
|
34
34
|
import { OCIdentityAuthorizationsPage } from '../pages/8.8/OCIdentityAuthorizationsPage';
|
|
35
|
+
import { ClientCredentialsDetailsPage } from '../pages/8.8/ClientCredentialsDetailsPage';
|
|
35
36
|
type PlaywrightFixtures = {
|
|
36
37
|
makeAxeBuilder: () => AxeBuilder;
|
|
37
38
|
loginPage: LoginPage;
|
|
@@ -67,6 +68,7 @@ type PlaywrightFixtures = {
|
|
|
67
68
|
ocIdentityMappingRulesPage: OCIdentityMappingRulesPage;
|
|
68
69
|
ocIdentityRolesPage: OCIdentityRolesPage;
|
|
69
70
|
ocIdentityAuthorizationsPage: OCIdentityAuthorizationsPage;
|
|
71
|
+
clientCredentialsDetailsPage: ClientCredentialsDetailsPage;
|
|
70
72
|
overrideTrackingScripts: void;
|
|
71
73
|
};
|
|
72
74
|
declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & PlaywrightFixtures, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
|
package/dist/fixtures/8.8.js
CHANGED
|
@@ -39,6 +39,7 @@ const OCIdentityHomePage_1 = require("../pages/8.8/OCIdentityHomePage");
|
|
|
39
39
|
const OCIdentityMappingRulesPage_1 = require("../pages/8.8/OCIdentityMappingRulesPage");
|
|
40
40
|
const OCIdentityRolesPage_1 = require("../pages/8.8/OCIdentityRolesPage");
|
|
41
41
|
const OCIdentityAuthorizationsPage_1 = require("../pages/8.8/OCIdentityAuthorizationsPage");
|
|
42
|
+
const ClientCredentialsDetailsPage_1 = require("../pages/8.8/ClientCredentialsDetailsPage");
|
|
42
43
|
const test = test_1.test.extend({
|
|
43
44
|
makeAxeBuilder: async ({ page }, use) => {
|
|
44
45
|
const makeAxeBuilder = () => new playwright_1.default({ page }).withTags([
|
|
@@ -150,6 +151,9 @@ const test = test_1.test.extend({
|
|
|
150
151
|
ocIdentityGroupsPage: async ({ page }, use) => {
|
|
151
152
|
await use(new OCIdentityGroupsPage_1.OCIdentityGroupsPage(page));
|
|
152
153
|
},
|
|
154
|
+
clientCredentialsDetailsPage: async ({ page }, use) => {
|
|
155
|
+
await use(new ClientCredentialsDetailsPage_1.ClientCredentialsDetailsPage(page));
|
|
156
|
+
},
|
|
153
157
|
overrideTrackingScripts: [
|
|
154
158
|
async ({ context }, use) => {
|
|
155
159
|
await context.route('https://cmp.osano.com/16CVvwSNKHi9t1grQ/9403708a-488b-4f3b-aea6-613825dec79f/osano.js', (route) => route.fulfill({
|
|
@@ -343,8 +343,8 @@ class ClusterDetailsPage {
|
|
|
343
343
|
for (const component of components) {
|
|
344
344
|
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.page.getByText(`${component}Healthy`, { exact: true }), {
|
|
345
345
|
visibilityTimeout: 60000,
|
|
346
|
-
totalTimeout:
|
|
347
|
-
maxRetries:
|
|
346
|
+
totalTimeout: 400000,
|
|
347
|
+
maxRetries: 7,
|
|
348
348
|
preAction: async () => {
|
|
349
349
|
await this.page.reload();
|
|
350
350
|
},
|
|
@@ -60,6 +60,7 @@ class ConnectorSettingsPage {
|
|
|
60
60
|
await (0, test_1.expect)(this.page.getByText('URL must not be empty.')).not.toBeVisible({
|
|
61
61
|
timeout: 30000,
|
|
62
62
|
});
|
|
63
|
+
await this.page.waitForTimeout(1000);
|
|
63
64
|
}
|
|
64
65
|
async clickResultExpressionInput() {
|
|
65
66
|
await this.resultExpressionInput.click({ timeout: 90000 });
|
|
@@ -86,6 +87,7 @@ class ConnectorSettingsPage {
|
|
|
86
87
|
await (0, test_1.expect)(this.page.getByText('Username must not be empty.')).not.toBeVisible({
|
|
87
88
|
timeout: 30000,
|
|
88
89
|
});
|
|
90
|
+
await this.page.waitForTimeout(1000);
|
|
89
91
|
}
|
|
90
92
|
async clickPasswordInput() {
|
|
91
93
|
await this.passwordInput.click({ timeout: 60000 });
|
|
@@ -96,6 +98,7 @@ class ConnectorSettingsPage {
|
|
|
96
98
|
await (0, test_1.expect)(this.page.getByText('Password must not be empty.')).not.toBeVisible({
|
|
97
99
|
timeout: 30000,
|
|
98
100
|
});
|
|
101
|
+
await this.page.waitForTimeout(1000);
|
|
99
102
|
}
|
|
100
103
|
async selectMethodType(method) {
|
|
101
104
|
await this.methodTypeDropdown.selectOption(method, { timeout: 60000 });
|
|
@@ -30,6 +30,7 @@ declare class IdpCreatePage {
|
|
|
30
30
|
readonly selectStructuredDataExtraction: Locator;
|
|
31
31
|
readonly selectStructuredDataExtractionLabel: Locator;
|
|
32
32
|
readonly extractionInProgressNotification: Locator;
|
|
33
|
+
readonly extractionInProgressNotificationForMultipleFiles: Locator;
|
|
33
34
|
readonly structured_FieldsTab: Locator;
|
|
34
35
|
readonly structured_TablesTab: Locator;
|
|
35
36
|
readonly structured_CheckboxSelectAllFields: Locator;
|
|
@@ -34,6 +34,7 @@ class IdpCreatePage {
|
|
|
34
34
|
selectStructuredDataExtraction;
|
|
35
35
|
selectStructuredDataExtractionLabel;
|
|
36
36
|
extractionInProgressNotification;
|
|
37
|
+
extractionInProgressNotificationForMultipleFiles;
|
|
37
38
|
structured_FieldsTab;
|
|
38
39
|
structured_TablesTab;
|
|
39
40
|
structured_CheckboxSelectAllFields;
|
|
@@ -104,6 +105,7 @@ class IdpCreatePage {
|
|
|
104
105
|
this.selectStructuredDataExtraction = page.locator('#idp-project-extraction-method-structured');
|
|
105
106
|
this.selectStructuredDataExtractionLabel = page.locator('label[for="idp-project-extraction-method-structured"]');
|
|
106
107
|
this.extractionInProgressNotification = page.getByText('Extracting document...');
|
|
108
|
+
this.extractionInProgressNotificationForMultipleFiles = page.getByText('Extracting documents...');
|
|
107
109
|
this.structured_uploadFilesButton = page
|
|
108
110
|
.getByRole('button', {
|
|
109
111
|
name: /Drag and drop.*PDF.*upload/i,
|
|
@@ -328,13 +330,13 @@ class IdpCreatePage {
|
|
|
328
330
|
timeout: 60000,
|
|
329
331
|
});
|
|
330
332
|
await this.structured_TestExtractionTemplateButton.click({ timeout: 60000 });
|
|
331
|
-
await (0, test_1.expect)(this.
|
|
332
|
-
timeout:
|
|
333
|
+
await (0, test_1.expect)(this.extractionInProgressNotificationForMultipleFiles).not.toBeVisible({
|
|
334
|
+
timeout: 150000,
|
|
333
335
|
});
|
|
334
336
|
}
|
|
335
337
|
async extractionResultsAreVisible() {
|
|
336
338
|
await (0, test_1.expect)(this.structured_TestSummaryResult).toBeVisible({
|
|
337
|
-
timeout:
|
|
339
|
+
timeout: 120000,
|
|
338
340
|
});
|
|
339
341
|
await (0, test_1.expect)(this.structured_DetailsResult).toBeVisible({
|
|
340
342
|
timeout: 60000,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Page, Locator } from '@playwright/test';
|
|
2
|
+
declare class ClientCredentialsDetailsPage {
|
|
3
|
+
private page;
|
|
4
|
+
readonly operateUrlRow: Locator;
|
|
5
|
+
readonly operateUrlValue: Locator;
|
|
6
|
+
readonly clientNameHeading: (clientName: string) => Locator;
|
|
7
|
+
constructor(page: Page);
|
|
8
|
+
isOpen(clientName: string): Promise<void>;
|
|
9
|
+
getOperateUrl(): Promise<string>;
|
|
10
|
+
goBack(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export { ClientCredentialsDetailsPage };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientCredentialsDetailsPage = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
class ClientCredentialsDetailsPage {
|
|
6
|
+
page;
|
|
7
|
+
operateUrlRow;
|
|
8
|
+
operateUrlValue;
|
|
9
|
+
clientNameHeading;
|
|
10
|
+
constructor(page) {
|
|
11
|
+
this.page = page;
|
|
12
|
+
this.operateUrlRow = page.getByRole('cell', { name: 'Operate URL' });
|
|
13
|
+
this.operateUrlValue = this.operateUrlRow.getByRole('textbox');
|
|
14
|
+
this.clientNameHeading = (clientName) => page.getByRole('heading', { name: clientName });
|
|
15
|
+
}
|
|
16
|
+
async isOpen(clientName) {
|
|
17
|
+
await (0, test_1.expect)(this.clientNameHeading(clientName)).toBeVisible({
|
|
18
|
+
timeout: 30000,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
async getOperateUrl() {
|
|
22
|
+
if (await this.operateUrlValue.isVisible({ timeout: 10000 }).catch(() => false)) {
|
|
23
|
+
return await this.operateUrlValue.inputValue();
|
|
24
|
+
}
|
|
25
|
+
const text = await this.page.innerText('body');
|
|
26
|
+
const match = text.match(/Operate URL\s*([\w:/.-]+\/?)/i);
|
|
27
|
+
if (!match || !match[1]) {
|
|
28
|
+
throw new Error('Operate URL not found in client credentials page');
|
|
29
|
+
}
|
|
30
|
+
return match[1];
|
|
31
|
+
}
|
|
32
|
+
async goBack() {
|
|
33
|
+
await this.page.goBack();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.ClientCredentialsDetailsPage = ClientCredentialsDetailsPage;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Page, Locator } from '@playwright/test';
|
|
2
|
+
import { ClientCredentialsDetailsPage } from '../8.8/ClientCredentialsDetailsPage';
|
|
2
3
|
declare class ClusterDetailsPage {
|
|
3
4
|
private page;
|
|
4
5
|
readonly apiTab: Locator;
|
|
@@ -36,6 +37,9 @@ declare class ClusterDetailsPage {
|
|
|
36
37
|
readonly rbaEnabledMessage: Locator;
|
|
37
38
|
readonly authorizationsHeading: Locator;
|
|
38
39
|
readonly orchestrationClusterCheckbox: Locator;
|
|
40
|
+
readonly clientCredentialsLink: (clientCredentials: string) => Locator;
|
|
41
|
+
readonly clientRow: (name: string) => Locator;
|
|
42
|
+
readonly clientRowDeleteButton: (name: string) => Locator;
|
|
39
43
|
constructor(page: Page);
|
|
40
44
|
clickAPITab(): Promise<void>;
|
|
41
45
|
clickCreateClientButton(): Promise<void>;
|
|
@@ -50,7 +54,8 @@ declare class ClusterDetailsPage {
|
|
|
50
54
|
clickSettingsTab(): Promise<void>;
|
|
51
55
|
enableAuthorizations(): Promise<void>;
|
|
52
56
|
disableAuthorizations(): Promise<void>;
|
|
53
|
-
|
|
57
|
+
searchAndClickClientCredentialsLink(name: string): Promise<ClientCredentialsDetailsPage>;
|
|
58
|
+
deleteAPIClientsIfExist(name?: string): Promise<void>;
|
|
54
59
|
clickAlertsTab(): Promise<void>;
|
|
55
60
|
clickExpandButton(): Promise<void>;
|
|
56
61
|
clickCreateFirstAlertButton(): Promise<void>;
|
|
@@ -5,6 +5,7 @@ const test_1 = require("@playwright/test");
|
|
|
5
5
|
const sleep_1 = require("../../utils/sleep");
|
|
6
6
|
const clickLocatorWithRetry_1 = require("../../utils/assertionHelpers/clickLocatorWithRetry");
|
|
7
7
|
const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
|
|
8
|
+
const ClientCredentialsDetailsPage_1 = require("../8.8/ClientCredentialsDetailsPage");
|
|
8
9
|
class ClusterDetailsPage {
|
|
9
10
|
page;
|
|
10
11
|
apiTab;
|
|
@@ -42,6 +43,9 @@ class ClusterDetailsPage {
|
|
|
42
43
|
rbaEnabledMessage;
|
|
43
44
|
authorizationsHeading;
|
|
44
45
|
orchestrationClusterCheckbox;
|
|
46
|
+
clientCredentialsLink;
|
|
47
|
+
clientRow;
|
|
48
|
+
clientRowDeleteButton;
|
|
45
49
|
constructor(page) {
|
|
46
50
|
this.page = page;
|
|
47
51
|
this.apiTab = page.getByRole('tab', { name: 'API' });
|
|
@@ -121,6 +125,9 @@ class ClusterDetailsPage {
|
|
|
121
125
|
this.orchestrationClusterCheckbox = page
|
|
122
126
|
.locator('label')
|
|
123
127
|
.filter({ hasText: /^Orchestration Cluster API$/ });
|
|
128
|
+
this.clientCredentialsLink = (clientCredentials) => page.getByRole('cell', { name: clientCredentials });
|
|
129
|
+
this.clientRow = (name) => this.clientsList.filter({ hasText: name });
|
|
130
|
+
this.clientRowDeleteButton = (name) => this.clientRow(name).getByRole('button', { name: 'Delete' });
|
|
124
131
|
}
|
|
125
132
|
async clickAPITab() {
|
|
126
133
|
await (0, test_1.expect)(this.apiTab).toBeVisible({ timeout: 60000 });
|
|
@@ -225,7 +232,34 @@ class ClusterDetailsPage {
|
|
|
225
232
|
console.log('Toggle text elements not found or less than 2.');
|
|
226
233
|
}
|
|
227
234
|
}
|
|
228
|
-
async
|
|
235
|
+
async searchAndClickClientCredentialsLink(name) {
|
|
236
|
+
await (0, test_1.expect)(this.clientsList.first()).toBeVisible({ timeout: 60000 });
|
|
237
|
+
const clientLink = this.clientCredentialsLink(name);
|
|
238
|
+
await (0, test_1.expect)(clientLink).toBeVisible({ timeout: 30000 });
|
|
239
|
+
await clientLink.click();
|
|
240
|
+
const clientCredentialsDetailsPage = new ClientCredentialsDetailsPage_1.ClientCredentialsDetailsPage(this.page);
|
|
241
|
+
await clientCredentialsDetailsPage.isOpen(name);
|
|
242
|
+
return clientCredentialsDetailsPage;
|
|
243
|
+
}
|
|
244
|
+
async deleteAPIClientsIfExist(name) {
|
|
245
|
+
if (name) {
|
|
246
|
+
const row = this.clientRow(name);
|
|
247
|
+
const deleteButton = this.clientRowDeleteButton(name);
|
|
248
|
+
try {
|
|
249
|
+
await (0, test_1.expect)(deleteButton).toBeVisible({ timeout: 10000 });
|
|
250
|
+
await deleteButton.click();
|
|
251
|
+
await (0, test_1.expect)(this.dialog).toBeVisible();
|
|
252
|
+
await this.deleteSubButton.click();
|
|
253
|
+
await (0, test_1.expect)(this.page.getByText('Deleting...')).not.toBeVisible({
|
|
254
|
+
timeout: 10000,
|
|
255
|
+
});
|
|
256
|
+
await (0, test_1.expect)(row).not.toBeVisible();
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
console.warn(`No client row found for ${name} or deletion failed: ${error}`);
|
|
260
|
+
}
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
229
263
|
await this.doDelete(this.dialog, 'API clients');
|
|
230
264
|
}
|
|
231
265
|
async clickAlertsTab() {
|
|
@@ -10,6 +10,7 @@ const roleAuthorizations_1 = require("../../utils/roleAuthorizations");
|
|
|
10
10
|
const expectTextWithRetry_1 = require("../../utils/assertionHelpers/expectTextWithRetry");
|
|
11
11
|
const expectTextWithPagination_1 = require("../../utils/assertionHelpers/expectTextWithPagination");
|
|
12
12
|
const users_1 = require("../../utils/users");
|
|
13
|
+
const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
|
|
13
14
|
const mainUser = (0, users_1.getTestUser)('twentySixthUser');
|
|
14
15
|
_8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () => {
|
|
15
16
|
const clusterNames = {
|
|
@@ -108,8 +109,11 @@ _8_10_1.test.describe.parallel('RBA Enabled User Flows Test @tasklistV2', () =>
|
|
|
108
109
|
await _8_10_1.test.step('Navigate to Tasklist and Make Sure that the Two Deployed Processes Are Not Accessible', async () => {
|
|
109
110
|
await appsPage.clickCamundaApps();
|
|
110
111
|
await appsPage.clickTasklist(clusterName);
|
|
111
|
-
await (0,
|
|
112
|
-
|
|
112
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, taskPanelPage.taskListPageBanner, {
|
|
113
|
+
visibilityTimeout: 20000,
|
|
114
|
+
postAction: async () => {
|
|
115
|
+
await page.reload();
|
|
116
|
+
},
|
|
113
117
|
});
|
|
114
118
|
await taskPanelPage.clickProcessesTab();
|
|
115
119
|
await taskProcessesPage.clickpopupContinueButton();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const test_1 = require("@playwright/test");
|
|
4
|
+
const _8_8_1 = require("../../fixtures/8.8");
|
|
5
|
+
const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
|
|
6
|
+
const _setup_1 = require("../../test-setup.js");
|
|
7
|
+
const users_1 = require("../../utils/users");
|
|
8
|
+
const urlHelpers_1 = require("../../utils/urlHelpers");
|
|
9
|
+
const testUser = (0, users_1.getTestUser)('twentySecondUser');
|
|
10
|
+
// This test covers the manual scenario: create a new API client via UI, copy the Operate URL, and verify the Operate endpoint denies unauthenticated access.
|
|
11
|
+
_8_8_1.test.describe.configure({ mode: 'parallel' });
|
|
12
|
+
_8_8_1.test.describe('Operate access requires authentication @tasklistV2', () => {
|
|
13
|
+
let clientName;
|
|
14
|
+
const clusterName = 'Test Cluster';
|
|
15
|
+
_8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
|
|
16
|
+
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, testUser, (testInfo.workerIndex + 1) * 1000);
|
|
17
|
+
});
|
|
18
|
+
_8_8_1.test.afterEach(async ({ page, homePage, clusterPage, clusterDetailsPage }, testInfo) => {
|
|
19
|
+
await (0, _setup_1.captureScreenshot)(page, testInfo);
|
|
20
|
+
await (0, _setup_1.captureFailureVideo)(page, testInfo);
|
|
21
|
+
if (clientName) {
|
|
22
|
+
await homePage.clickClusters();
|
|
23
|
+
await clusterPage.clickClusterLink(clusterName);
|
|
24
|
+
await clusterDetailsPage.clickAPITab();
|
|
25
|
+
await clusterDetailsPage.deleteAPIClientsIfExist(clientName);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
(0, _8_8_1.test)('check that request POST /v2/process-definitions/search returns 401 without credentials', async ({ homePage, clusterPage, clusterDetailsPage, clientCredentialsDetailsPage, request, }) => {
|
|
29
|
+
clientName = `operate-deny-${await (0, _setup_1.generateRandomStringAsync)(5)}`;
|
|
30
|
+
await _8_8_1.test.step('Add API Client to Cluster', async () => {
|
|
31
|
+
await homePage.clickClusters();
|
|
32
|
+
await clusterPage.clickClusterLink(clusterName);
|
|
33
|
+
await clusterDetailsPage.clickAPITab();
|
|
34
|
+
await clusterDetailsPage.createAPIClient(clientName);
|
|
35
|
+
await clusterDetailsPage.clickCloseModalButton();
|
|
36
|
+
await (0, test_1.expect)(clusterDetailsPage.clientsList.filter({ hasText: clientName })).toBeVisible({ timeout: 6000 });
|
|
37
|
+
});
|
|
38
|
+
let operateUrl = '';
|
|
39
|
+
await _8_8_1.test.step('Capture Operate URL from client credentials page and close it', async () => {
|
|
40
|
+
await clusterDetailsPage.searchAndClickClientCredentialsLink(clientName);
|
|
41
|
+
operateUrl = await clientCredentialsDetailsPage.getOperateUrl();
|
|
42
|
+
(0, test_1.expect)(operateUrl).toMatch(/^https?:\/\//);
|
|
43
|
+
await clientCredentialsDetailsPage.goBack();
|
|
44
|
+
await clusterDetailsPage.clickAPITab();
|
|
45
|
+
});
|
|
46
|
+
await _8_8_1.test.step('POST search endpoint without auth should be rejected', async () => {
|
|
47
|
+
const sanitizedOperateUrl = (0, urlHelpers_1.sanitizeUrl)(operateUrl);
|
|
48
|
+
const response = await request.post(`${sanitizedOperateUrl}/v2/process-definitions/search`, {
|
|
49
|
+
data: { filter: {}, size: 10 },
|
|
50
|
+
});
|
|
51
|
+
(0, test_1.expect)(response.status()).toBe(401);
|
|
52
|
+
const body = await response.text();
|
|
53
|
+
(0, test_1.expect)(body).toBe('');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|