1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-06 00:13:28 +00:00

fix: use newly-minted policy methods in metadata provider (#13993)

Recently the policy service was refactored and some method signatures were
changed. One of these changes involved renaming the `getAll` observable to
`policiesByType`.

This was not merged into the metadata provider work before it was merged, so
those changes were committed using removed method signatures.

This commit updates these references.
This commit is contained in:
Addison Beck
2025-03-25 19:11:26 -04:00
committed by GitHub
parent f3a2649752
commit 2b9ef7fe19
2 changed files with 15 additions and 13 deletions

View File

@@ -295,7 +295,7 @@ describe("GeneratorMetadataProvider", () => {
[Algorithm.username, effWordList],
[Algorithm.password, password],
])("gets a specific algorithm", async (algorithm, metadata) => {
SomePolicyService.getAll$.mockReturnValue(new BehaviorSubject([]));
SomePolicyService.policiesByType$.mockReturnValue(new BehaviorSubject([]));
const provider = new GeneratorMetadataProvider(SystemProvider, ApplicationProvider, [
metadata,
]);
@@ -311,7 +311,7 @@ describe("GeneratorMetadataProvider", () => {
[Type.username, [effWordList]],
[Type.password, [password, passphrase]],
])("gets a category of algorithms", async (category, metadata) => {
SomePolicyService.getAll$.mockReturnValue(new BehaviorSubject([]));
SomePolicyService.policiesByType$.mockReturnValue(new BehaviorSubject([]));
const provider = new GeneratorMetadataProvider(SystemProvider, ApplicationProvider, metadata);
const result = new ReplaySubject<CredentialAlgorithm[]>(1);
@@ -329,7 +329,7 @@ describe("GeneratorMetadataProvider", () => {
overridePasswordType: Algorithm.password,
},
} as any);
SomePolicyService.getAll$.mockReturnValue(new BehaviorSubject([policy]));
SomePolicyService.policiesByType$.mockReturnValue(new BehaviorSubject([policy]));
const metadata = [password, passphrase];
const provider = new GeneratorMetadataProvider(SystemProvider, ApplicationProvider, metadata);
const algorithmResult = new ReplaySubject<CredentialAlgorithm[]>(1);
@@ -347,7 +347,7 @@ describe("GeneratorMetadataProvider", () => {
});
it("omits algorithms whose metadata is unavailable", async () => {
SomePolicyService.getAll$.mockReturnValue(new BehaviorSubject([]));
SomePolicyService.policiesByType$.mockReturnValue(new BehaviorSubject([]));
const provider = new GeneratorMetadataProvider(SystemProvider, ApplicationProvider, [
password,
]);
@@ -389,7 +389,7 @@ describe("GeneratorMetadataProvider", () => {
[Type.username, effWordList],
[Type.password, password],
])("emits the user's %s preference", async (type, metadata) => {
SomePolicyService.getAll$.mockReturnValue(new BehaviorSubject([]));
SomePolicyService.policiesByType$.mockReturnValue(new BehaviorSubject([]));
const provider = new GeneratorMetadataProvider(SystemProvider, ApplicationProvider, [
metadata,
]);
@@ -401,7 +401,7 @@ describe("GeneratorMetadataProvider", () => {
});
it("emits a default when the user's preference is unavailable", async () => {
SomePolicyService.getAll$.mockReturnValue(new BehaviorSubject([]));
SomePolicyService.policiesByType$.mockReturnValue(new BehaviorSubject([]));
const provider = new GeneratorMetadataProvider(SystemProvider, ApplicationProvider, [
plusAddress,
]);
@@ -416,7 +416,7 @@ describe("GeneratorMetadataProvider", () => {
});
it("emits undefined when the user's preference is unavailable and there is no metadata", async () => {
SomePolicyService.getAll$.mockReturnValue(new BehaviorSubject([]));
SomePolicyService.policiesByType$.mockReturnValue(new BehaviorSubject([]));
const provider = new GeneratorMetadataProvider(SystemProvider, ApplicationProvider, []);
const result = new ReplaySubject<CredentialAlgorithm | undefined>(1);

View File

@@ -145,12 +145,14 @@ export class GeneratorMetadataProvider {
const available$ = id$.pipe(
switchMap((id) => {
const policies$ = this.application.policy.getAll$(PolicyType.PasswordGenerator, id).pipe(
map((p) => availableAlgorithms_vNext(p).filter((a) => this._metadata.has(a))),
map((p) => new Set(p)),
// complete policy emissions otherwise `switchMap` holds `available$` open indefinitely
takeUntil(anyComplete(id$)),
);
const policies$ = this.application.policy
.policiesByType$(PolicyType.PasswordGenerator, id)
.pipe(
map((p) => availableAlgorithms_vNext(p).filter((a) => this._metadata.has(a))),
map((p) => new Set(p)),
// complete policy emissions otherwise `switchMap` holds `available$` open indefinitely
takeUntil(anyComplete(id$)),
);
return policies$;
}),
map(