vault/ui/tests/acceptance/policies-acl-old-test.js
claire bontempo 76e742ba32
ui: HDS adoption replace <AlertBanner> component (#21375)
* UI: HDS adoption replace AlertBanner part 1 (#21163)

* rename test selector

* replace db banner

* add class

* replace db role edit

* db creds

* generate creds

* simpler class

* license banner component

* oidc callback plash

* raft

* aws

* secret create or update

* change to compact alert for form field

* change back to inline

* combine alert banners

* wrap in conditional

* remove references to message class

* UI: HDS adoption replace AlertBanner part 2 (#21243)

* token expire warning

* delete css

* edit form

* item details distribute mfa step 2 transit verify

* back to secondary

* distribute

* oidc lease error

* sign

* kv obj and repl dash

* more repl

* update test selector

* show, creds

* shamir

* pki csr

* pki banners

* add hds library to ember engines

* woops comma

* fix k8 test

* update message error component for last!

* hold off MessageError changes until next pr

* revert test selectors

* update pki tests

* UI: part 3 remove alert banner (#21334)

* final component swap

* and actual final of MessageError

* update MessageError selectors

* delete alert-banner and remove references

* update next step alerts to highlight color

* finishing touches, auth form test and client dashboard inline link

* fix more selectors

* fix shamir flow test

* ui: part 4 final cleanup (#21365)

* replace AlertPopup

* add test tag

* move tag

* one more message error tag

* delete alert popup

* final css cleanup

* move preformatted flash into <p> tag

* ui: address comments for sidebranch  (#21388)

* add periods, move link to trailing

* more periods and typo fix
2023-06-21 11:37:11 -07:00

91 lines
3.2 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { click, fillIn, find, currentURL, waitUntil } from '@ember/test-helpers';
import { module, test } from 'qunit';
import { setupApplicationTest } from 'ember-qunit';
import { v4 as uuidv4 } from 'uuid';
import page from 'vault/tests/pages/policies/index';
import authPage from 'vault/tests/pages/auth';
module('Acceptance | policies (old)', function (hooks) {
setupApplicationTest(hooks);
hooks.beforeEach(function () {
this.uid = uuidv4();
return authPage.login();
});
test('policies', async function (assert) {
const policyString = 'path "*" { capabilities = ["update"]}';
const policyName = `Policy test ${this.uid}`;
const policyLower = policyName.toLowerCase();
await page.visit({ type: 'acl' });
// new policy creation
await click('[data-test-policy-create-link]');
await fillIn('[data-test-policy-input="name"]', policyName);
await click('[data-test-policy-save]');
assert
.dom('[data-test-message-error]')
.hasText(`Error 'policy' parameter not supplied or empty`, 'renders error message on save');
find('.CodeMirror').CodeMirror.setValue(policyString);
await click('[data-test-policy-save]');
await waitUntil(() => currentURL() === `/vault/policy/acl/${encodeURIComponent(policyLower)}`);
assert.strictEqual(
currentURL(),
`/vault/policy/acl/${encodeURIComponent(policyLower)}`,
'navigates to policy show on successful save'
);
assert.dom('[data-test-policy-name]').hasText(policyLower, 'displays the policy name on the show page');
assert.dom('[data-test-flash-message].is-info').doesNotExist('no flash message is displayed on save');
await click('[data-test-policy-list-link]');
assert
.dom(`[data-test-policy-link="${policyLower}"]`)
.exists({ count: 1 }, 'new policy shown in the list');
// policy deletion
await click(`[data-test-policy-link="${policyLower}"]`);
await click('[data-test-policy-edit-toggle]');
await click('[data-test-policy-delete] button');
await click('[data-test-confirm-button]');
await waitUntil(() => currentURL() === `/vault/policies/acl`);
assert.strictEqual(
currentURL(),
`/vault/policies/acl`,
'navigates to policy list on successful deletion'
);
assert
.dom(`[data-test-policy-item="${policyLower}"]`)
.doesNotExist('deleted policy is not shown in the list');
});
// https://github.com/hashicorp/vault/issues/4395
test('it properly fetches policies when the name ends in a ,', async function (assert) {
const policyString = 'path "*" { capabilities = ["update"]}';
const policyName = `${this.uid}-policy-symbol,.`;
await page.visit({ type: 'acl' });
// new policy creation
await click('[data-test-policy-create-link]');
await fillIn('[data-test-policy-input="name"]', policyName);
find('.CodeMirror').CodeMirror.setValue(policyString);
await click('[data-test-policy-save]');
assert.ok(
await waitUntil(() => currentURL() === `/vault/policy/acl/${policyName}`),
'navigates to policy show on successful save'
);
assert.dom('[data-test-policy-edit-toggle]').exists({ count: 1 }, 'shows the edit toggle');
});
});