refactor: 💡 fix routing for static credentials from targets (#1347)
* refactor: 💡 fix routing for static credentials from targets ✅ Closes: ICU-6155 * chore: 🤖 Add comment to isStatic credential helper method
This commit is contained in:
1 parent
9e55f5f157
commit
e6d68c2e4a
4 files changed
+23
-12
No files matched your search
@@ -1,5 +1,4 @@
|
||||
import GeneratedCredentialModel from '../generated/models/credential';
|
||||
import { equal } from '@ember/object/computed';
|
||||
|
||||
/**
|
||||
* Supported Credential types.
|
||||
@@ -9,9 +8,15 @@ export const types = ['username_password', 'ssh_private_key'];
|
||||
export default class CredentialModel extends GeneratedCredentialModel {
|
||||
// =attributes
|
||||
/**
|
||||
* All Credentials are prefixed with "cred" and are considered
|
||||
* static due to their relation with Static Credential Stores.
|
||||
*
|
||||
* True if credential starts with the "cred" prefix.
|
||||
* @type {boolean}
|
||||
*/
|
||||
@equal('type', 'username_password') isUsernamePassword;
|
||||
get isStatic() {
|
||||
return this.id.startsWith('cred');
|
||||
}
|
||||
|
||||
/**
|
||||
* True if credential is an unknown type.
|
||||
|
||||
@@ -10,21 +10,27 @@ module('Unit | Model | credential', function (hooks) {
|
||||
assert.ok(model);
|
||||
});
|
||||
|
||||
test('it has isUsernamePassword property and returns the expected values', async function (assert) {
|
||||
assert.expect(2);
|
||||
test('it has isStatic property and returns the expected values', async function (assert) {
|
||||
assert.expect(3);
|
||||
const store = this.owner.lookup('service:store');
|
||||
const modelA = store.createRecord('credential', { type: 'username_password' });
|
||||
const modelB = store.createRecord('credential', { type: 'ssh_private_key' });
|
||||
const modelA = store.createRecord('credential', { id: 'credup_123' });
|
||||
const modelB = store.createRecord('credential', { id: 'credspk_123' });
|
||||
const modelC = store.createRecord('credential', { id: 'notstatic_123' });
|
||||
|
||||
assert.true(modelA.isUsernamePassword);
|
||||
assert.false(modelB.isUsernamePassword);
|
||||
assert.true(modelA.isStatic);
|
||||
assert.true(modelB.isStatic);
|
||||
assert.false(modelC.isStatic);
|
||||
});
|
||||
|
||||
test('it has isUnknown property and returns the expected values', async function (assert) {
|
||||
assert.expect(3);
|
||||
const store = this.owner.lookup('service:store');
|
||||
const modelA = store.createRecord('credential', { type: 'username_password' });
|
||||
const modelB = store.createRecord('credential', { type: 'ssh_private_key' });
|
||||
const modelA = store.createRecord('credential', {
|
||||
type: 'username_password',
|
||||
});
|
||||
const modelB = store.createRecord('credential', {
|
||||
type: 'ssh_private_key',
|
||||
});
|
||||
const modelC = store.createRecord('credential', { type: 'unknown' });
|
||||
|
||||
assert.false(modelA.isUnknown);
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
{{#if brokeredCredentialSource.isUnknown}}
|
||||
{{brokeredCredentialSource.displayName}}
|
||||
{{else}}
|
||||
{{#if brokeredCredentialSource.isUsernamePassword}}
|
||||
{{#if brokeredCredentialSource.isStatic}}
|
||||
<LinkTo
|
||||
@route='scopes.scope.credential-stores.credential-store.credentials.credential'
|
||||
@models={{array
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@
|
||||
{{#if injectedApplicationCredentialSource.isUnknown}}
|
||||
{{injectedApplicationCredentialSource.displayName}}
|
||||
{{else}}
|
||||
{{#if injectedApplicationCredentialSource.isUsernamePassword}}
|
||||
{{#if injectedApplicationCredentialSource.isStatic}}
|
||||
<LinkTo
|
||||
@route='scopes.scope.credential-stores.credential-store.credentials.credential'
|
||||
@models={{array
|
||||
|
||||
Reference in new issue
Block a user