mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-22 15:11:07 +02:00
* add secrets sync feature to version service * fix syntax for feature in version service * UI [Sidebranch]: correctly call activation flags endpoints (#26068) * Show empty state on client count sync page if feature isn't activated (#26024) * page/sync: show empty state if sync is not activated * tests: add sync page integration tests * tests: add secrets sync acceptance tests * cleanup: remove redundant empty state selector * chore: rename to isSecretsSyncActivated * Only make POST request to activation-flags in root namespace (#26081) * Clean up around opt-in banner on non-secrets-sync views (#26039) * only show and make request to activated-features if enterprise with secrets sync feature * waiting for final badge title but hiding banner and network request based on if user has secrets-sync feature. * final copy for badge * handle dismiss erorr message, custom messaging in errors, different badge names and upsell if not on license. * add secrets sync feature to version service * nope, add to main sidebranch not in this PR * use version service directly to check for secrets sync feature * update badges to use version service directly * do not unnecessarily pass hasSecretsSyncFeature, access from version directly * last spot to update using the feature getter * cleanup landing cta logic * UI [Sidebranch]: correctly call activation flags endpoints (#26068) * small cleanups after merge * remove unused type imports * update tests * update nav link test * add test waiter for race condition on test * add waiter to fetch activation-flags * remove customer waiters and go for waitFors in test * worth a try? mirage issues? * closer? * fix issue with inconsistent asserts * adding back in in case this is the issue * revert cluster.hbs change * skip test * delete test --------- Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com> Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com> Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com> * Hide sync for managed vault (#26084) * [secrets sync] hide sync content from client overview (#26078) * clients/overview: hide secrets sync content if not in license * clients: remove sync tab if not in license * routes: fetch isSecretsSyncActivated at clients/counts route level * wip - hide secrets sync from overview page * tests: fix usage-stats test * more wip hiding from overview page * hide secrets sync on attribution component/modal * hide secrets sync content on running total component * fix RunningTotal class name Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com> * controllers: fix type * tests: usage tests * tests: running totals tests * add s to secrets-sync * tests: running-total test cleanup --------- Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com> Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com> * cleanup unused version service * return extra line * wip - sync tests * wip -- clients overview acceptance tests * test coverage for sync in license, activated * tests: add more robust sync-related overview tests * hide sync client charts if feature not in license --------- Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com> Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com> Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com> Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com> Co-authored-by: Chelsea Shaw <cshaw@hashicorp.com>
32 lines
938 B
JavaScript
32 lines
938 B
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import { allFeatures } from 'vault/helpers/all-features';
|
|
import sinon from 'sinon';
|
|
|
|
export const stubFeaturesAndPermissions = (owner, isEnterprise = false, setCluster = false, features) => {
|
|
const permissions = owner.lookup('service:permissions');
|
|
const hasNavPermission = sinon.stub(permissions, 'hasNavPermission');
|
|
hasNavPermission.returns(true);
|
|
sinon.stub(permissions, 'navPathParams');
|
|
|
|
const version = owner.lookup('service:version');
|
|
version.type = isEnterprise ? 'enterprise' : 'community';
|
|
version.features = features || allFeatures();
|
|
|
|
const auth = owner.lookup('service:auth');
|
|
sinon.stub(auth, 'authData').value({});
|
|
|
|
if (setCluster) {
|
|
owner.lookup('service:currentCluster').setCluster({
|
|
id: 'foo',
|
|
anyReplicationEnabled: true,
|
|
usingRaft: true,
|
|
});
|
|
}
|
|
|
|
return { hasNavPermission, features };
|
|
};
|