66 lines
2.3 KiB
JavaScript
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();
|
|
});
|
|
});
|