From 069a864cbbbeca2db07c625da5b57b8a1d01b813 Mon Sep 17 00:00:00 2001 From: Dharini Jeeva Date: Tue, 30 Aug 2022 12:01:59 -0700 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=A4=96=20add=20abilities=20for?= =?UTF-8?q?=20injected=20app=20cred=20sources=20(#1285)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: 🤖 add abilities for injected app cred sources --- addons/api/addon/abilities/target.js | 10 +++++++- addons/api/addon/models/worker.js | 2 +- .../api/tests/unit/abilities/target-test.js | 24 +++++++++++++++---- .../target/brokered-credential-sources.hbs | 2 +- 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/addons/api/addon/abilities/target.js b/addons/api/addon/abilities/target.js index 65cc921da..9afb9f4d3 100644 --- a/addons/api/addon/abilities/target.js +++ b/addons/api/addon/abilities/target.js @@ -37,7 +37,15 @@ export default class TargetAbility extends ModelAbility { /** * @type {boolean} */ - get canRemoveBrokeredCredentialSources() { + get canAddInjectedApplicationCredentialSources() { + return ( + this.model.isSSH && this.hasAuthorizedAction('add-credential-sources') + ); + } + /** + * @type {boolean} + */ + get canRemoveCredentialSources() { return this.hasAuthorizedAction('remove-credential-sources'); } } diff --git a/addons/api/addon/models/worker.js b/addons/api/addon/models/worker.js index a6fa2f0c2..a210ff597 100644 --- a/addons/api/addon/models/worker.js +++ b/addons/api/addon/models/worker.js @@ -4,7 +4,7 @@ import { attr } from '@ember-data/model'; export default class WorkerModel extends GeneratedWorkerModel { // =attributes - /** + /** * Names are optional on models in our API. Thus we need to fallback on ID * for display purposes. * @type {string} diff --git a/addons/api/tests/unit/abilities/target-test.js b/addons/api/tests/unit/abilities/target-test.js index 77cb26f13..4d1f6d0ca 100644 --- a/addons/api/tests/unit/abilities/target-test.js +++ b/addons/api/tests/unit/abilities/target-test.js @@ -37,7 +37,7 @@ module('Unit | Abilities | Target', function (hooks) { assert.notOk(service.can('removeHostSources target', model)); }); - test('it reflects when a given target may add credential sources', function (assert) { + test('it reflects when a given target may add brokered credential sources', function (assert) { assert.expect(2); const service = this.owner.lookup('service:can'); const model = { @@ -48,14 +48,30 @@ module('Unit | Abilities | Target', function (hooks) { assert.notOk(service.can('addBrokeredCredentialSources target', model)); }); - test('it reflects when a given target may remove crednetial sources', function (assert) { + test('it reflects when a given target may remove credential sources', function (assert) { assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['remove-credential-sources'], }; - assert.ok(service.can('removeBrokeredCredentialSources target', model)); + assert.ok(service.can('removeCredentialSources target', model)); model.authorized_actions = []; - assert.notOk(service.can('removeBrokeredCredentialSources target', model)); + assert.notOk(service.can('removeCredentialSources target', model)); + }); + + test('it reflects when a given ssh target may add injected application credential sources', function (assert) { + assert.expect(2); + const service = this.owner.lookup('service:can'); + const model = { + authorized_actions: ['add-credential-sources'], + isSSH: true, + }; + assert.ok( + service.can('addInjectedApplicationCredentialSources target', model) + ); + model.authorized_actions = []; + assert.notOk( + service.can('addInjectedApplicationCredentialSources target', model) + ); }); }); diff --git a/ui/admin/app/templates/scopes/scope/targets/target/brokered-credential-sources.hbs b/ui/admin/app/templates/scopes/scope/targets/target/brokered-credential-sources.hbs index 4368ac481..76f3ce3c7 100644 --- a/ui/admin/app/templates/scopes/scope/targets/target/brokered-credential-sources.hbs +++ b/ui/admin/app/templates/scopes/scope/targets/target/brokered-credential-sources.hbs @@ -79,7 +79,7 @@ - {{#if (can 'removeBrokeredCredentialSources target' @model)}} + {{#if (can 'removeCredentialSources target' @model)}}