@gravitee/ui-policy-studio-angular 7.11.0 → 7.12.0-policy-studio-step-7-33cd621
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/esm2020/lib/components/flow-details/gio-ps-flow-details.component.mjs +16 -3
- package/esm2020/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.mjs +58 -16
- package/esm2020/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.mjs +77 -0
- package/esm2020/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.mjs +67 -0
- package/esm2020/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.mjs +46 -0
- package/esm2020/lib/components/step-form/gio-ps-step-form.component.mjs +78 -0
- package/esm2020/lib/gio-policy-studio.component.mjs +47 -12
- package/esm2020/lib/gio-policy-studio.module.mjs +17 -6
- package/esm2020/lib/gio-policy-studio.service.mjs +66 -0
- package/esm2020/lib/models/PolicySchemaFetcher.mjs +2 -0
- package/esm2020/lib/models/index.mjs +3 -1
- package/esm2020/lib/models/policy/Policy.mjs +2 -0
- package/esm2020/lib/models/policy/index.mjs +17 -0
- package/esm2020/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.mjs +19 -5
- package/esm2020/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.mjs +38 -0
- package/esm2020/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.mjs +55 -0
- package/esm2020/testing/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.harness.mjs +30 -0
- package/esm2020/testing/lib/components/step-form/gio-ps-step-form.harness.mjs +37 -0
- package/esm2020/testing/lib/gio-policy-studio.harness.mjs +43 -5
- package/esm2020/testing/lib/models/PolicySchemaFetcher.mjs +2 -0
- package/esm2020/testing/lib/models/flow/Step.fixture.mjs +10 -9
- package/esm2020/testing/lib/models/index-testing.mjs +2 -1
- package/esm2020/testing/lib/models/index.mjs +3 -1
- package/esm2020/testing/lib/models/policy/Policy.fixture.mjs +133 -0
- package/esm2020/testing/lib/models/policy/Policy.mjs +2 -0
- package/esm2020/testing/lib/models/policy/index-testing.mjs +17 -0
- package/esm2020/testing/lib/models/policy/index.mjs +17 -0
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs +316 -20
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs +397 -32
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/fesm2020/gravitee-ui-policy-studio-angular-testing.mjs +336 -20
- package/fesm2020/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2020/gravitee-ui-policy-studio-angular.mjs +403 -32
- package/fesm2020/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/lib/components/flow-details/gio-ps-flow-details.component.d.ts +4 -2
- package/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.d.ts +15 -5
- package/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.d.ts +18 -0
- package/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.d.ts +23 -0
- package/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.d.ts +18 -0
- package/lib/components/step-form/gio-ps-step-form.component.d.ts +23 -0
- package/lib/gio-policy-studio.component.d.ts +31 -2
- package/lib/gio-policy-studio.module.d.ts +17 -14
- package/lib/gio-policy-studio.service.d.ts +26 -0
- package/lib/models/PolicySchemaFetcher.d.ts +4 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/policy/Policy.d.ts +11 -0
- package/lib/models/policy/index.d.ts +1 -0
- package/package.json +1 -1
- package/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.d.ts +11 -4
- package/testing/lib/components/{flow-details-phase-policy/gio-ps-flow-details-phase-policy.harness.d.ts → flow-details-phase-step/gio-ps-flow-details-phase-step.harness.d.ts} +4 -3
- package/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.d.ts +12 -0
- package/testing/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.harness.d.ts +8 -0
- package/testing/lib/components/step-form/gio-ps-step-form.harness.d.ts +11 -0
- package/testing/lib/gio-policy-studio.harness.d.ts +22 -6
- package/testing/lib/models/PolicySchemaFetcher.d.ts +4 -0
- package/testing/lib/models/flow/Step.fixture.d.ts +2 -2
- package/testing/lib/models/index-testing.d.ts +1 -0
- package/testing/lib/models/index.d.ts +2 -0
- package/testing/lib/models/policy/Policy.d.ts +11 -0
- package/testing/lib/models/policy/Policy.fixture.d.ts +4 -0
- package/testing/lib/models/policy/index-testing.d.ts +1 -0
- package/testing/lib/models/policy/index.d.ts +1 -0
- package/esm2020/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.component.mjs +0 -41
- package/esm2020/testing/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.harness.mjs +0 -33
- package/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.component.d.ts +0 -10
|
@@ -7,6 +7,7 @@ import { MatInputHarness } from '@angular/material/input/testing';
|
|
|
7
7
|
import { MatSelectHarness } from '@angular/material/select/testing';
|
|
8
8
|
import { GioFormTagsInputHarness } from '@gravitee/ui-particles-angular';
|
|
9
9
|
import { MatSlideToggleHarness } from '@angular/material/slide-toggle/testing';
|
|
10
|
+
import { MatMenuHarness } from '@angular/material/menu/testing';
|
|
10
11
|
|
|
11
12
|
/*
|
|
12
13
|
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
@@ -130,12 +131,12 @@ function fakeDefaultFlowExecution(modifier) {
|
|
|
130
131
|
* See the License for the specific language governing permissions and
|
|
131
132
|
* limitations under the License.
|
|
132
133
|
*/
|
|
133
|
-
function
|
|
134
|
+
function fakeTestPolicyStep(modifier) {
|
|
134
135
|
const base = {
|
|
135
|
-
name:
|
|
136
|
-
description: '
|
|
136
|
+
name: fakeTestPolicy().name,
|
|
137
|
+
description: 'Test Policy description',
|
|
137
138
|
enabled: true,
|
|
138
|
-
policy: '
|
|
139
|
+
policy: 'test-policy',
|
|
139
140
|
};
|
|
140
141
|
if (isFunction(modifier)) {
|
|
141
142
|
return modifier(base);
|
|
@@ -167,12 +168,12 @@ function fakeRateLimitStep(modifier) {
|
|
|
167
168
|
...modifier,
|
|
168
169
|
};
|
|
169
170
|
}
|
|
170
|
-
function
|
|
171
|
+
function fakeJsonToXmlStep(modifier) {
|
|
171
172
|
const base = {
|
|
172
|
-
name: '
|
|
173
|
-
description: '
|
|
173
|
+
name: 'JSON to XML',
|
|
174
|
+
description: 'JSON to XML',
|
|
174
175
|
enabled: true,
|
|
175
|
-
policy: 'xml
|
|
176
|
+
policy: 'json-xml',
|
|
176
177
|
configuration: {},
|
|
177
178
|
};
|
|
178
179
|
if (isFunction(modifier)) {
|
|
@@ -230,6 +231,154 @@ function fakePlan(modifier) {
|
|
|
230
231
|
};
|
|
231
232
|
}
|
|
232
233
|
|
|
234
|
+
/*
|
|
235
|
+
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
236
|
+
*
|
|
237
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
238
|
+
* you may not use this file except in compliance with the License.
|
|
239
|
+
* You may obtain a copy of the License at
|
|
240
|
+
*
|
|
241
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
242
|
+
*
|
|
243
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
244
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
245
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
246
|
+
* See the License for the specific language governing permissions and
|
|
247
|
+
* limitations under the License.
|
|
248
|
+
*/
|
|
249
|
+
|
|
250
|
+
/*
|
|
251
|
+
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
252
|
+
*
|
|
253
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
254
|
+
* you may not use this file except in compliance with the License.
|
|
255
|
+
* You may obtain a copy of the License at
|
|
256
|
+
*
|
|
257
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
258
|
+
*
|
|
259
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
260
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
261
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
262
|
+
* See the License for the specific language governing permissions and
|
|
263
|
+
* limitations under the License.
|
|
264
|
+
*/
|
|
265
|
+
// 09/06/2023 - All API V4 available policies.
|
|
266
|
+
const POLICIES_V4_UNREGISTERED_ICON = [
|
|
267
|
+
{
|
|
268
|
+
id: 'message-filtering',
|
|
269
|
+
name: 'Message Filtering',
|
|
270
|
+
description: 'Message Filtering Gravitee Policy',
|
|
271
|
+
category: 'others',
|
|
272
|
+
version: '1.1.1',
|
|
273
|
+
proxy: [],
|
|
274
|
+
message: ['MESSAGE_RESPONSE', 'MESSAGE_REQUEST'],
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
id: 'json-xml',
|
|
278
|
+
name: 'JSON to XML',
|
|
279
|
+
description: 'Description of the JSON to XML Transformation Gravitee Policy',
|
|
280
|
+
icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6Izg2YzNkMDt9LmNscy0ye2ZpbGw6I2ZmZjt9LmNscy0ze2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy00e2xldHRlci1zcGFjaW5nOi0wLjAxZW07fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJBUEkiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUwLjM1LDEzLjM3YTQzLDQzLDAsMSwwLDQzLjA1LDQzQTQzLDQzLDAsMCwwLDUwLjM1LDEzLjM3WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTUxLjUsNjQuOTJBNi41Myw2LjUzLDAsMSwxLDU4LDU4LjM5LDYuNTMsNi41MywwLDAsMSw1MS41LDY0LjkyWm0wLTExLjM0YTQuODEsNC44MSwwLDEsMCw0LjgxLDQuODFBNC44MSw0LjgxLDAsMCwwLDUxLjUsNTMuNThaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNjMuOCw3Ny4wOWE0LjgzLDQuODMsMCwxLDEsMy42OS03LjkyLDQuNzQsNC43NCwwLDAsMSwxLjEzLDMuMDlBNC44Myw0LjgzLDAsMCwxLDYzLjgsNzcuMDlabTAtNy45M2EzLjExLDMuMTEsMCwxLDAsMi4zOCwxLjEyQTMuMSwzLjEsMCwwLDAsNjMuOCw2OS4xNloiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik01MS41LDQzLjY4YTQuODUsNC44NSwwLDAsMS00Ljc3LTQuMTQsNSw1LDAsMCwxLDAtLjY5LDQuODMsNC44MywwLDAsMSw5LjY1LDAsMy40NSwzLjQ1LDAsMCwxLS4wNy43NEE0LjgxLDQuODEsMCwwLDEsNTEuNSw0My42OFptMC03LjkzYTMuMSwzLjEsMCwwLDAtMy4xLDMuMSwzLjI1LDMuMjUsMCwwLDAsMCwuNDQsMy4xLDMuMSwwLDAsMCw2LjE0LDAsMi42NiwyLjY2LDAsMCwwLDAtLjQ1QTMuMTEsMy4xMSwwLDAsMCw1MS41LDM1Ljc1WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTMzLjY0LDcwLjE1YTQuODMsNC44MywwLDAsMS0xLjM3LTkuNDYsNSw1LDAsMCwxLDEuMzctLjE5LDQuODIsNC44MiwwLDAsMSw0LjgyLDQuODIsNC44Nyw0Ljg3LDAsMCwxLTIuNzEsNC4zNUE0LjczLDQuNzMsMCwwLDEsMzMuNjQsNzAuMTVabTAtNy45M2EzLDMsMCwwLDAtLjg5LjEzLDMuMSwzLjEsMCwwLDAsLjg5LDYuMDhBMywzLDAsMCwwLDM1LDY4LjEyYTMuMTEsMy4xMSwwLDAsMC0xLjM1LTUuOVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0zMi4xOCw1Ni4zNWgtLjEyYS44Ny44NywwLDAsMS0uNzMtMUEyMC40NywyMC40NywwLDAsMSw0Miw0MC4zM2EuODYuODYsMCwxLDEsLjgsMS41MkExOC43NywxOC43NywwLDAsMCwzMyw1NS42MS44Ni44NiwwLDAsMSwzMi4xOCw1Ni4zNVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik01MS41LDc4Ljc5YTIwLjE3LDIwLjE3LDAsMCwxLTEyLjI3LTQuMTEuODYuODYsMCwwLDEtLjE3LTEuMjEuODUuODUsMCwwLDEsMS4yLS4xNkExOC41MiwxOC41MiwwLDAsMCw1MS41LDc3LjA3LDE4LjIzLDE4LjIzLDAsMCwwLDU1LDc2LjczYS44Ny44NywwLDAsMSwuMzMsMS43QTIwLjg3LDIwLjg3LDAsMCwxLDUxLjUsNzguNzlaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNzAsNjUuNDJhLjg0Ljg0LDAsMCwxLS4yNywwLC44Ni44NiwwLDAsMS0uNTQtMS4wOSwxOC43MSwxOC43MSwwLDAsMC04LjU1LTIyLjE3Ljg2Ljg2LDAsMSwxLC44NS0xLjUsMjAuNDIsMjAuNDIsMCwwLDEsOS4zMywyNC4yMUEuODcuODcsMCwwLDEsNzAsNjUuNDJaIi8+PC9nPjxnIGlkPSJIT1NUSU5HIj48dGV4dCBjbGFzcz0iY2xzLTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3LjkzIC00Ljk4KSI+WE1MIDx0c3BhbiBjbGFzcz0iY2xzLTQiIHg9IjI0LjcxIiB5PSIwIj50PC90c3Bhbj48dHNwYW4geD0iMjguNjEiIHk9IjAiPm8gSlNPTjwvdHNwYW4+PC90ZXh0PjwvZz48L3N2Zz4=',
|
|
281
|
+
category: 'transformation',
|
|
282
|
+
version: '2.1.4',
|
|
283
|
+
proxy: ['REQUEST', 'RESPONSE'],
|
|
284
|
+
message: ['MESSAGE_RESPONSE', 'MESSAGE_REQUEST'],
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
id: 'avro-json',
|
|
288
|
+
name: 'Avro JSON Transformation',
|
|
289
|
+
description: 'Policy used to transform Avro to JSON',
|
|
290
|
+
icon: 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij48cGF0aCBkPSJNMTcwLjkxNjY3MTgsMzAzLjU3MTYyNDhoLTYuMzQzNDE0M2wzLjY1OTI4NjUtMTUuNDk2MzM3OUwxNzAuOTE2NjcxOCwzMDMuNTcxNjI0OHogTTIxOC44NDU1ODExLDIxMy41OTI4ODAybC0zMy45MTM1NTksMjMuNTE3MjExOWMtMzEuMTk2MDQ0OS0zMC44NDg4NjE3LTgxLjI2NzUzMjMtMy4xMDUzNDY3LTE0NS4yNzcwNjkxLTMxLjk1NDgwMzVDOTMuMzc1MjM2NSwyMTcuOTY2ODQyNywxNjUuMjA1MDE3MSwxOTAuNDQzNjQ5MywyMTguODQ1NTgxMSwyMTMuNTkyODgwMnogTTQxLjUwNzQxMiwyMTYuMjQ4NTA0NmMzMS4zNTk3NTI3LDExLjY5MzY5NTEsNjEuODQwMjc0OCwxNi4xMzY4NDA4LDk0LjIyNzMyNTQsMTQuNjM3MDg1YzMuNTMyOTU5LDEuNTc2MjAyNCw2LjMzODQyNDcsNS4wMjUxMTYsNy45NDYzMDQzLDguMzEwNzc1OEM4My4yODA4MDc1LDI0NS4xMzg1MTkzLDU2LjEwNzQ5ODIsMjI3LjAzOTMzNzIsNDEuNTA3NDEyLDIxNi4yNDg1MDQ2eiBNNTUuMDY1NzczLDIzNS4wMzQ3MTM3YzI4Ljc4NDI0ODQsMTEuMDQ3NTc2OSw1NC44ODU4MDMyLDE3LjU3MjQ3OTIsOTIuMDUzNjQyMywxMS4wNTU2OTQ2YzAsMCw1LjUwOTgxMTQsNC40MzA5OTk4LDUuNjYxNjk3NCw2LjczMzYyNzNDMTAyLjgyODg1NzQsMjYyLjEzMjMyNDIsODMuMzU2MDU2MiwyNTQuMDE2NjkzMSw1NS4wNjU3NzMsMjM1LjAzNDcxMzd6IE0xNTQuNTg0ODU0MSwyNjAuNDQyOTYyNmMtMjcuMDAxNTMzNSwxNC40NTA5Mjc3LTYyLjQ3NzgxMzcsMTAuNTAxMDA3MS03MC42MjIxMDA4LTAuMzQ2MjUyNEMxMTMuMjc0MzQ1NCwyNjUuODk4Mjg0OSwxMzIuNDMzMDEzOSwyNjQuODczMzUyMSwxNTQuNTg0ODU0MSwyNjAuNDQyOTYyNnogTTQ3Mi4zNDUwMzE3LDIwNS4xNTUyODg3Yy02NC4wMDk1MjE1LDI4Ljg0OTQ1NjgtMTE0LjA4MDk5MzcsMS4xMDU5NDE4LTE0NS4yNzcwNjkxLDMxLjk1NDgwMzVsLTMzLjkxMzU0MzctMjMuNTE3MjExOUMzNDYuNzk0OTgyOSwxOTAuNDQzNjQ5Myw0MTguNjI0NzU1OSwyMTcuOTY2ODQyNyw0NzIuMzQ1MDMxNywyMDUuMTU1Mjg4N3ogTTM2OC4zMTg5Njk3LDIzOS4xOTYzNjU0YzEuNjA3ODQ5MS0zLjI4NTY1OTgsNC40MTMzMzAxLTYuNzM0NTczNCw3Ljk0NjI4OTEtOC4zMTA3NzU4YzMyLjM4NzA1NDQsMS40OTk3NTU5LDYyLjg2NzU4NDItMi45NDMzODk5LDk0LjIyNzMyNTQtMTQuNjM3MDg1QzQ1NS44OTI0ODY2LDIyNy4wMzkzMzcyLDQyOC43MTkxNzcyLDI0NS4xMzg1MTkzLDM2OC4zMTg5Njk3LDIzOS4xOTYzNjU0eiBNMzU5LjIxODkwMjYsMjUyLjgyNDAzNTZjMC4xNTE4NTU1LTIuMzAyNjI3Niw1LjY2MTY4MjEtNi43MzM2MjczLDUuNjYxNjgyMS02LjczMzYyNzNjMzcuMTY3ODQ2Nyw2LjUxNjc4NDcsNjMuMjY5NDA5Mi0wLjAwODExNzcsOTIuMDUzNjQ5OS0xMS4wNTU2OTQ2QzQyOC42NDM5NTE0LDI1NC4wMTY2OTMxLDQwOS4xNzExNDI2LDI2Mi4xMzIzMjQyLDM1OS4yMTg5MDI2LDI1Mi44MjQwMzU2eiBNNDI4LjAzNzIzMTQsMjYwLjA5NjcxMDJjLTguMTQ0MjU2NiwxMC44NDcyNTk1LTQzLjYyMDU0NDQsMTQuNzk3MTgwMi03MC42MjIwNzAzLDAuMzQ2MjUyNEMzNzkuNTY2OTg2MSwyNjQuODczMzUyMSwzOTguNzI1NjQ3LDI2NS44OTgyODQ5LDQyOC4wMzcyMzE0LDI2MC4wOTY3MTAyeiBNMTQ3LjIwMDUzMSwzMTguNDk3MjgzOUg5OC41OTU4NjMzbDYwLjEwMzI5NDQtNDAuMjE5MDI0N0wxNDcuMjAwNTMxLDMxOC40OTcyODM5eiBNMTYwLjQxNzU1NjgsMzE4LjY2MDQwMDRsMS4xMjUwNDU4LTQuOTUzMzY5MWgxMS45OTE0MjQ2bDAuOTgxMjE2NCw0Ljk1MzM2OTFIMTYwLjQxNzU1Njh6IE0xODguMzEzODU4LDMxOC43NzAxMTExbC0xNC40NjAwMjItNTAuNTgyNzYzN2wxOS4xNjM4NjQxLTEzLjIzNTI5MDVsMTkuNDQ1MDUzMSw2My44MTgwNTQySDE4OC4zMTM4NTh6IE0yMDQuNjQ3ODI3MSwyNDcuMjI4NDg1MWwzMC40NDY1NDg1LTIwLjYyOTgzN2wtMTYuNDUyNjY3Miw2Ny43NjY3MDg0TDIwNC42NDc4MjcxLDI0Ny4yMjg0ODUxeiBNMjUzLjc1OTAxNzksMzE4LjQ0MTA3MDZoLTI4LjU1NDUxOTdsMjUuMTYzNDIxNi0xMDEuOTY5OTcwN2wzLjM5MTA5OC0xLjg2NDYwODhWMzE4LjQ0MTA3MDZ6IE0yNjUuOTcwNTUwNSwyMzEuMjY5MzYzNGMyNi4xNTI5NTQxLDI0Ljg1Nzk1NTksMjkuMDIxODgxMSwzNi4yNTI5NzU1LDAsMzcuNDExNTc1M1YyMzEuMjY5MzYzNHogTTI2Ni4xMzUwNzA4LDMxOC42NjA0MDA0bDAuMDQ1NzE1My0zMi44NTA0NjM5bDIyLjc2ODY0NjIsMzIuODUwNDYzOUgyNjYuMTM1MDcwOHogTTMwMy4zNTQ2MTQzLDMxOC42NjA0NjE0bC0yNS44ODU0OTgtMzguNTU0MTM4MmMyNC44ODgwOTItNS43ODE1ODU3LDI5LjAzMjE5Ni0yMi4yNjQ4NjIxLDguMDk4Mjk3MS00Ny40MjAxODEzYzE1LjQyODk4NTYsMTAuNzMwODA0NCwzMS4yNjAxMzE4LDIwLjYwMjM3MTIsNDYuNTA2MjI1NiwzMS41NzA4NDY2Yy0yMS40MjgyMjI3LDguMjUxNzctMjguMzY2MDg4OSwzOS40MDI0MzUzLTIuOTI0ODk2Miw1NC40MDM0NzI5SDMwMy4zNTQ2MTQzeiBNMzI3LjU4Mzg2MjMsMjk5LjgyNDY0NmMtOS42NDE4MTUyLTE4Ljc4MDI0MjksMTYuNTM3MjkyNS0zNy4yMzYyNjcxLDIyLjQ3ODAyNzMtMTAuMzk1MDgwNkMzNTIuMDAyNTk0LDMwNS44NzY5MjI2LDMzNS41MjY3NjM5LDMxNS4xODQxNzM2LDMyNy41ODM4NjIzLDI5OS44MjQ2NDZ6IE00MTMuMjAzNjQzOCwzMTguMzg2MjMwNWgtNjcuNjM4NzMyOWMxMy4xMjM4NDAzLTYuMDkzNTk3NCwxOS45MjA3NzY0LTIwLjc5NjE3MzEsMTYuMDMyMTY1NS0zNC43MzM0MjlMNDEzLjIwMzY0MzgsMzE4LjM4NjIzMDV6IE0yMjguODQyMzYxNSwyMDcuNDAzODU0NGMtODIuMjkwMTE1NC0zOC4wNzIwNjczLTE3MC45NzQ3MTYyLDI0LjgzMTgzMjktMjI4LjgxMzU5ODYtMzEuMjg0NzljLTEuMDczMDQ5NywyMC41NTQ5NjIyLDI4LjE1MzU2NDUsMzkuOTczMjIwOCw0MC44NjkyNDc0LDU4LjI4NTQxNTZjNy4yNTAyNDAzLDEzLjEwNTU0NSwyMS43OTM3MzkzLDI1LjE5NTA5ODksMzQuNjYwMzI3OSwzMS4xMzIxMTA2YzguMTc5NjQ5NCwxNC4zNjc5NTA0LDE3LjczMDE4NjUsMTMuMDAwNzAxOSw0NS44NDgxMTQsMTMuNjc0MDExMmwtODMuMTc3MzY4Miw1Ni42NzAzMTg2aDQzNS44ODU5MjUzbC04My41MjE0ODQ0LTU2LjY3MDMxODZjMjguMTE3OTUwNC0wLjY3MzMwOTMsMzcuNjY4NDg3NSwwLjY5MzkzOTIsNDUuODQ4MTE0LTEzLjY3NDAxMTJjMTIuODY2NjA3Ny01LjkzNzAxMTcsMjcuNDEwMDk1Mi0xOC4wMjY1NjU2LDM0LjY2MDMzOTQtMzEuMTMyMTEwNmMxMi43MTU2Njc3LTE4LjMxMjE5NDgsNDEuOTQyMzIxOC0zNy43MzA0NTM1LDQwLjg2OTIzMjItNTguMjg1NDE1NmMtNTcuODM4ODY3Miw1Ni4xMTY2MjI5LTE0Ni40OTc2NTAxLTYuNzg3Mjc3Mi0yMjguNzg3NzgwOCwzMS4yODQ3OWwtMjcuMTc1OTMzOC0xOC4wNzk2NTA5TDIyOC44NDIzNjE1LDIwNy40MDM4NTQ0eiIvPjwvc3ZnPg==',
|
|
291
|
+
category: 'transformation',
|
|
292
|
+
version: '1.2.0-alpha.2',
|
|
293
|
+
proxy: ['REQUEST', 'RESPONSE'],
|
|
294
|
+
message: ['MESSAGE_RESPONSE', 'MESSAGE_REQUEST'],
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
id: 'jwt',
|
|
298
|
+
name: 'JSON Web Tokens',
|
|
299
|
+
description: 'Description of the JWT Gravitee Policy',
|
|
300
|
+
icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6Izg2YzNkMDt9LmNscy0ye2ZpbGw6I2ZmZjt9LmNscy0ze2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy00e2xldHRlci1zcGFjaW5nOjAuMDNlbTt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkFQSSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTAuMzUsMTMuMzdhNDMsNDMsMCwxLDAsNDMuMDUsNDNBNDMsNDMsMCwwLDAsNTAuMzUsMTMuMzdaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNDEuNzksNjEuNjdhMTMuODIsMTMuODIsMCwxLDEsMTIuNTctOCwuODcuODcsMCwwLDEtMS4xNS40Mi44Ni44NiwwLDAsMS0uNDItMS4xNCwxMi4xMiwxMi4xMiwwLDEsMC0yLjQ0LDMuNDkuODYuODYsMCwxLDEsMS4yMiwxLjIyQTEzLjgsMTMuOCwwLDAsMSw0MS43OSw2MS42N1oiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik02OC4zMSw3OC44YTQuNCw0LjQsMCwwLDEtMy4xNC0xLjNMNTUuNiw2Ny45M2EuODYuODYsMCwxLDEsMS4yMi0xLjIybDkuNTcsOS41N2EyLjc3LDIuNzcsMCwwLDAsMy44NCwwLDIuNzIsMi43MiwwLDAsMCwwLTMuODNsLTkuNTctOS41OGEyLjc5LDIuNzksMCwwLDAtMy44NCwwLC44OC44OCwwLDAsMS0xLjIyLDBsLTUuMjUtNS4yNGEuODguODgsMCwwLDEsMC0xLjIyLjg2Ljg2LDAsMCwxLDEuMjIsMGw0LjcsNC43YTQuNDMsNC40MywwLDAsMSw1LjYuNTVsOS41OCw5LjU3YTQuNDQsNC40NCwwLDAsMS0zLjE0LDcuNTdaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNDYuMzYsNTMuMjdhLjg1Ljg1LDAsMCwxLS42MS0uMjVsLTkuMTQtOS4xM2EuODguODgsMCwwLDEsMC0xLjIyLjg2Ljg2LDAsMCwxLDEuMjIsMEw0Nyw1MS44QS44OC44OCwwLDAsMSw0Nyw1MywuODUuODUsMCwwLDEsNDYuMzYsNTMuMjdaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzcuMjIsNTMuMjdhLjg1Ljg1LDAsMCwxLS42MS0uMjUuODguODgsMCwwLDEsMC0xLjIybDkuMTQtOS4xM2EuODYuODYsMCwwLDEsMS4yMiwwLC44OC44OCwwLDAsMSwwLDEuMjJMMzcuODMsNTNBLjg1Ljg1LDAsMCwxLDM3LjIyLDUzLjI3WiIvPjwvZz48ZyBpZD0iSE9TVElORyI+PHRleHQgY2xhc3M9ImNscy0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNy45MyAtNC45OCkiPko8dHNwYW4gY2xhc3M9ImNscy00IiB4PSI0LjQ0IiB5PSIwIj5XPC90c3Bhbj48dHNwYW4geD0iMTQuOTkiIHk9IjAiPlQ8L3RzcGFuPjwvdGV4dD48L2c+PC9zdmc+',
|
|
301
|
+
category: 'security',
|
|
302
|
+
version: '3.2.0',
|
|
303
|
+
proxy: ['REQUEST'],
|
|
304
|
+
message: ['REQUEST'],
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
id: 'key-less',
|
|
308
|
+
name: 'Keyless',
|
|
309
|
+
description: 'Description of the Keyless Security Gravitee Policy',
|
|
310
|
+
icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6Izg2YzNkMDt9LmNscy0ye2ZpbGw6I2ZmZjt9LmNscy0ze2ZpbGw6bm9uZTtzdHJva2U6I2ZmZjtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2Utd2lkdGg6MnB4O308L3N0eWxlPjwvZGVmcz48ZyBpZD0iQVBJIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01MC4zNSwxNC4yNGE0Myw0MywwLDEsMCw0My4wNSw0M0E0Myw0MywwLDAsMCw1MC4zNSwxNC4yNFoiLz48L2c+PGcgaWQ9IkhPU1RJTkciPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTU3LjU2LDg4LjYzSDQzLjE1YTIuOSwyLjksMCwwLDEtMi45LTIuOVY3Ni42MmEyLjg5LDIuODksMCwwLDEsMi45LTIuODlINTcuNTZhMi44OSwyLjg5LDAsMCwxLDIuOSwyLjg5djkuMTFBMi45LDIuOSwwLDAsMSw1Ny41Niw4OC42M1pNNDMuMTUsNzYuMTRhLjQ4LjQ4LDAsMCwwLS40OS40OHY5LjExYS40OS40OSwwLDAsMCwuNDkuNDlINTcuNTZhLjQ5LjQ5LDAsMCwwLC40OS0uNDlWNzYuNjJhLjQ4LjQ4LDAsMCwwLS40OS0uNDhaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTAuMzUsNjMuNjJBNy41OCw3LjU4LDAsMCwwLDQyLjg5LDcwaDIuNDdhNS4xNSw1LjE1LDAsMCwxLDEwLjE1LDEuMjN2My43NGExLjIxLDEuMjEsMCwxLDAsMi40MSwwVjcxLjE5QTcuNTgsNy41OCwwLDAsMCw1MC4zNSw2My42MloiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0yNi4xNiw0Ny40M2EyNS4yMiwyNS4yMiwwLDAsMSw0OC4zOS0uMzEiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0zMi4xMiw1Mi44YTE5LDE5LDAsMCwxLDM2LjQ3LS4yMyIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTM5LjM0LDU2LjY1YTExLDExLDAsMCwxLDIxLjE3LS4xNCIvPjwvZz48L3N2Zz4=',
|
|
311
|
+
category: 'security',
|
|
312
|
+
version: '2.2.0',
|
|
313
|
+
proxy: ['REQUEST'],
|
|
314
|
+
message: ['REQUEST'],
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
id: 'api-key',
|
|
318
|
+
name: 'Api Key',
|
|
319
|
+
description: 'Description of the ApiKey Gravitee Policy',
|
|
320
|
+
icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6Izg2YzNkMDt9LmNscy0ye2ZpbGw6I2ZmZjt9LmNscy0ze2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy00e2xldHRlci1zcGFjaW5nOjBlbTt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkFQSSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTAuMzUsMTMuMzdhNDMsNDMsMCwxLDAsNDMuMDUsNDNBNDMsNDMsMCwwLDAsNTAuMzUsMTMuMzdaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNjcuMzMsNzguNjVIMzkuNzhBMi42MSwyLjYxLDAsMCwxLDM3LjE3LDc2VjcxLjg4YS44NC44NCwwLDAsMSwuMzYtLjcsNy4wNiw3LjA2LDAsMCwwLDItMi4yMS44NS44NSwwLDAsMSwuNzUtLjQzSDQyLjZMNDUsNjYuNzlhLjg2Ljg2LDAsMCwxLDEtLjA1bDIuNzIsMS42NCwyLjUzLTEuNjJhLjg2Ljg2LDAsMCwxLDEsMGwuNDkuMzhWNjIuNDZINDAuMjhhLjg2Ljg2LDAsMCwxLS43NS0uNDQsNi43Niw2Ljc2LDAsMCwwLTItMi4xOS44OC44OCwwLDAsMS0uMzYtLjcxVjU1YTIuNjIsMi42MiwwLDAsMSwyLjYxLTIuNjJINjcuMzNBMi42MywyLjYzLDAsMCwxLDcwLDU1Vjc2QTIuNjIsMi42MiwwLDAsMSw2Ny4zMyw3OC42NVpNMzguOSw3Mi4zMlY3NmEuODkuODksMCwwLDAsLjg4Ljg4SDY3LjMzYS44Ny44NywwLDAsMCwuODgtLjg4VjU1YS44OC44OCwwLDAsMC0uODgtLjg4SDM5Ljc4YS44OS44OSwwLDAsMC0uODguODh2My43MmE4LjYyLDguNjIsMCwwLDEsMS44NywySDUzLjU1YS44Ny44NywwLDAsMSwuODcuODdWNjlhLjg3Ljg3LDAsMCwxLS40OS43OC44Ni44NiwwLDAsMS0uOTEtLjFsLTEuNDEtMS4xMS0yLjQ2LDEuNTlhLjg3Ljg3LDAsMCwxLS45MiwwbC0yLjY5LTEuNjJMNDMuNCw3MC4xMWEuOTQuOTQsMCwwLDEtLjUyLjE2SDQwLjc3QTguNjksOC42OSwwLDAsMSwzOC45LDcyLjMyWiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTY1Ljg0LDU0LjA4SDYxLjQ3YS44Ny44NywwLDAsMS0uODctLjg3di01LjlhNyw3LDAsMCwwLTE0LjA4LDB2NS45YS44Ny44NywwLDAsMS0uODcuODdINDEuMjhhLjg3Ljg3LDAsMCwxLS44Ny0uODd2LTUuOWExMy4xNSwxMy4xNSwwLDEsMSwyNi4zLDB2NS45QS44Ny44NywwLDAsMSw2NS44NCw1NC4wOFptLTMuNS0xLjc0SDY1di01YTExLjQxLDExLjQxLDAsMSwwLTIyLjgyLDB2NWgyLjYzdi01YTguNzgsOC43OCwwLDAsMSwxNy41NiwwWiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTMxLjcxLDY5YTMuNTEsMy41MSwwLDEsMSwzLjUxLTMuNTFBMy41MSwzLjUxLDAsMCwxLDMxLjcxLDY5Wm0wLTUuMjlhMS43OCwxLjc4LDAsMSwwLDEuNzcsMS43OEExLjc4LDEuNzgsMCwwLDAsMzEuNzEsNjMuNzJaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzMuNDgsNzQuMjJhOC43Miw4LjcyLDAsMSwxLDUuMDYtMTUuODEsOC41OSw4LjU5LDAsMCwxLDIuMjMsMi4zMUg1My41NWEuODcuODcsMCwwLDEsLjg3Ljg3VjY5YS44Ny44NywwLDAsMS0uNDkuNzguODYuODYsMCwwLDEtLjkxLS4xbC0xLjQxLTEuMTEtMi40NiwxLjU5YS44Ny44NywwLDAsMS0uOTIsMGwtMi42OS0xLjYyTDQzLjQsNzAuMTFhLjk0Ljk0LDAsMCwxLS41Mi4xNkg0MC43N2E4Ljc1LDguNzUsMCwwLDEtNy4yOSw0Wm0wLTE1LjY5YTcsNywwLDEsMCw0LjA1LDEyLjY1LDcuMDYsNy4wNiwwLDAsMCwyLTIuMjEuODUuODUsMCwwLDEsLjc1LS40M0g0Mi42TDQ1LDY2Ljc5YS44Ni44NiwwLDAsMSwxLS4wNWwyLjcyLDEuNjQsMi41My0xLjYyYS44Ni44NiwwLDAsMSwxLDBsLjQ5LjM4VjYyLjQ2SDQwLjI4YS44Ni44NiwwLDAsMS0uNzUtLjQ0LDYuNzYsNi43NiwwLDAsMC0yLTIuMTlBNi45Myw2LjkzLDAsMCwwLDMzLjQ4LDU4LjUzWk0zMS43MSw2OWEzLjUxLDMuNTEsMCwxLDEsMy41MS0zLjUxQTMuNTEsMy41MSwwLDAsMSwzMS43MSw2OVptMC01LjI5YTEuNzgsMS43OCwwLDEsMCwxLjc3LDEuNzhBMS43OCwxLjc4LDAsMCwwLDMxLjcxLDYzLjcyWiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTMxLjcxLDY5YTMuNTEsMy41MSwwLDEsMSwzLjUxLTMuNTFBMy41MSwzLjUxLDAsMCwxLDMxLjcxLDY5Wm0wLTUuMjlhMS43OCwxLjc4LDAsMSwwLDEuNzcsMS43OEExLjc4LDEuNzgsMCwwLDAsMzEuNzEsNjMuNzJaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTMuNTYsNzMuNjlhLjg3Ljg3LDAsMCwxLS44Ny0uODdWNjlhLjg3Ljg3LDAsMCwxLDEuNzQsMHYzLjg1QS44Ny44NywwLDAsMSw1My41Niw3My42OVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik01My41Niw2Mi4zN2EuODcuODcsMCwwLDEtLjg3LS44N1Y1Ny42NWEuODcuODcsMCwwLDEsMS43NCwwVjYxLjVBLjg3Ljg3LDAsMCwxLDUzLjU2LDYyLjM3WiIvPjwvZz48ZyBpZD0iSE9TVElORyI+PHRleHQgY2xhc3M9ImNscy0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNy45MyAtNC45OCkiPjx0c3BhbiBjbGFzcz0iY2xzLTQiPkE8L3RzcGFuPjx0c3BhbiB4PSI3LjMxIiB5PSIwIj5waSBLZXk8L3RzcGFuPjwvdGV4dD48L2c+PC9zdmc+',
|
|
321
|
+
category: 'security',
|
|
322
|
+
version: '3.2.1',
|
|
323
|
+
proxy: ['REQUEST'],
|
|
324
|
+
message: ['REQUEST'],
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
id: 'oauth2',
|
|
328
|
+
name: 'OAuth2',
|
|
329
|
+
description: 'Description of the OAuth2 Gravitee Policy',
|
|
330
|
+
icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6Izg2YzNkMDt9LmNscy0ye2ZpbGw6I2ZmZjt9LmNscy0ze2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy00e2xldHRlci1zcGFjaW5nOi0wLjAxZW07fS5jbHMtNXtsZXR0ZXItc3BhY2luZzowLjAxZW07fS5jbHMtNntsZXR0ZXItc3BhY2luZzowZW07fS5jbHMtN3tsZXR0ZXItc3BhY2luZzotMC4wMWVtO30uY2xzLTh7bGV0dGVyLXNwYWNpbmc6MC4wMWVtO30uY2xzLTl7bGV0dGVyLXNwYWNpbmc6LTAuMDFlbTt9LmNscy0xMHtsZXR0ZXItc3BhY2luZzotMC4wMWVtO30uY2xzLTExe2xldHRlci1zcGFjaW5nOi0wLjAxZW07fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJBUEkiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUwLjM1LDEzLjM3YTQzLDQzLDAsMSwwLDQzLjA1LDQzQTQzLDQzLDAsMCwwLDUwLjM1LDEzLjM3WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTUwLjE5LDMzLjc1YzUuOCwwLDYuNTUuNTMsOC4zNiw2UTYzLjg5LDU1Ljg4LDY5LjIxLDcyYy45MywyLjgxLjA3LDUuMjUtMi4wOCw2LjM4LTIuODgsMS41MS01Ljg3LjMxLTcuMDgtMi45NC0uNzktMi4xMi0xLjMxLTQuMzUtMi4yMy02LjQxYTMuMjksMy4yOSwwLDAsMC0yLjI0LTEuNzcsOTIuMyw5Mi4zLDAsMCwwLTEwLjUyLDAsMy4yNywzLjI3LDAsMCwwLTIuMTksMS44Yy0uODUsMi0xLjMyLDQuMTMtMiw2LjE4LTEuMDYsMy0zLjQ3LDQuMzItNi4xNywzLjQ5LTIuODctLjg4LTQuMTktMy4zNy0zLjIyLTYuNXE1LTE2LjExLDEwLjEyLTMyLjE3QzQzLjQsMzQuMjcsNDQuMTIsMzMuNzUsNTAuMTksMzMuNzVaIi8+PC9nPjxnIGlkPSJIT1NUSU5HIj48dGV4dCBjbGFzcz0iY2xzLTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkyLjQ1IC00Ljk4KSI+T3BlbklEIDx0c3BhbiBjbGFzcz0iY2xzLTQiIHg9IjQxLjE3IiB5PSIwIj5DPC90c3Bhbj48dHNwYW4geD0iNDgiIHk9IjAiPm9ubmU8L3RzcGFuPjx0c3BhbiBjbGFzcz0iY2xzLTUiIHg9IjczLjkyIiB5PSIwIj5jPC90c3Bhbj48dHNwYW4gY2xhc3M9ImNscy02IiB4PSI3OS40NSIgeT0iMCI+dCAtIDwvdHNwYW4+PHRzcGFuIGNsYXNzPSJjbHMtNyIgeD0iOTIuMTkiIHk9IjAiPlU8L3RzcGFuPjx0c3BhbiB4PSI5OS44OSIgeT0iMCI+c2VyPC90c3Bhbj48dHNwYW4gY2xhc3M9ImNscy04IiB4PSIxMTQuNTciIHk9IjAiPkk8L3RzcGFuPjx0c3BhbiB4PSIxMTcuNTYiIHk9IjAiPm48L3RzcGFuPjx0c3BhbiBjbGFzcz0iY2xzLTkiIHg9IjEyNC4yMiIgeT0iMCI+ZjwvdHNwYW4+PHRzcGFuIHg9IjEyNy41NyIgeT0iMCI+bzwvdHNwYW4+PC90ZXh0Pjx0ZXh0IGNsYXNzPSJjbHMtMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcuOTMgLTQuOTgpIj48dHNwYW4gY2xhc3M9ImNscy0xMCI+TzwvdHNwYW4+PHRzcGFuIGNsYXNzPSJjbHMtMTEiIHg9IjguMSIgeT0iMCI+QTwvdHNwYW4+PHRzcGFuIHg9IjE1LjMiIHk9IjAiPnV0aDI8L3RzcGFuPjwvdGV4dD48L2c+PC9zdmc+',
|
|
331
|
+
category: 'security',
|
|
332
|
+
version: '2.2.0',
|
|
333
|
+
proxy: ['REQUEST'],
|
|
334
|
+
message: ['REQUEST'],
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
id: 'json-to-json',
|
|
338
|
+
name: 'JSON to JSON Transformation',
|
|
339
|
+
description: 'Description of the JSON to JSON Transformation Gravitee Policy',
|
|
340
|
+
icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6Izg2YzNkMDt9LmNscy0ye2ZpbGw6I2ZmZjt9LmNscy0ze2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy00e2xldHRlci1zcGFjaW5nOi0wLjAxZW07fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJBUEkiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUwLjM1LDEzLjM3YTQzLDQzLDAsMSwwLDQzLjA1LDQzQTQzLDQzLDAsMCwwLDUwLjM1LDEzLjM3WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTYzLjgsNzcuMDlhNC44Myw0LjgzLDAsMSwxLDMuNjktNy45Miw0Ljc0LDQuNzQsMCwwLDEsMS4xMywzLjA5QTQuODMsNC44MywwLDAsMSw2My44LDc3LjA5Wm0wLTcuOTNhMy4xMSwzLjExLDAsMSwwLDIuMzgsMS4xMkEzLjEsMy4xLDAsMCwwLDYzLjgsNjkuMTZaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTEuNSw0My42OGE0Ljg1LDQuODUsMCwwLDEtNC43Ny00LjE0LDUsNSwwLDAsMSwwLS42OSw0LjgzLDQuODMsMCwwLDEsOS42NSwwLDMuNDUsMy40NSwwLDAsMS0uMDcuNzRBNC44MSw0LjgxLDAsMCwxLDUxLjUsNDMuNjhabTAtNy45M2EzLjEsMy4xLDAsMCwwLTMuMSwzLjEsMy4yNSwzLjI1LDAsMCwwLDAsLjQ0LDMuMSwzLjEsMCwwLDAsNi4xNCwwLDIuNjYsMi42NiwwLDAsMCwwLS40NUEzLjExLDMuMTEsMCwwLDAsNTEuNSwzNS43NVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0zMy42NCw3MC4xNWE0LjgzLDQuODMsMCwwLDEtMS4zNy05LjQ2LDUsNSwwLDAsMSwxLjM3LS4xOSw0LjgyLDQuODIsMCwwLDEsNC44Miw0LjgyLDQuODcsNC44NywwLDAsMS0yLjcxLDQuMzVBNC43Myw0LjczLDAsMCwxLDMzLjY0LDcwLjE1Wm0wLTcuOTNhMywzLDAsMCwwLS44OS4xMywzLjEsMy4xLDAsMCwwLC44OSw2LjA4QTMsMywwLDAsMCwzNSw2OC4xMmEzLjExLDMuMTEsMCwwLDAtMS4zNS01LjlaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzIuMTgsNTYuMzVoLS4xMmEuODcuODcsMCwwLDEtLjczLTFBMjAuNDcsMjAuNDcsMCwwLDEsNDIsNDAuMzNhLjg2Ljg2LDAsMSwxLC44LDEuNTJBMTguNzcsMTguNzcsMCwwLDAsMzMsNTUuNjEuODYuODYsMCwwLDEsMzIuMTgsNTYuMzVaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTEuNSw3OC43OWEyMC4xNywyMC4xNywwLDAsMS0xMi4yNy00LjExLjg2Ljg2LDAsMCwxLS4xNy0xLjIxLjg1Ljg1LDAsMCwxLDEuMi0uMTZBMTguNTIsMTguNTIsMCwwLDAsNTEuNSw3Ny4wNywxOC4yMywxOC4yMywwLDAsMCw1NSw3Ni43M2EuODcuODcsMCwwLDEsLjMzLDEuN0EyMC44NywyMC44NywwLDAsMSw1MS41LDc4Ljc5WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTcwLDY1LjQyYS44NC44NCwwLDAsMS0uMjcsMCwuODYuODYsMCwwLDEtLjU0LTEuMDksMTguNzEsMTguNzEsMCwwLDAtOC41NS0yMi4xNy44Ni44NiwwLDEsMSwuODUtMS41LDIwLjQyLDIwLjQyLDAsMCwxLDkuMzMsMjQuMjFBLjg3Ljg3LDAsMCwxLDcwLDY1LjQyWiIvPjwvZz48ZyBpZD0iSE9TVElORyI+PHRleHQgY2xhc3M9ImNscy0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNy45MyAtNC45OCkiPkpTT04gPHRzcGFuIGNsYXNzPSJjbHMtNCIgeD0iMjkuMDYiIHk9IjAiPnQ8L3RzcGFuPjx0c3BhbiB4PSIzMi45NiIgeT0iMCI+byBKU09OPC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==',
|
|
341
|
+
category: 'transformation',
|
|
342
|
+
version: '2.1.0',
|
|
343
|
+
proxy: ['REQUEST', 'RESPONSE'],
|
|
344
|
+
message: ['MESSAGE_RESPONSE', 'MESSAGE_REQUEST'],
|
|
345
|
+
},
|
|
346
|
+
];
|
|
347
|
+
function fakeTestPolicy(modifier) {
|
|
348
|
+
const base = {
|
|
349
|
+
id: 'test-policy',
|
|
350
|
+
name: 'Policy to test UI',
|
|
351
|
+
icon: 'gio:gift',
|
|
352
|
+
proxy: ['REQUEST', 'RESPONSE'],
|
|
353
|
+
message: ['REQUEST', 'RESPONSE', 'MESSAGE_RESPONSE', 'MESSAGE_REQUEST'],
|
|
354
|
+
};
|
|
355
|
+
if (isFunction(modifier)) {
|
|
356
|
+
return modifier(base);
|
|
357
|
+
}
|
|
358
|
+
return {
|
|
359
|
+
...base,
|
|
360
|
+
...modifier,
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
function fakeAllPolicies() {
|
|
364
|
+
return [
|
|
365
|
+
fakeTestPolicy(),
|
|
366
|
+
fakeTestPolicy({
|
|
367
|
+
name: 'Test policy - Witout icon',
|
|
368
|
+
icon: undefined,
|
|
369
|
+
}),
|
|
370
|
+
fakeTestPolicy({
|
|
371
|
+
name: 'Test policy - With very long name to test overflow. Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
|
|
372
|
+
description: 'Test policy description - With very long name to test overflow. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla quis sem at nibh elementum imperdiet.',
|
|
373
|
+
}),
|
|
374
|
+
...POLICIES_V4_UNREGISTERED_ICON.map(policy => ({
|
|
375
|
+
...policy,
|
|
376
|
+
// Replace all icons with the policy id. Icons are registred in the IconRegistry before.
|
|
377
|
+
...(policy.icon ? { icon: `gio-literal:${policy.id}` } : {}),
|
|
378
|
+
})),
|
|
379
|
+
];
|
|
380
|
+
}
|
|
381
|
+
|
|
233
382
|
/*
|
|
234
383
|
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
235
384
|
*
|
|
@@ -838,7 +987,7 @@ GioPolicyStudioFlowExecutionFormDialogHarness.hostSelector = 'gio-ps-flow-execut
|
|
|
838
987
|
* See the License for the specific language governing permissions and
|
|
839
988
|
* limitations under the License.
|
|
840
989
|
*/
|
|
841
|
-
class
|
|
990
|
+
class GioPolicyStudioDetailsPhaseStepHarness extends ComponentHarness {
|
|
842
991
|
/**
|
|
843
992
|
* Get Harness with the given filter.
|
|
844
993
|
*
|
|
@@ -846,13 +995,17 @@ class GioPolicyStudioDetailsPhasePolicyHarness extends ComponentHarness {
|
|
|
846
995
|
* @return a `HarnessPredicate` configured with the given options.
|
|
847
996
|
*/
|
|
848
997
|
static with(options = {}) {
|
|
849
|
-
return new HarnessPredicate(
|
|
998
|
+
return new HarnessPredicate(GioPolicyStudioDetailsPhaseStepHarness, options);
|
|
850
999
|
}
|
|
851
1000
|
async getName() {
|
|
852
|
-
return (await (await this.locatorFor(SpanHarness.with({ selector: '.
|
|
1001
|
+
return (await (await this.locatorFor(SpanHarness.with({ selector: '.info__head__name' }))()).getText()) ?? '';
|
|
1002
|
+
}
|
|
1003
|
+
async clickOnEdit() {
|
|
1004
|
+
const matMenu = await this.locatorFor(MatMenuHarness)();
|
|
1005
|
+
await matMenu.clickItem({ text: 'Edit' });
|
|
853
1006
|
}
|
|
854
1007
|
}
|
|
855
|
-
|
|
1008
|
+
GioPolicyStudioDetailsPhaseStepHarness.hostSelector = 'gio-ps-flow-details-phase-step';
|
|
856
1009
|
|
|
857
1010
|
/*
|
|
858
1011
|
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
@@ -896,7 +1049,7 @@ class GioPolicyStudioDetailsPhaseHarness extends ComponentHarness {
|
|
|
896
1049
|
return null;
|
|
897
1050
|
}
|
|
898
1051
|
return await parallel(() => stepsDiv.map(async (stepDiv) => {
|
|
899
|
-
const idConnector = !!(await stepDiv.getText({ childSelector: '.
|
|
1052
|
+
const idConnector = !!(await stepDiv.getText({ childSelector: '.content__step__connector__badge' }));
|
|
900
1053
|
if (idConnector) {
|
|
901
1054
|
return {
|
|
902
1055
|
text: (await stepDiv.getText()) ?? '',
|
|
@@ -904,14 +1057,141 @@ class GioPolicyStudioDetailsPhaseHarness extends ComponentHarness {
|
|
|
904
1057
|
};
|
|
905
1058
|
}
|
|
906
1059
|
return {
|
|
907
|
-
text: await (await stepDiv.childLocatorFor(
|
|
908
|
-
type:
|
|
1060
|
+
text: await (await stepDiv.childLocatorFor(GioPolicyStudioDetailsPhaseStepHarness)()).getName(),
|
|
1061
|
+
type: 'step',
|
|
909
1062
|
};
|
|
910
1063
|
}));
|
|
911
1064
|
}
|
|
1065
|
+
async getStep(index) {
|
|
1066
|
+
const steps = await this.locatorForAll(GioPolicyStudioDetailsPhaseStepHarness)();
|
|
1067
|
+
if (!steps[index]) {
|
|
1068
|
+
throw new Error(`Step ${index} not found`);
|
|
1069
|
+
}
|
|
1070
|
+
return steps[index];
|
|
1071
|
+
}
|
|
1072
|
+
async clickAddStep(index) {
|
|
1073
|
+
const addStepBtn = await this.locatorForAll(DivHarness.with({ selector: '.content__step' }))().then(divs => divs[index]);
|
|
1074
|
+
await addStepBtn
|
|
1075
|
+
.childLocatorFor(MatButtonHarness.with({ selector: '.content__step__addBtn' }))()
|
|
1076
|
+
.then(btn => btn.click());
|
|
1077
|
+
}
|
|
912
1078
|
}
|
|
913
1079
|
GioPolicyStudioDetailsPhaseHarness.hostSelector = 'gio-ps-flow-details-phase';
|
|
914
1080
|
|
|
1081
|
+
/*
|
|
1082
|
+
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
1083
|
+
*
|
|
1084
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1085
|
+
* you may not use this file except in compliance with the License.
|
|
1086
|
+
* You may obtain a copy of the License at
|
|
1087
|
+
*
|
|
1088
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1089
|
+
*
|
|
1090
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1091
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1092
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1093
|
+
* See the License for the specific language governing permissions and
|
|
1094
|
+
* limitations under the License.
|
|
1095
|
+
*/
|
|
1096
|
+
class GioPolicyStudioStepFormHarness extends ComponentHarness {
|
|
1097
|
+
constructor() {
|
|
1098
|
+
super(...arguments);
|
|
1099
|
+
this.getDescriptionInput = this.locatorFor(MatInputHarness.with({ selector: '[formControlName="description"]' }));
|
|
1100
|
+
}
|
|
1101
|
+
async setStepForm(stepForm) {
|
|
1102
|
+
if (stepForm.description) {
|
|
1103
|
+
const descriptionInput = await this.getDescriptionInput();
|
|
1104
|
+
await descriptionInput.setValue(stepForm.description);
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
async getStepFormValue() {
|
|
1108
|
+
const descriptionInput = await this.getDescriptionInput();
|
|
1109
|
+
return {
|
|
1110
|
+
description: await descriptionInput.getValue(),
|
|
1111
|
+
};
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
GioPolicyStudioStepFormHarness.hostSelector = 'gio-ps-step-form';
|
|
1115
|
+
|
|
1116
|
+
/*
|
|
1117
|
+
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
1118
|
+
*
|
|
1119
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1120
|
+
* you may not use this file except in compliance with the License.
|
|
1121
|
+
* You may obtain a copy of the License at
|
|
1122
|
+
*
|
|
1123
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1124
|
+
*
|
|
1125
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1126
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1127
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1128
|
+
* See the License for the specific language governing permissions and
|
|
1129
|
+
* limitations under the License.
|
|
1130
|
+
*/
|
|
1131
|
+
class GioPolicyStudioPoliciesCatalogDialogHarness extends ComponentHarness {
|
|
1132
|
+
constructor() {
|
|
1133
|
+
super(...arguments);
|
|
1134
|
+
this.policiesLocator = this.locatorForAll(DivHarness.with({ selector: '.policiesCatalog__policy' }));
|
|
1135
|
+
}
|
|
1136
|
+
async getPhase() {
|
|
1137
|
+
const phase = await this.locatorFor('.title__phase')();
|
|
1138
|
+
return phase.text();
|
|
1139
|
+
}
|
|
1140
|
+
async getPoliciesName() {
|
|
1141
|
+
const policies = await this.locatorForAll('.policiesCatalog__policy__head__name')();
|
|
1142
|
+
return parallel(() => policies.map(policy => policy.text()));
|
|
1143
|
+
}
|
|
1144
|
+
async selectPolicy(policyName) {
|
|
1145
|
+
const policies = await this.policiesLocator();
|
|
1146
|
+
const policy = policies.find(async (p) => (await p.getText({ childSelector: '.policiesCatalog__policy__head__name' })) === policyName);
|
|
1147
|
+
if (!policy) {
|
|
1148
|
+
throw new Error(`Policy ${policyName} not found`);
|
|
1149
|
+
}
|
|
1150
|
+
const selectBtn = await policy.childLocatorFor(MatButtonHarness.with({ selector: '.policiesCatalog__policy__selectBtn' }))();
|
|
1151
|
+
await selectBtn.click();
|
|
1152
|
+
}
|
|
1153
|
+
async getSelectedPolicyName() {
|
|
1154
|
+
const policy = await this.locatorFor('.policyForm__info__head__name')();
|
|
1155
|
+
return policy.text();
|
|
1156
|
+
}
|
|
1157
|
+
async clickAddPolicyButton() {
|
|
1158
|
+
const addBtn = await this.locatorFor(MatButtonHarness.with({ selector: '.actions__addBtn' }))();
|
|
1159
|
+
await addBtn.click();
|
|
1160
|
+
}
|
|
1161
|
+
async getStepForm() {
|
|
1162
|
+
return await this.locatorFor(GioPolicyStudioStepFormHarness)();
|
|
1163
|
+
}
|
|
1164
|
+
}
|
|
1165
|
+
GioPolicyStudioPoliciesCatalogDialogHarness.hostSelector = 'gio-ps-policies-catalog-dialog';
|
|
1166
|
+
|
|
1167
|
+
/*
|
|
1168
|
+
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
1169
|
+
*
|
|
1170
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1171
|
+
* you may not use this file except in compliance with the License.
|
|
1172
|
+
* You may obtain a copy of the License at
|
|
1173
|
+
*
|
|
1174
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1175
|
+
*
|
|
1176
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1177
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1178
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1179
|
+
* See the License for the specific language governing permissions and
|
|
1180
|
+
* limitations under the License.
|
|
1181
|
+
*/
|
|
1182
|
+
class GioPolicyStudioStepEditDialogHarness extends ComponentHarness {
|
|
1183
|
+
async getPolicyName() {
|
|
1184
|
+
return (await this.locatorFor('.title__name')()).text();
|
|
1185
|
+
}
|
|
1186
|
+
async getStepForm() {
|
|
1187
|
+
return await this.locatorFor(GioPolicyStudioStepFormHarness)();
|
|
1188
|
+
}
|
|
1189
|
+
async save() {
|
|
1190
|
+
return (await this.locatorFor('.actions__saveBtn')()).click();
|
|
1191
|
+
}
|
|
1192
|
+
}
|
|
1193
|
+
GioPolicyStudioStepEditDialogHarness.hostSelector = 'gio-ps-step-edit-dialog';
|
|
1194
|
+
|
|
915
1195
|
/*
|
|
916
1196
|
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
917
1197
|
*
|
|
@@ -985,16 +1265,16 @@ class GioPolicyStudioHarness extends ComponentHarness {
|
|
|
985
1265
|
return await (await this.detailsHarness()).getFlowInfos();
|
|
986
1266
|
}
|
|
987
1267
|
/**
|
|
988
|
-
* Get selected flow
|
|
1268
|
+
* Get selected flow phase harness
|
|
989
1269
|
* @param tabLabel Select tabs before try to find phase. Useful to find Event phases for Message API
|
|
990
1270
|
*/
|
|
991
|
-
async
|
|
1271
|
+
async getSelectedFlowPhase(phaseType, tabLabel) {
|
|
992
1272
|
if (tabLabel) {
|
|
993
1273
|
const matTabsHarness = await this.locatorFor(MatTabGroupHarness.with({ selector: '.content__tabs' }))();
|
|
994
1274
|
await matTabsHarness.selectTab({ label: tabLabel });
|
|
995
1275
|
}
|
|
996
|
-
const steps = await
|
|
997
|
-
return steps ? steps :
|
|
1276
|
+
const steps = await await this.phaseHarness(phaseType);
|
|
1277
|
+
return steps ? steps : undefined;
|
|
998
1278
|
}
|
|
999
1279
|
/**
|
|
1000
1280
|
* Click on the "Save" button
|
|
@@ -1002,6 +1282,42 @@ class GioPolicyStudioHarness extends ComponentHarness {
|
|
|
1002
1282
|
async save() {
|
|
1003
1283
|
await (await this.locatorFor(MatButtonHarness.with({ text: /Save/ }))()).click();
|
|
1004
1284
|
}
|
|
1285
|
+
/**
|
|
1286
|
+
* Add a step to a phase
|
|
1287
|
+
* @param phaseType Phase type where to add the step
|
|
1288
|
+
* @param index Index where to add the step. (Add button index)
|
|
1289
|
+
* @param stepConfig Step to add
|
|
1290
|
+
*/
|
|
1291
|
+
async addStepToPhase(phaseType, index, stepConfig) {
|
|
1292
|
+
const tabLabel = phaseType === 'PUBLISH' || phaseType === 'SUBSCRIBE' ? 'Event messages' : undefined;
|
|
1293
|
+
const phase = await this.getSelectedFlowPhase(phaseType, tabLabel);
|
|
1294
|
+
if (!phase) {
|
|
1295
|
+
throw new Error(`No phase found for type ${phaseType}`);
|
|
1296
|
+
}
|
|
1297
|
+
await phase.clickAddStep(index);
|
|
1298
|
+
const catalogDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioPoliciesCatalogDialogHarness)();
|
|
1299
|
+
await catalogDialog.selectPolicy(stepConfig.policyName);
|
|
1300
|
+
await (await catalogDialog.getStepForm()).setStepForm(stepConfig);
|
|
1301
|
+
await catalogDialog.clickAddPolicyButton();
|
|
1302
|
+
}
|
|
1303
|
+
/**
|
|
1304
|
+
* Edit a step configuration
|
|
1305
|
+
* @param phaseType Phase type where to edit the step
|
|
1306
|
+
* @param index Index of the policy step to edit
|
|
1307
|
+
* @param stepConfig Step configuration
|
|
1308
|
+
*/
|
|
1309
|
+
async editStepConfig(phaseType, index, stepConfig) {
|
|
1310
|
+
const tabLabel = phaseType === 'PUBLISH' || phaseType === 'SUBSCRIBE' ? 'Event messages' : undefined;
|
|
1311
|
+
const phase = await this.getSelectedFlowPhase(phaseType, tabLabel);
|
|
1312
|
+
if (!phase) {
|
|
1313
|
+
throw new Error(`No phase found for type ${phaseType}`);
|
|
1314
|
+
}
|
|
1315
|
+
const step = await phase.getStep(index);
|
|
1316
|
+
await step.clickOnEdit();
|
|
1317
|
+
const stepEditDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioStepEditDialogHarness)();
|
|
1318
|
+
await (await stepEditDialog.getStepForm()).setStepForm(stepConfig);
|
|
1319
|
+
await stepEditDialog.save();
|
|
1320
|
+
}
|
|
1005
1321
|
async setFlowFormDialog(flow) {
|
|
1006
1322
|
const channelSelector = flow.selectors?.find(s => s.type === 'CHANNEL');
|
|
1007
1323
|
const httpSelector = flow.selectors?.find(s => s.type === 'HTTP');
|
|
@@ -1069,5 +1385,5 @@ GioPolicyStudioHarness.hostSelector = 'gio-policy-studio';
|
|
|
1069
1385
|
* Generated bundle index. Do not edit.
|
|
1070
1386
|
*/
|
|
1071
1387
|
|
|
1072
|
-
export { GioPolicyStudioHarness, fakeBestMatchFlowExecution, fakeChannelFlow, fakeDefaultFlowExecution, fakeHTTPGetMessageEntrypoint, fakeHTTPPostMessageEntrypoint, fakeHTTPProxyEndpoint, fakeHTTPProxyEntrypoint, fakeHttpFlow, fakeKafkaMessageEndpoint, fakeMockMessageEndpoint,
|
|
1388
|
+
export { GioPolicyStudioHarness, POLICIES_V4_UNREGISTERED_ICON, fakeAllPolicies, fakeBestMatchFlowExecution, fakeChannelFlow, fakeDefaultFlowExecution, fakeHTTPGetMessageEntrypoint, fakeHTTPPostMessageEntrypoint, fakeHTTPProxyEndpoint, fakeHTTPProxyEntrypoint, fakeHttpFlow, fakeJsonToXmlStep, fakeKafkaMessageEndpoint, fakeMockMessageEndpoint, fakePlan, fakeRateLimitStep, fakeSSEMessageEntrypoint, fakeTestPolicy, fakeTestPolicyStep, fakeWebhookMessageEntrypoint, fakeWebsocketMessageEntrypoint };
|
|
1073
1389
|
//# sourceMappingURL=gravitee-ui-policy-studio-angular-testing.mjs.map
|