2018-09-25 16:28:26 +00:00
|
|
|
import { currentURL, find, visit } from '@ember/test-helpers';
|
|
|
|
import { module, test } from 'qunit';
|
|
|
|
import { setupApplicationTest } from 'ember-qunit';
|
2018-05-23 16:25:52 +00:00
|
|
|
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';
|
2018-09-25 16:28:26 +00:00
|
|
|
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
|
|
|
|
2018-09-25 16:28:26 +00:00
|
|
|
module('Acceptance | settings', function(hooks) {
|
|
|
|
setupApplicationTest(hooks);
|
2018-04-03 14:16:57 +00:00
|
|
|
|
2018-09-25 16:28:26 +00:00
|
|
|
hooks.beforeEach(function() {
|
|
|
|
return authPage.login();
|
2018-08-28 05:03:55 +00:00
|
|
|
});
|
2018-04-03 14:16:57 +00:00
|
|
|
|
2018-09-25 16:28:26 +00:00
|
|
|
hooks.afterEach(function() {
|
|
|
|
return logout.visit();
|
2018-05-23 16:25:52 +00:00
|
|
|
});
|
|
|
|
|
2018-09-25 16:28:26 +00:00
|
|
|
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
|
|
|
|
2018-09-25 16:28:26 +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();
|
2018-05-24 03:10:21 +00:00
|
|
|
assert.ok(currentURL(), '/vault/secrets/${path}/configuration', 'navigates to the config page');
|
2018-04-03 14:16:57 +00:00
|
|
|
});
|
|
|
|
});
|