deb.open-vault/ui/tests/unit/adapters/pki/key-test.js

66 lines
2.3 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
import { setupMirage } from 'ember-cli-mirage/test-support';
module('Unit | Adapter | pki/key', function (hooks) {
setupTest(hooks);
setupMirage(hooks);
hooks.beforeEach(function () {
this.store = this.owner.lookup('service:store');
this.secretMountPath = this.owner.lookup('service:secret-mount-path');
this.backend = 'pki-test';
this.secretMountPath.currentPath = this.backend;
this.data = {
key_id: '724862ff-6438-bad0-b598-77a6c7f4e934',
key_type: 'ec',
key_name: 'test-key',
key_bits: '256',
};
});
hooks.afterEach(function () {
this.server.shutdown();
});
test('it should make request to correct endpoint on query', async function (assert) {
assert.expect(1);
const { key_id, ...otherAttrs } = this.data; // excludes key_id from key_info data
const key_info = { [key_id]: { ...otherAttrs } };
this.server.get(`${this.backend}/keys`, (schema, req) => {
assert.strictEqual(req.queryParams.list, 'true', 'request is made to correct endpoint on query');
return { data: { keys: [key_id], key_info } };
});
this.store.query('pki/key', { backend: this.backend });
});
test('it should make request to correct endpoint on queryRecord', async function (assert) {
assert.expect(1);
this.server.get(`${this.backend}/key/${this.data.key_id}`, () => {
assert.ok(true, 'request is made to correct endpoint on query record');
return { data: this.data };
});
this.store.queryRecord('pki/key', { backend: this.backend, id: this.data.key_id });
});
test('it should make request to correct endpoint on delete', async function (assert) {
assert.expect(1);
this.store.pushPayload('pki/key', { modelName: 'pki/key', ...this.data });
this.server.get(`${this.backend}/key/${this.data.key_id}`, () => ({ data: this.data }));
this.server.delete(`${this.backend}/key/${this.data.key_id}`, () => {
assert.ok(true, 'request made to correct endpoint on delete');
});
const model = await this.store.queryRecord('pki/key', { backend: this.backend, id: this.data.key_id });
await model.destroyRecord();
});
});