From 2c34a96875c26252cb6f76ea496f5271b8e8e373 Mon Sep 17 00:00:00 2001 From: Matthew Irish Date: Tue, 24 Apr 2018 09:33:53 -0500 Subject: [PATCH] add secrets-engine adapater tests for new query behavior --- ui/tests/unit/adapters/secret-engine-test.js | 62 ++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 ui/tests/unit/adapters/secret-engine-test.js diff --git a/ui/tests/unit/adapters/secret-engine-test.js b/ui/tests/unit/adapters/secret-engine-test.js new file mode 100644 index 000000000000..29f5593669bd --- /dev/null +++ b/ui/tests/unit/adapters/secret-engine-test.js @@ -0,0 +1,62 @@ +import { moduleFor, test } from 'ember-qunit'; +import apiStub from 'vault/tests/helpers/noop-all-api-requests'; + +moduleFor('adapter:secret-engine', 'Unit | Adapter | secret engine', { + needs: ['service:auth', 'service:flash-messages'], + beforeEach() { + this.server = apiStub(); + }, + afterEach() { + this.server.shutdown(); + }, +}); + +const storeStub = { + serializerFor() { + return { + serializeIntoHash() {}, + }; + }, +}; +const type = { + modelName: 'secret-engine', +}; + +const cases = [ + { + description: 'Empty query', + adapterMethod: 'query', + args: [storeStub, type, {}], + url: '/v1/sys/internal/ui/mounts', + method: 'GET', + }, + { + description: 'Query with a path', + adapterMethod: 'query', + args: [storeStub, type, { path: 'foo' }], + url: '/v1/sys/internal/ui/mounts/foo', + method: 'GET', + }, + + { + description: 'Query with nested path', + adapterMethod: 'query', + args: [storeStub, type, { path: 'foo/bar/baz' }], + url: '/v1/sys/internal/ui/mounts/foo/bar/baz', + method: 'GET', + }, +]; +cases.forEach(testCase => { + test(`secret-engine: ${testCase.description}`, function(assert) { + assert.expect(2); + let adapter = this.subject(); + adapter[testCase.adapterMethod](...testCase.args); + let { url, method } = this.server.handledRequests[0]; + assert.equal(url, testCase.url, `${testCase.adapterMethod} calls the correct url: ${testCase.url}`); + assert.equal( + method, + testCase.method, + `${testCase.adapterMethod} uses the correct http verb: ${testCase.method}` + ); + }); +});