refactor: 💡 worker filter feature flags (#2720)
This commit is contained in:
1 parent
ecd0c1de20
commit
dff5cac4fe
16 files changed
+35
-39
No files matched your search
@@ -18,7 +18,7 @@
|
||||
{{t 'resources.credential.actions.create'}}
|
||||
</dd.Interactive>
|
||||
{{/if}}
|
||||
{{#if (and (feature-flag 'vault-worker-filter') @model.isVault)}}
|
||||
{{#if (and (feature-flag 'worker-filter') @model.isVault)}}
|
||||
<dd.Interactive
|
||||
@route='scopes.scope.credential-stores.credential-store.edit-worker-filter'
|
||||
>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
{{t 'titles.details'}}
|
||||
</nav.link>
|
||||
{{#if @model.isVault}}
|
||||
{{#if (feature-flag 'vault-worker-filter')}}
|
||||
{{#if (feature-flag 'worker-filter')}}
|
||||
<nav.link
|
||||
@route='scopes.scope.credential-stores.credential-store.worker-filter'
|
||||
>
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
</Hds::Form::TextInput::Field>
|
||||
|
||||
{{! worker_filter }}
|
||||
{{#if (and (feature-flag 'vault-worker-filter') @model.isNew)}}
|
||||
{{#if (and (feature-flag 'worker-filter') @model.isNew)}}
|
||||
{{#let (unique-id) (unique-id) as |labelId helpId|}}
|
||||
<Hds::Form::Fieldset
|
||||
@isOptional={{true}}
|
||||
|
||||
@@ -350,7 +350,7 @@
|
||||
</Hds::Form::TextInput::Field>
|
||||
{{/if}}
|
||||
|
||||
{{#if (feature-flag 'host-catalog-worker-filter')}}
|
||||
{{#if (feature-flag 'worker-filter')}}
|
||||
<Hds::Form::Textarea::Field
|
||||
name='worker_filter'
|
||||
@value={{@model.worker_filter}}
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
{{/if}}
|
||||
</Hds::Form::Textarea::Field>
|
||||
|
||||
{{#if (feature-flag 'host-catalog-worker-filter')}}
|
||||
{{#if (feature-flag 'worker-filter')}}
|
||||
<Hds::Form::Textarea::Field
|
||||
name='worker_filter'
|
||||
@value={{@model.worker_filter}}
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
{{t 'resources.target.workers.diagram.client'}}
|
||||
</D.Item>
|
||||
<D.Item @icon='settings'>
|
||||
{{#if (feature-flag 'target-worker-filters-v2-hcp')}}
|
||||
{{#if (feature-flag 'worker-filter-hcp')}}
|
||||
{{t 'resources.target.workers.diagram.hcp-worker'}}
|
||||
{{else}}
|
||||
{{t 'resources.target.workers.diagram.frontline-worker'}}
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
}}
|
||||
|
||||
<div class='worker-diagram'>
|
||||
{{#if (feature-flag 'target-worker-filters-v2-ingress')}}
|
||||
{{#if (feature-flag 'target-worker-filters-v2-hcp')}}
|
||||
{{#if (feature-flag 'worker-filter')}}
|
||||
{{#if (feature-flag 'worker-filter-hcp')}}
|
||||
<WorkerDiagram::DualFilter::Hcp
|
||||
@egressWorkerFilterEnabled={{@egressWorkerFilterEnabled}}
|
||||
@ingressWorkerFilterEnabled={{@ingressWorkerFilterEnabled}}
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
@ingressWorkerFilterEnabled={{@model.ingress_worker_filter}}
|
||||
/>
|
||||
<Hds::Accordion as |A|>
|
||||
{{#if (feature-flag 'target-worker-filters-v2-ingress')}}
|
||||
{{#if (feature-flag 'worker-filter')}}
|
||||
<A.Item
|
||||
@containsInteractive={{true}}
|
||||
@isOpen={{@model.ingress_worker_filter}}
|
||||
|
||||
@@ -23,12 +23,10 @@ const baseEdition = {
|
||||
'byow-pki-hcp-cluster-id': false,
|
||||
'json-credentials': false,
|
||||
'static-credentials': false,
|
||||
'target-worker-filters-v2-ingress': false,
|
||||
'target-worker-filters-v2-hcp': false,
|
||||
'target-network-address': false,
|
||||
'vault-worker-filter': false,
|
||||
'ldap-auth-methods': false,
|
||||
'host-catalog-worker-filter': false,
|
||||
'worker-filter': false,
|
||||
'worker-filter-hcp': false,
|
||||
};
|
||||
// Editions maps edition keys to their associated featuresets.
|
||||
const featureEditions = {};
|
||||
@@ -42,14 +40,12 @@ featureEditions.oss = {
|
||||
};
|
||||
featureEditions.enterprise = {
|
||||
...featureEditions.oss,
|
||||
'target-worker-filters-v2-ingress': true,
|
||||
'vault-worker-filter': true,
|
||||
'host-catalog-worker-filter': true,
|
||||
'worker-filter': true,
|
||||
};
|
||||
featureEditions.hcp = {
|
||||
...featureEditions.enterprise,
|
||||
'byow-pki-hcp-cluster-id': true,
|
||||
'target-worker-filters-v2-hcp': true,
|
||||
'worker-filter-hcp': true,
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
|
||||
@@ -91,7 +91,7 @@ module('Acceptance | credential-stores | create', function (hooks) {
|
||||
|
||||
test('Users can create a new credential store of type vault with a worker filter', async function (assert) {
|
||||
featuresService.enable('static-credentials');
|
||||
featuresService.enable('vault-worker-filter');
|
||||
featuresService.enable('worker-filter');
|
||||
const count = getVaultCredentialStoresCount();
|
||||
await visit(urls.newCredentialStore);
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ module('Acceptance | credential-stores | update', function (hooks) {
|
||||
|
||||
// Enable feature flag
|
||||
const featuresService = this.owner.lookup('service:features');
|
||||
featuresService.enable('vault-worker-filter');
|
||||
featuresService.enable('worker-filter');
|
||||
});
|
||||
|
||||
test('can save changes to existing static credential store', async function (assert) {
|
||||
|
||||
@@ -231,13 +231,13 @@ module('Acceptance | host-catalogs | create', function (hooks) {
|
||||
});
|
||||
|
||||
test('users should see worker filter field in enterprise edition when AWS host catalog is selected', async function (assert) {
|
||||
featuresService.enable('host-catalog-worker-filter');
|
||||
featuresService.enable('worker-filter');
|
||||
await visit(urls.newAWSDynamicHostCatalog);
|
||||
assert.dom(WORKER_FILTER_INPUT_SELECTOR).isVisible();
|
||||
});
|
||||
|
||||
test('users should see worker filter field in enterprise edition when GCP host catalog is selected', async function (assert) {
|
||||
featuresService.enable('host-catalog-worker-filter');
|
||||
featuresService.enable('worker-filter');
|
||||
await visit(urls.newAWSDynamicHostCatalog);
|
||||
assert.dom(WORKER_FILTER_INPUT_SELECTOR).isVisible();
|
||||
});
|
||||
|
||||
@@ -161,8 +161,8 @@ module('Acceptance | targets | workers', function (hooks) {
|
||||
assert.dom(CODE_BLOCK_SELECTOR('egress')).doesNotExist();
|
||||
});
|
||||
|
||||
test('user can view egress and ingress filters when `target-worker-filters-v2-ingress` is enabled', async function (assert) {
|
||||
featuresService.enable('target-worker-filters-v2-ingress');
|
||||
test('user can view egress and ingress filters when `worker-filter` is enabled', async function (assert) {
|
||||
featuresService.enable('worker-filter');
|
||||
await visit(urls.target);
|
||||
|
||||
await click(`[href="${urls.targetWorkers}"]`);
|
||||
@@ -175,8 +175,8 @@ module('Acceptance | targets | workers', function (hooks) {
|
||||
.hasText(instances.target.egress_worker_filter);
|
||||
});
|
||||
|
||||
test('user can only view egress filter when `target-worker-filters-v2-ingress` is disabled', async function (assert) {
|
||||
featuresService.disable('target-worker-filters-v2-ingress');
|
||||
test('user can only view egress filter when `worker-filter` is disabled', async function (assert) {
|
||||
featuresService.disable('worker-filter');
|
||||
await visit(urls.target);
|
||||
|
||||
await click(`[href="${urls.targetWorkers}"]`);
|
||||
@@ -187,8 +187,8 @@ module('Acceptance | targets | workers', function (hooks) {
|
||||
.hasText(instances.target.egress_worker_filter);
|
||||
});
|
||||
|
||||
test('user can save ingress worker filter to a target when `target-worker-filters-v2-ingress` is enabled', async function (assert) {
|
||||
featuresService.enable('target-worker-filters-v2-ingress');
|
||||
test('user can save ingress worker filter to a target when `worker-filter` is enabled', async function (assert) {
|
||||
featuresService.enable('worker-filter');
|
||||
instances.target.update({ ingress_worker_filter: '' });
|
||||
const ingressWorkerFilter = '"random" in "/worker/filters"';
|
||||
await visit(urls.target);
|
||||
@@ -205,8 +205,8 @@ module('Acceptance | targets | workers', function (hooks) {
|
||||
assert.dom(CODE_BLOCK_SELECTOR('ingress')).hasText(ingressWorkerFilter);
|
||||
});
|
||||
|
||||
test('user can cancel changes to ingress worker filter in a target when `target-worker-filters-v2-ingress` is enabled', async function (assert) {
|
||||
featuresService.enable('target-worker-filters-v2-ingress');
|
||||
test('user can cancel changes to ingress worker filter in a target when `worker-filter` is enabled', async function (assert) {
|
||||
featuresService.enable('worker-filter');
|
||||
const ingressWorkerFilter = '"random" in "/worker/filters"';
|
||||
await visit(urls.target);
|
||||
|
||||
@@ -246,7 +246,7 @@ module('Acceptance | targets | workers', function (hooks) {
|
||||
});
|
||||
|
||||
test('user will see "Add worker filter" if no filter set', async function (assert) {
|
||||
featuresService.enable('target-worker-filters-v2-ingress');
|
||||
featuresService.enable('worker-filter');
|
||||
instances.target.update({
|
||||
egress_worker_filter: '',
|
||||
ingress_worker_filter: '',
|
||||
@@ -264,7 +264,7 @@ module('Acceptance | targets | workers', function (hooks) {
|
||||
});
|
||||
|
||||
test('user will see "Edit worker filter" if filter is set', async function (assert) {
|
||||
featuresService.enable('target-worker-filters-v2-ingress');
|
||||
featuresService.enable('worker-filter');
|
||||
await visit(urls.target);
|
||||
|
||||
await click(`[href="${urls.targetWorkers}"]`);
|
||||
@@ -296,7 +296,7 @@ module('Acceptance | targets | workers', function (hooks) {
|
||||
});
|
||||
|
||||
test('can discard unsaved ingress worker filter changes in a target via dialog', async function (assert) {
|
||||
featuresService.enable('target-worker-filters-v2-ingress');
|
||||
featuresService.enable('worker-filter');
|
||||
const confirmService = this.owner.lookup('service:confirm');
|
||||
confirmService.enabled = true;
|
||||
const ingressWorkerFilter = '"random" in "/worker/filters"';
|
||||
@@ -321,7 +321,7 @@ module('Acceptance | targets | workers', function (hooks) {
|
||||
});
|
||||
|
||||
test('can click cancel on discard dialog box for unsaved ingress worker filter changes', async function (assert) {
|
||||
featuresService.enable('target-worker-filters-v2-ingress');
|
||||
featuresService.enable('worker-filter');
|
||||
const confirmService = this.owner.lookup('service:confirm');
|
||||
confirmService.enabled = true;
|
||||
const ingressWorkerFilter = '"random" in "/worker/filters"';
|
||||
|
||||
@@ -16,7 +16,7 @@ module(
|
||||
setupIntl(hooks, 'en-us');
|
||||
|
||||
let featuresService;
|
||||
const targetWorkerFilterHCP = 'target-worker-filters-v2-hcp';
|
||||
const targetWorkerFilterHCP = 'worker-filter-hcp';
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
featuresService = this.owner.lookup('service:features');
|
||||
|
||||
@@ -16,7 +16,7 @@ module(
|
||||
setupIntl(hooks, 'en-us');
|
||||
|
||||
let featuresService;
|
||||
const targetWorkerFilterIngress = 'target-worker-filters-v2-ingress';
|
||||
const targetWorkerFilterIngress = 'worker-filter';
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
featuresService = this.owner.lookup('service:features');
|
||||
|
||||
@@ -14,8 +14,8 @@ module('Integration | Component | worker-diagram/index', function (hooks) {
|
||||
setupIntl(hooks, 'en-us');
|
||||
|
||||
let featuresService;
|
||||
const targetWorkerFilterIngress = 'target-worker-filters-v2-ingress';
|
||||
const targetWorkerFilterHCP = 'target-worker-filters-v2-hcp';
|
||||
const targetWorkerFilterIngress = 'worker-filter';
|
||||
const targetWorkerFilterHCP = 'worker-filter-hcp';
|
||||
|
||||
test('it renders a single filter diagram', async function (assert) {
|
||||
featuresService = this.owner.lookup('service:features');
|
||||
@@ -25,7 +25,7 @@ module('Integration | Component | worker-diagram/index', function (hooks) {
|
||||
assert.dom('[data-test-single-filter-egress-off]').isVisible();
|
||||
});
|
||||
|
||||
test('it renders a dual filter diagram when `target-worker-filters-v2-ingress` is enabled', async function (assert) {
|
||||
test('it renders a dual filter diagram when `worker-filter` is enabled', async function (assert) {
|
||||
featuresService = this.owner.lookup('service:features');
|
||||
featuresService.enable(targetWorkerFilterIngress);
|
||||
assert.true(featuresService.isEnabled(targetWorkerFilterIngress));
|
||||
@@ -35,7 +35,7 @@ module('Integration | Component | worker-diagram/index', function (hooks) {
|
||||
assert.dom('[data-test-dual-filter-egress-off-ingress-off]').isVisible();
|
||||
});
|
||||
|
||||
test('it renders an HCP dual filter diagram when `target-worker-filters-v2-hcp` is enabled', async function (assert) {
|
||||
test('it renders an HCP dual filter diagram when `worker-filter-hcp` is enabled', async function (assert) {
|
||||
featuresService = this.owner.lookup('service:features');
|
||||
featuresService.enable(targetWorkerFilterIngress);
|
||||
featuresService.enable(targetWorkerFilterHCP);
|
||||
|
||||
Reference in new issue
Block a user