Skip to content

Commit 047dcc3

Browse files
committed
UI: fix PKI issuer capabilities (#24686)
1 parent e3f09b8 commit 047dcc3

File tree

4 files changed

+31
-7
lines changed

4 files changed

+31
-7
lines changed

changelog/24686.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
ui: fix incorrectly calculated capabilities on PKI issuer endpoints
3+
```

ui/app/models/pki/issuer.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,13 @@ export default class PkiIssuerModel extends PkiCertificateBaseModel {
102102
})
103103
ocspServers;
104104

105-
@lazyCapabilities(apiPath`${'backend'}/issuer/${'issuerId'}`) issuerPath;
106-
@lazyCapabilities(apiPath`${'backend'}/root/rotate/exported`) rotateExported;
107-
@lazyCapabilities(apiPath`${'backend'}/root/rotate/internal`) rotateInternal;
108-
@lazyCapabilities(apiPath`${'backend'}/root/rotate/existing`) rotateExisting;
109-
@lazyCapabilities(apiPath`${'backend'}/intermediate/cross-sign`) crossSignPath;
110-
@lazyCapabilities(apiPath`${'backend'}/issuer/${'issuerId'}/sign-intermediate`) signIntermediate;
105+
@lazyCapabilities(apiPath`${'backend'}/issuer/${'issuerId'}`, 'backend', 'issuerId') issuerPath;
106+
@lazyCapabilities(apiPath`${'backend'}/root/rotate/exported`, 'backend') rotateExported;
107+
@lazyCapabilities(apiPath`${'backend'}/root/rotate/internal`, 'backend') rotateInternal;
108+
@lazyCapabilities(apiPath`${'backend'}/root/rotate/existing`, 'backend') rotateExisting;
109+
@lazyCapabilities(apiPath`${'backend'}/intermediate/cross-sign`, 'backend') crossSignPath;
110+
@lazyCapabilities(apiPath`${'backend'}/issuer/${'issuerId'}/sign-intermediate`, 'backend', 'issuerId')
111+
signIntermediate;
111112
get canRotateIssuer() {
112113
return (
113114
this.rotateExported.get('canUpdate') !== false ||

ui/tests/acceptance/pki/pki-overview-test.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ import logout from 'vault/tests/pages/logout';
1010
import enablePage from 'vault/tests/pages/settings/mount-secret-backend';
1111
import { click, currentURL, currentRouteName, visit } from '@ember/test-helpers';
1212
import { SELECTORS } from 'vault/tests/helpers/pki/overview';
13-
import { tokenWithPolicy, runCommands } from 'vault/tests/helpers/pki/pki-run-commands';
13+
import { tokenWithPolicy, runCommands, clearRecords } from 'vault/tests/helpers/pki/pki-run-commands';
1414

1515
module('Acceptance | pki overview', function (hooks) {
1616
setupApplicationTest(hooks);
1717

1818
hooks.beforeEach(async function () {
19+
this.store = this.owner.lookup('service:store');
1920
await authPage.login();
2021
// Setup PKI engine
2122
const mountPath = `pki`;
@@ -42,6 +43,7 @@ module('Acceptance | pki overview', function (hooks) {
4243
this.pkiIssuersList = await tokenWithPolicy('pki-issuers-list', pki_issuers_list_policy);
4344
this.pkiAdminToken = await tokenWithPolicy('pki-admin', pki_admin_policy);
4445
await logout.visit();
46+
clearRecords(this.store);
4547
});
4648

4749
hooks.afterEach(async function () {

ui/tests/helpers/pki/pki-run-commands.js

+18
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,21 @@ export const runCommands = async function (commands) {
3434
throw error;
3535
}
3636
};
37+
38+
// Clears pki-related data and capabilities so that admin
39+
// capabilities from setup don't rollover
40+
export function clearRecords(store) {
41+
store.unloadAll('pki/action');
42+
store.unloadAll('pki/issuer');
43+
store.unloadAll('pki/key');
44+
store.unloadAll('pki/role');
45+
store.unloadAll('pki/sign-intermediate');
46+
store.unloadAll('pki/tidy');
47+
store.unloadAll('pki/config/urls');
48+
store.unloadAll('pki/config/crl');
49+
store.unloadAll('pki/config/cluster');
50+
store.unloadAll('pki/config/acme');
51+
store.unloadAll('pki/certificate/generate');
52+
store.unloadAll('pki/certificate/sign');
53+
store.unloadAll('capabilities');
54+
}

0 commit comments

Comments
 (0)