mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-22 15:11:07 +02:00
* update adapter to accept :type in url * update model attributes to include deletion_allowed and tokenization type * update max_ttl text * update adapter test * add changelog; * update comment
96 lines
3.4 KiB
JavaScript
96 lines
3.4 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import { module, test } from 'qunit';
|
|
import { setupTest } from 'ember-qunit';
|
|
import { setupMirage } from 'ember-cli-mirage/test-support';
|
|
|
|
const TRANSFORM_TYPES = ['fpe', 'masking', 'tokenization'];
|
|
module('Unit | Adapter | transform', function (hooks) {
|
|
setupTest(hooks);
|
|
setupMirage(hooks);
|
|
|
|
hooks.beforeEach(function () {
|
|
this.store = this.owner.lookup('service:store');
|
|
this.backend = 'my-transform-engine';
|
|
this.name = 'my-transform';
|
|
});
|
|
|
|
hooks.afterEach(function () {
|
|
this.store.unloadAll('transform');
|
|
});
|
|
|
|
test('it should make request to correct endpoint when querying all records', async function (assert) {
|
|
assert.expect(2);
|
|
this.server.get(`${this.backend}/transformation`, (schema, req) => {
|
|
assert.ok(true, 'GET request made to correct endpoint when querying record');
|
|
assert.propEqual(req.queryParams, { list: 'true' }, 'query params include list: true');
|
|
return { data: { key_info: {}, keys: [] } };
|
|
});
|
|
await this.store.query('transform', { backend: this.backend });
|
|
});
|
|
|
|
test('it should make request to correct endpoint when querying a record', async function (assert) {
|
|
assert.expect(1);
|
|
this.server.get(`${this.backend}/transformation/${this.name}`, () => {
|
|
assert.ok(true, 'GET request made to correct endpoint when querying record');
|
|
return { data: { backend: this.backend, name: this.name } };
|
|
});
|
|
await this.store.queryRecord('transform', { backend: this.backend, id: this.name });
|
|
});
|
|
|
|
test('it should make request to correct endpoint when creating new record', async function (assert) {
|
|
assert.expect(3);
|
|
|
|
for (const type of TRANSFORM_TYPES) {
|
|
const name = `transform-${type}-test`;
|
|
this.server.post(`${this.backend}/transformations/${type}/${name}`, () => {
|
|
assert.ok(true, `POST request made to transformations/${type}/:name creating a record`);
|
|
return { data: { backend: this.backend, name, type } };
|
|
});
|
|
const record = this.store.createRecord('transform', { backend: this.backend, name, type });
|
|
await record.save();
|
|
}
|
|
});
|
|
|
|
test('it should make request to correct endpoint when updating record', async function (assert) {
|
|
assert.expect(3);
|
|
for (const type of TRANSFORM_TYPES) {
|
|
const name = `transform-${type}-test`;
|
|
this.server.post(`${this.backend}/transformations/${type}/${name}`, () => {
|
|
assert.ok(true, `POST request made to transformations/${type}/:name endpoint`);
|
|
});
|
|
this.store.pushPayload('transform', {
|
|
modelName: 'transform',
|
|
backend: this.backend,
|
|
id: name,
|
|
type,
|
|
name,
|
|
});
|
|
const record = this.store.peekRecord('transform', name);
|
|
await record.save();
|
|
}
|
|
});
|
|
|
|
test('it should make request to correct endpoint when deleting record', async function (assert) {
|
|
assert.expect(3);
|
|
for (const type of TRANSFORM_TYPES) {
|
|
const name = `transform-${type}-test`;
|
|
this.server.delete(`${this.backend}/transformation/${name}`, () => {
|
|
assert.ok(true, `type: ${type} - DELETE request to transformation/:name endpoint`);
|
|
});
|
|
this.store.pushPayload('transform', {
|
|
modelName: 'transform',
|
|
backend: this.backend,
|
|
id: name,
|
|
type,
|
|
name,
|
|
});
|
|
const record = this.store.peekRecord('transform', name);
|
|
await record.destroyRecord();
|
|
}
|
|
});
|
|
});
|