open-vault/ui/tests/acceptance/settings-test.js

53 lines
1.6 KiB
JavaScript
Raw Normal View History

import { currentURL, find, visit } from '@ember/test-helpers';
import { module, test } from 'qunit';
import { setupApplicationTest } from 'ember-qunit';
import backendListPage from 'vault/tests/pages/secrets/backends';
2018-08-28 05:03:55 +00:00
import mountSecrets from 'vault/tests/pages/settings/mount-secret-backend';
import authPage from 'vault/tests/pages/auth';
import logout from 'vault/tests/pages/logout';
import withFlash from 'vault/tests/helpers/with-flash';
2018-04-03 14:16:57 +00:00
module('Acceptance | settings', function(hooks) {
setupApplicationTest(hooks);
2018-04-03 14:16:57 +00:00
hooks.beforeEach(function() {
return authPage.login();
2018-08-28 05:03:55 +00:00
});
2018-04-03 14:16:57 +00:00
hooks.afterEach(function() {
return logout.visit();
});
test('settings', async function(assert) {
const now = new Date().getTime();
const type = 'consul';
const path = `path-${now}`;
// mount unsupported backend
await visit('/vault/settings/mount-secret-backend');
assert.equal(currentURL(), '/vault/settings/mount-secret-backend');
2018-04-03 14:16:57 +00:00
await mountSecrets.selectType(type);
await withFlash(
mountSecrets
.next()
.path(path)
.toggleOptions()
.defaultTTLVal(100)
.defaultTTLUnit('s')
.submit(),
() => {
assert.ok(
find('[data-test-flash-message]').textContent.trim(),
`Successfully mounted '${type}' at '${path}'!`
);
}
);
assert.equal(currentURL(), `/vault/secrets`, 'redirects to secrets page');
let row = backendListPage.rows.filterBy('path', path + '/')[0];
await row.menu();
await backendListPage.configLink();
assert.ok(currentURL(), '/vault/secrets/${path}/configuration', 'navigates to the config page');
2018-04-03 14:16:57 +00:00
});
});