refactor: 💡 worker filter feature flags (#2720)

This commit is contained in:
Dharini Jeeva authored and GitHub committed 2025-03-13 15:12:36 -07:00
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}}
+4 -8
View File
@@ -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);