open-vault/ui/tests/unit/adapters/tools-test.js

64 lines
2.3 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { resolve } from 'rsvp';
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
module('Unit | Adapter | tools', function (hooks) {
setupTest(hooks);
test('wrapping api urls', function (assert) {
let url, method, options;
const adapter = this.owner.factoryFor('adapter:tools').create({
ajax: (...args) => {
[url, method, options] = args;
return resolve();
},
});
let clientToken;
let data = { foo: 'bar' };
adapter.toolAction('wrap', data, { wrapTTL: '30m' });
assert.strictEqual(url, '/v1/sys/wrapping/wrap', 'wrapping:wrap url OK');
assert.strictEqual(method, 'POST', 'wrapping:wrap method OK');
assert.deepEqual({ data: data, wrapTTL: '30m', clientToken }, options, 'wrapping:wrap options OK');
data = { token: 'token' };
adapter.toolAction('lookup', data);
assert.strictEqual(url, '/v1/sys/wrapping/lookup', 'wrapping:lookup url OK');
assert.strictEqual(method, 'POST', 'wrapping:lookup method OK');
assert.deepEqual({ data, clientToken }, options, 'wrapping:lookup options OK');
adapter.toolAction('unwrap', data);
assert.strictEqual(url, '/v1/sys/wrapping/unwrap', 'wrapping:unwrap url OK');
assert.strictEqual(method, 'POST', 'wrapping:unwrap method OK');
assert.deepEqual({ data, clientToken }, options, 'wrapping:unwrap options OK');
adapter.toolAction('rewrap', data);
assert.strictEqual(url, '/v1/sys/wrapping/rewrap', 'wrapping:rewrap url OK');
assert.strictEqual(method, 'POST', 'wrapping:rewrap method OK');
assert.deepEqual({ data, clientToken }, options, 'wrapping:rewrap options OK');
});
test('tools api urls', function (assert) {
let url, method;
const adapter = this.owner.factoryFor('adapter:tools').create({
ajax: (...args) => {
[url, method] = args;
return resolve();
},
});
adapter.toolAction('hash', { input: 'someBase64' });
assert.strictEqual(url, '/v1/sys/tools/hash', 'sys tools hash: url OK');
assert.strictEqual(method, 'POST', 'sys tools hash: method OK');
adapter.toolAction('random', { bytes: '32' });
assert.strictEqual(url, '/v1/sys/tools/random', 'sys tools random: url OK');
assert.strictEqual(method, 'POST', 'sys tools random: method OK');
});
});