2023-03-15 16:00:52 +00:00
|
|
|
/**
|
|
|
|
* Copyright (c) HashiCorp, Inc.
|
|
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
|
|
*/
|
|
|
|
|
2022-06-14 17:12:37 +00:00
|
|
|
import { module, test } from 'qunit';
|
|
|
|
import { setupApplicationTest } from 'ember-qunit';
|
|
|
|
import { click, fillIn } from '@ember/test-helpers';
|
|
|
|
import authPage from 'vault/tests/pages/auth';
|
|
|
|
import logout from 'vault/tests/pages/logout';
|
|
|
|
import mountSecrets from 'vault/tests/pages/settings/mount-secret-backend';
|
|
|
|
import { setupMirage } from 'ember-cli-mirage/test-support';
|
|
|
|
|
|
|
|
module('Acceptance | Enterprise | keymgmt', function (hooks) {
|
|
|
|
setupApplicationTest(hooks);
|
|
|
|
setupMirage(hooks);
|
|
|
|
|
|
|
|
hooks.beforeEach(async function () {
|
|
|
|
await logout.visit();
|
|
|
|
return authPage.login();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('it should add new key and distribute to provider', async function (assert) {
|
|
|
|
const path = `keymgmt-${Date.now()}`;
|
|
|
|
this.server.post(`/${path}/key/test-key`, () => ({}));
|
|
|
|
this.server.put(`/${path}/kms/test-keyvault/key/test-key`, () => ({}));
|
|
|
|
|
|
|
|
await mountSecrets.enable('keymgmt', path);
|
|
|
|
await click('[data-test-secret-create]');
|
|
|
|
await fillIn('[data-test-input="provider"]', 'azurekeyvault');
|
|
|
|
await fillIn('[data-test-input="name"]', 'test-keyvault');
|
|
|
|
await fillIn('[data-test-input="keyCollection"]', 'test-keycollection');
|
|
|
|
await fillIn('[data-test-input="credentials.client_id"]', '123');
|
|
|
|
await fillIn('[data-test-input="credentials.client_secret"]', '456');
|
|
|
|
await fillIn('[data-test-input="credentials.tenant_id"]', '789');
|
|
|
|
await click('[data-test-kms-provider-submit]');
|
|
|
|
await click('[data-test-distribute-key]');
|
|
|
|
await click('[data-test-component="search-select"] .ember-basic-dropdown-trigger');
|
|
|
|
await fillIn('.ember-power-select-search-input', 'test-key');
|
|
|
|
await click('.ember-power-select-option');
|
|
|
|
await fillIn('[data-test-keymgmt-dist-keytype]', 'rsa-2048');
|
|
|
|
await click('[data-test-operation="encrypt"]');
|
|
|
|
await fillIn('[data-test-protection="hsm"]', 'hsm');
|
|
|
|
|
|
|
|
this.server.get(`/${path}/kms/test-keyvault/key`, () => ({ data: { keys: ['test-key'] } }));
|
|
|
|
await click('[data-test-secret-save]');
|
|
|
|
await click('[data-test-kms-provider-tab="keys"] a');
|
|
|
|
assert.dom('[data-test-secret-link="test-key"]').exists('Key is listed under keys tab of provider');
|
|
|
|
});
|
|
|
|
});
|