Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions sdk/identity/identity/src/msal/nodeFlows/msalClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import * as msal from "@azure/msal-node";

import { AccessToken, GetTokenOptions } from "@azure/core-auth";
import { PluginConfiguration, generatePluginConfiguration } from "./msalPlugins";
import { PluginConfiguration, msalPlugins } from "./msalPlugins";
import { credentialLogger, formatSuccess } from "../../util/logging";
import {
defaultLoggerCallback,
Expand Down Expand Up @@ -141,7 +141,7 @@ export function createMsalClient(
cachedAccount: createMsalClientOptions.authenticationRecord
? publicToMsal(createMsalClientOptions.authenticationRecord)
: null,
pluginConfiguration: generatePluginConfiguration(createMsalClientOptions),
pluginConfiguration: msalPlugins.generatePluginConfiguration(createMsalClientOptions),
};

const confidentialApps: Map<string, msal.ConfidentialClientApplication> = new Map();
Expand Down
9 changes: 8 additions & 1 deletion sdk/identity/identity/src/msal/nodeFlows/msalPlugins.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ export const msalNodeFlowNativeBrokerControl: NativeBrokerPluginControl = {
* @param options - options for creating the MSAL client
* @returns plugin configuration
*/
export function generatePluginConfiguration(options: MsalClientOptions): PluginConfiguration {
function generatePluginConfiguration(options: MsalClientOptions): PluginConfiguration {
const config: PluginConfiguration = {
cache: {},
broker: {
Expand Down Expand Up @@ -130,3 +130,10 @@ export function generatePluginConfiguration(options: MsalClientOptions): PluginC

return config;
}

/**
* Wraps generatePluginConfiguration as a writeable property for test stubbing purposes.
*/
export const msalPlugins = {
generatePluginConfiguration,
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// Licensed under the MIT license.

import * as msalClient from "../../../src/msal/nodeFlows/msalClient";
import * as msalPlugins from "../../../src/msal/nodeFlows/msalPlugins";

import { AuthenticationResult, ConfidentialClientApplication } from "@azure/msal-node";
import { MsalTestCleanup, msalNodeTestSetup } from "../../node/msalNodeTestSetup";
Expand All @@ -13,6 +12,7 @@ import { AuthenticationRequiredError } from "../../../src/errors";
import { IdentityClient } from "../../../src/client/identityClient";
import { assert } from "@azure/test-utils";
import { credentialLogger } from "../../../src/util/logging";
import { msalPlugins } from "../../../src/msal/nodeFlows/msalPlugins";
import sinon from "sinon";

describe("MsalClient", function () {
Expand Down
14 changes: 7 additions & 7 deletions sdk/identity/identity/test/internal/node/msalPlugins.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import { ICachePlugin, INativeBrokerPlugin } from "@azure/msal-node";
import {
PluginConfiguration,
generatePluginConfiguration,
msalNodeFlowCacheControl,
msalNodeFlowNativeBrokerControl,
msalPlugins,
} from "../../../src/msal/nodeFlows/msalPlugins";

import { MsalClientOptions } from "../../../src/msal/nodeFlows/msalClient";
Expand All @@ -21,7 +21,7 @@ describe("#generatePluginConfiguration", function () {
});

it("returns a PluginConfiguration with default values", function () {
const result = generatePluginConfiguration(options);
const result = msalPlugins.generatePluginConfiguration(options);
const expected: PluginConfiguration = {
cache: {},
broker: {
Expand All @@ -40,7 +40,7 @@ describe("#generatePluginConfiguration", function () {
it("should throw an error if persistence provider is not configured", () => {
options.tokenCachePersistenceOptions = { enabled: true };
assert.throws(
() => generatePluginConfiguration(options),
() => msalPlugins.generatePluginConfiguration(options),
/Persistent token caching was requested/,
);
});
Expand All @@ -54,7 +54,7 @@ describe("#generatePluginConfiguration", function () {
};
const pluginProvider: () => Promise<ICachePlugin> = () => Promise.resolve(cachePlugin);
msalNodeFlowCacheControl.setPersistence(pluginProvider);
const result = generatePluginConfiguration(options);
const result = msalPlugins.generatePluginConfiguration(options);
assert.exists(result.cache.cachePlugin);
const plugin = await result.cache.cachePlugin;
assert.strictEqual(plugin, cachePlugin);
Expand All @@ -69,7 +69,7 @@ describe("#generatePluginConfiguration", function () {
};
const pluginProvider: () => Promise<ICachePlugin> = () => Promise.resolve(cachePluginCae);
msalNodeFlowCacheControl.setPersistence(pluginProvider);
const result = generatePluginConfiguration(options);
const result = msalPlugins.generatePluginConfiguration(options);
assert.exists(result.cache.cachePluginCae);
const plugin = await result.cache.cachePluginCae;
assert.strictEqual(plugin, cachePluginCae);
Expand All @@ -86,7 +86,7 @@ describe("#generatePluginConfiguration", function () {
it("throws an error if native broker is not configured", () => {
options.brokerOptions = { enabled: true, parentWindowHandle };
assert.throws(
() => generatePluginConfiguration(options),
() => msalPlugins.generatePluginConfiguration(options),
/Broker for WAM was requested to be enabled/,
);
});
Expand All @@ -100,7 +100,7 @@ describe("#generatePluginConfiguration", function () {
const nativeBrokerPlugin: INativeBrokerPlugin = {} as INativeBrokerPlugin;
msalNodeFlowNativeBrokerControl.setNativeBroker(nativeBrokerPlugin);

const result = generatePluginConfiguration(options);
const result = msalPlugins.generatePluginConfiguration(options);
assert.strictEqual(result.broker.nativeBrokerPlugin, nativeBrokerPlugin);
assert.strictEqual(result.broker.enableMsaPassthrough, true);
assert.strictEqual(result.broker.parentWindowHandle, parentWindowHandle);
Expand Down