977af116c8
* enable auth method item configuration in go code * properly parse and list generated items * make sure we only set name on attrs if a label comes from openAPI * correctly construct paths object for method index route * set sensitive property on password for userpass * remove debugger statements * pass method model to list route template to use paths on model for tabs * update tab generation in generated item list, undo enabling userpass users * enable openapi generated itams for certs and userpass, update ldap to no longer have action on list endpoint * add editType to DisplayAttributes, pull tokenutil fields into field group * show sensitive message for sensitive fields displayed in fieldGroupShow component * grab sensitive and editType fields from displayAttrs in openapi-to-attrs util * make sure we don't ask for paths for secret backends since that isn't setup yet * fix styling of sensitive text for fieldGroupShow component * update openapi-to-attrs util test to no longer include label by default, change debugger to console.err in path-help, remove dynamic ui auth methods from tab count test * properly log errors to the console * capitalize This value is sensitive... * get rid of extra padding on bottom of fieldgroupshow * make auth methods clickable and use new confirm ux * Update sdk/framework/path.go Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com> * Update sdk/framework/path.go Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com> * add whitespace * return intErr instead of err * uncomment out helpUrl because we need it * remove extra box class * use const instead of let * remove extra conditional since we already split the pathName later on * ensure we request the correct url when listing generated items * use const * link to list and show pages * remove dead code * show nested item name instead of id * add comments * show tooltip for text-file inputs * fix storybook * remove extra filter * add TODOs * add comments * comment out unused variables but leave them in function signature * only link to auth methods that can be fully managed in the ui * clean up comments * only render tooltip if there is helpText * rename id authMethodPath * remove optionsForQuery since we don't need it * add indentation * standardize ConfirmMessage and show model name instead of id when editing * standardize ConfirmMessage and show model name instead of id when editing * add comments * post to the correct updateUrl so we can edit users and groups * use pop instead of slice * add TODO for finding a better way to store ids * ensure ids are handled the same way on list and show pages; fix editing and deleting * add comment about difference between list and show urls * use model.id instead of name since we do not need it * remove dead code * ensure list pages have page headers * standardize using authMethodPath instead of method and remove dead code * i love indentation * remove more dead code * use new Confirm * show correct flash message when deleting an item * update flash message for creating and updating * use plus icon for creating group/user instead of an arrow
56 lines
2.2 KiB
JavaScript
56 lines
2.2 KiB
JavaScript
import { module, test } from 'qunit';
|
|
import { setupApplicationTest } from 'ember-qunit';
|
|
import { create } from 'ember-cli-page-object';
|
|
import enablePage from 'vault/tests/pages/settings/auth/enable';
|
|
import page from 'vault/tests/pages/settings/auth/configure/section';
|
|
import indexPage from 'vault/tests/pages/settings/auth/configure/index';
|
|
import apiStub from 'vault/tests/helpers/noop-all-api-requests';
|
|
import consolePanel from 'vault/tests/pages/components/console/ui-panel';
|
|
import authPage from 'vault/tests/pages/auth';
|
|
|
|
const cli = create(consolePanel);
|
|
|
|
module('Acceptance | settings/auth/configure/section', function(hooks) {
|
|
setupApplicationTest(hooks);
|
|
|
|
hooks.beforeEach(function() {
|
|
this.server = apiStub({ usePassthrough: true });
|
|
return authPage.login();
|
|
});
|
|
|
|
hooks.afterEach(function() {
|
|
this.server.shutdown();
|
|
});
|
|
|
|
test('it can save options', async function(assert) {
|
|
const path = `approle-${new Date().getTime()}`;
|
|
const type = 'approle';
|
|
const section = 'options';
|
|
await enablePage.enable(type, path);
|
|
await page.visit({ path, section });
|
|
await page.fillInTextarea('description', 'This is AppRole!');
|
|
await page.save();
|
|
assert.equal(
|
|
page.flash.latestMessage,
|
|
`The configuration was saved successfully.`,
|
|
'success flash shows'
|
|
);
|
|
let tuneRequest = this.server.passthroughRequests.filterBy('url', `/v1/sys/mounts/auth/${path}/tune`)[0];
|
|
let keys = Object.keys(JSON.parse(tuneRequest.requestBody));
|
|
assert.ok(keys.includes('default_lease_ttl'), 'passes default_lease_ttl on tune');
|
|
assert.ok(keys.includes('max_lease_ttl'), 'passes max_lease_ttl on tune');
|
|
});
|
|
|
|
for (let type of ['aws', 'azure', 'gcp', 'github', 'kubernetes']) {
|
|
test(`it shows tabs for auth method: ${type}`, async assert => {
|
|
let path = `${type}-${Date.now()}`;
|
|
await cli.consoleInput(`write sys/auth/${path} type=${type}`);
|
|
await cli.enter();
|
|
await indexPage.visit({ path });
|
|
// aws has 4 tabs, the others will have 'Configuration' and 'Method Options' tabs
|
|
let numTabs = type === 'aws' ? 4 : 2;
|
|
assert.equal(page.tabs.length, numTabs, 'shows correct number of tabs');
|
|
});
|
|
}
|
|
});
|