@equinor/fusion-framework-module-msal 11.0.0-next.0 → 11.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/esm/__tests__/mock/create-mock-user-from-token.test.js +39 -0
- package/dist/esm/__tests__/mock/create-mock-user-from-token.test.js.map +1 -0
- package/dist/esm/__tests__/mock/msal-mock.test.js +53 -1
- package/dist/esm/__tests__/mock/msal-mock.test.js.map +1 -1
- package/dist/esm/mock/MsalMockClient.js +25 -8
- package/dist/esm/mock/MsalMockClient.js.map +1 -1
- package/dist/esm/mock/MsalMockConfigurator.js +63 -11
- package/dist/esm/mock/MsalMockConfigurator.js.map +1 -1
- package/dist/esm/mock/create-mock-user-from-token.js +40 -0
- package/dist/esm/mock/create-mock-user-from-token.js.map +1 -0
- package/dist/esm/mock/index.js +1 -0
- package/dist/esm/mock/index.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/__tests__/mock/create-mock-user-from-token.test.d.ts +1 -0
- package/dist/types/mock/MsalMockClient.d.ts +12 -0
- package/dist/types/mock/MsalMockConfigurator.d.ts +30 -0
- package/dist/types/mock/create-mock-user-from-token.d.ts +25 -0
- package/dist/types/mock/index.d.ts +1 -0
- package/dist/types/version.d.ts +1 -1
- package/docs/testing.md +24 -0
- package/package.json +3 -3
- package/src/__tests__/mock/create-mock-user-from-token.test.ts +46 -0
- package/src/__tests__/mock/msal-mock.test.ts +69 -0
- package/src/mock/MsalMockClient.ts +27 -8
- package/src/mock/MsalMockConfigurator.ts +78 -14
- package/src/mock/create-mock-user-from-token.ts +46 -0
- package/src/mock/index.ts +1 -0
- package/src/version.ts +1 -1
- package/.changeset/msal-auth-provider-fix.md +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 11.0.0-next.1
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 53d5e4c: `MsalMockConfigurator` gains a `setToken(token, skipResolve?)` method. When set, `MsalMockClient`
|
|
8
|
+
returns that exact access/id token instead of generating one from the account's claims — useful
|
|
9
|
+
when a backend mock validates the token itself (specific claims, audience, or signature) and
|
|
10
|
+
needs to see the token it expects rather than a mock-shaped substitute. By default, `setToken`
|
|
11
|
+
also signs in the account derived from the token's own claims (`name`, `preferred_username`,
|
|
12
|
+
`oid`, `tid`, `scp`) via the new `createMockUserFromToken` helper — pass `skipResolve: true` to
|
|
13
|
+
keep a separately declared account while still returning this token.
|
|
14
|
+
|
|
3
15
|
## 11.0.0-next.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { createMockToken } from '../../mock/create-mock-token';
|
|
3
|
+
import { createMockUserFromToken } from '../../mock/create-mock-user-from-token';
|
|
4
|
+
describe('createMockUserFromToken', () => {
|
|
5
|
+
it('maps identity claims onto the matching MsalMockUser fields', () => {
|
|
6
|
+
const token = createMockToken({
|
|
7
|
+
name: 'Ada Lovelace',
|
|
8
|
+
preferred_username: 'ada@equinor.com',
|
|
9
|
+
oid: 'ada-object-id',
|
|
10
|
+
tid: 'ada-tenant-id',
|
|
11
|
+
scp: 'User.Read Files.Read',
|
|
12
|
+
});
|
|
13
|
+
expect(createMockUserFromToken(token)).toEqual({
|
|
14
|
+
name: 'Ada Lovelace',
|
|
15
|
+
username: 'ada@equinor.com',
|
|
16
|
+
userId: 'ada-object-id',
|
|
17
|
+
tenantId: 'ada-tenant-id',
|
|
18
|
+
scopes: ['User.Read', 'Files.Read'],
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
it('leaves a field undefined rather than fabricating one, when a claim is absent', () => {
|
|
22
|
+
const token = createMockToken({
|
|
23
|
+
name: undefined,
|
|
24
|
+
preferred_username: undefined,
|
|
25
|
+
scp: undefined,
|
|
26
|
+
});
|
|
27
|
+
const user = createMockUserFromToken(token);
|
|
28
|
+
expect(user.name).toBeUndefined();
|
|
29
|
+
expect(user.username).toBeUndefined();
|
|
30
|
+
expect(user.scopes).toBeUndefined();
|
|
31
|
+
});
|
|
32
|
+
it('throws for a token with no payload segment', () => {
|
|
33
|
+
expect(() => createMockUserFromToken('not-a-jwt')).toThrow(/payload segment/);
|
|
34
|
+
});
|
|
35
|
+
it('throws for an empty string', () => {
|
|
36
|
+
expect(() => createMockUserFromToken('')).toThrow(/payload segment/);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=create-mock-user-from-token.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-mock-user-from-token.test.js","sourceRoot":"","sources":["../../../../src/__tests__/mock/create-mock-user-from-token.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG,eAAe,CAAC;YAC5B,IAAI,EAAE,cAAc;YACpB,kBAAkB,EAAE,iBAAiB;YACrC,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,sBAAsB;SAC5B,CAAC,CAAC;QAEH,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7C,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,iBAAiB;YAC3B,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,KAAK,GAAG,eAAe,CAAC;YAC5B,IAAI,EAAE,SAAS;YACf,kBAAkB,EAAE,SAAS;YAC7B,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -4,7 +4,7 @@ import telemetryModule from '@equinor/fusion-framework-module-telemetry';
|
|
|
4
4
|
import { MsalConfigurator } from '../../MsalConfigurator';
|
|
5
5
|
import { MsalProvider } from '../../MsalProvider';
|
|
6
6
|
import { enableMSAL, module as realModule } from '../../module';
|
|
7
|
-
import { MsalMockClient, createMsalMockClient, enableMsalMock, msalMockModule, MsalMockConfigurator, } from '../../mock';
|
|
7
|
+
import { MsalMockClient, createMockToken, createMsalMockClient, enableMsalMock, msalMockModule, MsalMockConfigurator, } from '../../mock';
|
|
8
8
|
/**
|
|
9
9
|
* Initializes the mock module through the real module system.
|
|
10
10
|
*
|
|
@@ -309,6 +309,58 @@ describe('MsalMockClient', () => {
|
|
|
309
309
|
const result = await client.acquireToken({ request: { scopes: ['X'] } });
|
|
310
310
|
expect(result?.accessToken).toBe('mock-token');
|
|
311
311
|
});
|
|
312
|
+
it('returns a token set directly on the client verbatim', async () => {
|
|
313
|
+
const client = new MsalMockClient(clientConfig());
|
|
314
|
+
const token = createMockToken({ name: 'Direct Token' });
|
|
315
|
+
client.setToken(token);
|
|
316
|
+
const result = await client.acquireToken({ request: { scopes: ['X'] } });
|
|
317
|
+
expect(result?.accessToken).toBe(token);
|
|
318
|
+
expect(result?.idToken).toBe(token);
|
|
319
|
+
});
|
|
320
|
+
it('resumes generating tokens once setToken(null) clears the override', async () => {
|
|
321
|
+
const client = new MsalMockClient(clientConfig());
|
|
322
|
+
const token = createMockToken({ name: 'Direct Token' });
|
|
323
|
+
client.setToken(token);
|
|
324
|
+
client.setToken(null);
|
|
325
|
+
const result = await client.acquireToken({ request: { scopes: ['X'] } });
|
|
326
|
+
expect(result?.accessToken).not.toBe(token);
|
|
327
|
+
});
|
|
328
|
+
});
|
|
329
|
+
describe('MsalMockConfigurator.setToken', () => {
|
|
330
|
+
it('returns the exact token instead of one generated from the account', async () => {
|
|
331
|
+
const token = createMockToken({ name: 'Token User' });
|
|
332
|
+
const provider = await initializeMockWith((builder) => builder.setToken(token));
|
|
333
|
+
const result = await provider.client.acquireToken({ request: { scopes: ['X'] } });
|
|
334
|
+
expect(result?.accessToken).toBe(token);
|
|
335
|
+
expect(result?.idToken).toBe(token);
|
|
336
|
+
});
|
|
337
|
+
it('signs in the account named by the token claims by default', async () => {
|
|
338
|
+
const token = createMockToken({
|
|
339
|
+
name: 'Token User',
|
|
340
|
+
preferred_username: 'token.user@equinor.com',
|
|
341
|
+
});
|
|
342
|
+
const provider = await initializeMockWith((builder) => builder.setToken(token));
|
|
343
|
+
expect(provider.account?.name).toBe('Token User');
|
|
344
|
+
expect(provider.account?.username).toBe('token.user@equinor.com');
|
|
345
|
+
});
|
|
346
|
+
it('keeps a separately declared account when skipResolve is true', async () => {
|
|
347
|
+
// skipResolve overrides only the returned token, leaving setAccount's declaration alone
|
|
348
|
+
const token = createMockToken({ name: 'Token User' });
|
|
349
|
+
const provider = await initializeMockWith((builder) => {
|
|
350
|
+
builder.setAccount({ name: 'Ada Lovelace' });
|
|
351
|
+
builder.setToken(token, true);
|
|
352
|
+
});
|
|
353
|
+
expect(provider.account?.name).toBe('Ada Lovelace');
|
|
354
|
+
const result = await provider.client.acquireToken({ request: { scopes: ['X'] } });
|
|
355
|
+
expect(result?.accessToken).toBe(token);
|
|
356
|
+
});
|
|
357
|
+
it('resumes generating tokens once setToken(null) is called on the client', async () => {
|
|
358
|
+
const token = createMockToken({ name: 'Token User' });
|
|
359
|
+
const provider = await initializeMockWith((builder) => builder.setToken(token));
|
|
360
|
+
provider.client.setToken(null);
|
|
361
|
+
const result = await provider.client.acquireToken({ request: { scopes: ['X'] } });
|
|
362
|
+
expect(result?.accessToken).not.toBe(token);
|
|
363
|
+
});
|
|
312
364
|
});
|
|
313
365
|
describe('setAccount(null)', () => {
|
|
314
366
|
it('starts with nobody signed in', async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msal-mock.test.js","sourceRoot":"","sources":["../../../../src/__tests__/mock/msal-mock.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EACL,mBAAmB,GAEpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,eAAe,MAAM,4CAA4C,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,oBAAoB,GAErB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,MAAM,kBAAkB,GAAG,KAAK,EAC9B,SAAmD,EAC5B,EAAE;IACzB,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAChE,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IAClD,OAAQ,SAA+C,CAAC,IAAI,CAAC;AAC/D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,cAAc,GAAG,CAAC,IAAmB,EAAyB,EAAE,CACpE,kBAAkB,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEtE,kFAAkF;AAClF,MAAM,YAAY,GAAG,CAAC,QAAQ,GAAG,oBAAoB,EAAE,QAAQ,GAAG,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC1F,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxD,+EAA+E;QAC/E,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC;QAElD,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;QAExC,4EAA4E;QAC5E,gDAAgD;QAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAEhE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,6EAA6E;QAC7E,gDAAgD;QAChD,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5E,cAAc,CAAC,YAAY,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAElD,MAAM,CAAE,SAA+C,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAEhD,YAAY,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAEzD,yDAAyD;QACzD,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,0EAA0E;QAC1E,qDAAqD;QACrD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CACpD,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ;SACzD,CAAC,CAAC,CACJ,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,0EAA0E;QAC1E,oDAAoD;QACpD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,iEAAiE;QACjE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,oEAAoE;QACpE,wDAAwD;QACxD,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/E,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,mEAAmE;QACnE,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QAChE,cAAc,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YACvC,OAAO,CAAC,SAAS,CAAC,EAA+B,CAAC,CAAC;YACnD,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CACrD,6CAA6C,CAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAChD,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAEhE,IAAI,SAAiC,CAAC;QACtC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3E,SAAS,GAAG,MAAM,CAAC;YACnB,OAAO,MAAoB,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,CAAC,iBAAiB,CAAC;YACnC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;YACtC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,MAAM,EAAE,EAAE;SAC6B,CAAC,CAAC;QAE3C,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CACpD,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAC7D,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE/B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1C,MAAM,CAAC,gBAAgB,CAAC;YACtB,aAAa,EAAE,WAAW;YAC1B,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEpC,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7D,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAExC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAExB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CACpD,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAChD,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE5D,wFAAwF;QACxF,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD;;;;;;;;;;OAUG;IACH,MAAM,gBAAgB,GAAG,KAAK,EAC5B,SAAmD,EACK,EAAE;QAC1D,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAE9F,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QAChE,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAG,SAAgD,CAAC,IAAI,EAAE,CAAC;IAClF,CAAC,CAAC;IAEF,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,4EAA4E;QAC5E,yEAAyE;QACzE,qEAAqE;QACrE,8CAA8C;QAC9C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1D,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAC7C,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClD,gDAAgD;QAChD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,8DAA8D;QAC9D,MAAM,IAAI,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAA8B,CAAC;QAErE,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QAChE,cAAc,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAExF,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,6CAA6C,CAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,2EAA2E;QAC3E,4DAA4D;QAC5D,IAAI,MAAwC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAE9F,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QAChE,cAAc,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YACvC,MAAM,GAAG,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QAChE,UAAU,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YACnC,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAElD,MAAM,CAAE,SAA+C,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAC9E,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAEvE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,2EAA2E;QAC3E,2CAA2C;QAC3C,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,IAAI,EAAE;gBACJ,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,oDAAoD;aAChE;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAElD,MAAM,CAAE,MAAwC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpC,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAEpE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAElD,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC;YACjD,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAClC,WAAW,EAAE,YAAY;YACzB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC/C,SAAS,EAAE,wCAAwC;YACnD,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,yBAAyB;SACN,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,0EAA0E;QAC1E,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;YACrD,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CACtD,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAC9D,CAAC;QAEF,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7F,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG;YACd,GAAI,QAAQ,CAAC,OAAuB;YACpC,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,cAAc;SACrB,CAAC;QAEF,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE1C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAElD,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAE1C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,2EAA2E;QAC3E,gEAAgE;QAChE,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG;YACd,GAAI,MAAM,CAAC,gBAAgB,EAAkB;YAC7C,aAAa,EAAE,cAAc;YAC7B,QAAQ,EAAE,0BAA0B;YACpC,IAAI,EAAE,cAAc;SACrB,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEjC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAExD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"msal-mock.test.js","sourceRoot":"","sources":["../../../../src/__tests__/mock/msal-mock.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export class MsalMockClient {
|
|
|
20
20
|
#user;
|
|
21
21
|
#cache = new Map();
|
|
22
22
|
#activeAccountId = null;
|
|
23
|
+
#token = null;
|
|
23
24
|
/**
|
|
24
25
|
* The account currently signed in, or `null`.
|
|
25
26
|
*
|
|
@@ -418,6 +419,20 @@ export class MsalMockClient {
|
|
|
418
419
|
}
|
|
419
420
|
this.#signIn(account ?? this.#createAccount());
|
|
420
421
|
}
|
|
422
|
+
/**
|
|
423
|
+
* Overrides the token returned by future results, independent of who is signed in.
|
|
424
|
+
*
|
|
425
|
+
* @remarks
|
|
426
|
+
* Use this when a backend mock validates its own tokens (specific claims, an
|
|
427
|
+
* audience, or a signature) — supplying the exact token here means that
|
|
428
|
+
* backend sees the token it issued, rather than a mock-shaped substitute this
|
|
429
|
+
* client would otherwise fabricate from the signed-in user's fields.
|
|
430
|
+
*
|
|
431
|
+
* @param token - The token to return verbatim, or `null` to resume generating one.
|
|
432
|
+
*/
|
|
433
|
+
setToken(token) {
|
|
434
|
+
this.#token = token;
|
|
435
|
+
}
|
|
421
436
|
/**
|
|
422
437
|
* Creates the one account represented by this mock's configured identity.
|
|
423
438
|
* @returns An MSAL-shaped account for the configured user.
|
|
@@ -439,14 +454,16 @@ export class MsalMockClient {
|
|
|
439
454
|
*/
|
|
440
455
|
#createResult(scopes) {
|
|
441
456
|
const granted = scopes?.length ? scopes : this.#user.scopes;
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
457
|
+
// a caller-supplied token is sent verbatim so a backend mock validating it sees what it expects
|
|
458
|
+
const token = this.#token ??
|
|
459
|
+
createMockToken({
|
|
460
|
+
name: this.#user.name,
|
|
461
|
+
preferred_username: this.#user.username,
|
|
462
|
+
oid: this.#user.userId,
|
|
463
|
+
tid: this.#user.tenantId,
|
|
464
|
+
aud: this.#user.clientId,
|
|
465
|
+
scp: granted.join(' '),
|
|
466
|
+
});
|
|
450
467
|
// Object shape matches AuthenticationResult's fields consumers rely on; the real
|
|
451
468
|
// type also carries browser-only fields (e.g. `familyId`) this mock intentionally omits
|
|
452
469
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsalMockClient.js","sourceRoot":"","sources":["../../../src/mock/MsalMockClient.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAqCtD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,cAAc;IACzB,KAAK,CAEH;IACF,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IACxC,gBAAgB,GAAkB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"MsalMockClient.js","sourceRoot":"","sources":["../../../src/mock/MsalMockClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MsalConfigurator } from '../MsalConfigurator';
|
|
2
2
|
import { MsalMockClient } from './MsalMockClient';
|
|
3
|
+
import { createMockUserFromToken } from './create-mock-user-from-token';
|
|
3
4
|
/**
|
|
4
5
|
* The client configuration used when a test declares none.
|
|
5
6
|
*
|
|
@@ -96,28 +97,72 @@ export class MsalMockConfigurator extends MsalConfigurator {
|
|
|
96
97
|
return this;
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
99
|
-
*
|
|
100
|
+
* Declares the token to return, independent of who is signed in.
|
|
100
101
|
*
|
|
101
102
|
* @remarks
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
103
|
+
* Use this when a backend mock validates its own tokens (specific claims, an
|
|
104
|
+
* audience, or a signature) — the client then returns this token verbatim
|
|
105
|
+
* instead of fabricating one from the signed-in user's fields.
|
|
106
|
+
*
|
|
107
|
+
* @param token - A JWT (e.g. from `createMockToken`, or issued by an external mock).
|
|
108
|
+
* @param skipResolve - When `true`, override only the token and leave an account
|
|
109
|
+
* declared through {@link setAccount} untouched. Defaults to `false`, which also signs
|
|
110
|
+
* in the user described by the token's claims, via {@link createMockUserFromToken}.
|
|
111
|
+
* @returns The builder, for chaining.
|
|
112
|
+
*
|
|
113
|
+
* @example Sign in as whoever the token names
|
|
114
|
+
* ```typescript
|
|
115
|
+
* builder.setToken(token);
|
|
116
|
+
* ```
|
|
117
|
+
*
|
|
118
|
+
* @example Keep a separately declared account, but return this exact token
|
|
119
|
+
* ```typescript
|
|
120
|
+
* builder.setAccount({ name: 'Ada Lovelace' }).setToken(token, true);
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
setToken(token, skipResolve = false) {
|
|
124
|
+
this._set('mock.token', token);
|
|
125
|
+
// skipResolve defaults to false - most callers want the token's claims to name who is signed in
|
|
126
|
+
if (!skipResolve) {
|
|
127
|
+
this.setAccount(createMockUserFromToken(token));
|
|
128
|
+
}
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Resolves the client the module authenticates through, wherever it was built.
|
|
133
|
+
*
|
|
134
|
+
* @remarks
|
|
135
|
+
* Shared by {@link setAccount} and {@link setToken} application: neither can
|
|
136
|
+
* assume the scope declaring mock state is the scope that built the client,
|
|
137
|
+
* which is exactly what is not true when an application is tested inside a
|
|
138
|
+
* portal. The host built that client, in a scope this builder never sees, so
|
|
139
|
+
* the client has to be located rather than assumed.
|
|
107
140
|
*
|
|
108
|
-
* @param account - The user to sign in, or `null` when nobody is.
|
|
109
141
|
* @param config - The validated configuration, carrying the client when one was built.
|
|
110
142
|
* @param init - The builder arguments, carrying the host reference when hoisted.
|
|
143
|
+
* @param action - Describes what could not be applied, for the thrown error.
|
|
144
|
+
* @returns The resolved mock client.
|
|
111
145
|
* @throws When the resolved client is not a {@link MsalMockClient}.
|
|
112
146
|
*/
|
|
113
|
-
#
|
|
147
|
+
#getClient(config, init, action) {
|
|
114
148
|
const host = init?.ref?.auth;
|
|
115
149
|
const client = config.client ?? host?.client;
|
|
116
|
-
// Reject a real client because mock
|
|
150
|
+
// Reject a real client because mock state cannot be applied to it.
|
|
117
151
|
if (!(client instanceof MsalMockClient)) {
|
|
118
|
-
throw new Error(
|
|
152
|
+
throw new Error(`MsalMockConfigurator: cannot ${action}, because this module does not authenticate through a mock client. Declare it where that client is configured instead.`);
|
|
119
153
|
}
|
|
120
|
-
client
|
|
154
|
+
return client;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Signs the declared user in on the client the module authenticates through.
|
|
158
|
+
*
|
|
159
|
+
* @param account - The user to sign in, or `null` when nobody is.
|
|
160
|
+
* @param config - The validated configuration, carrying the client when one was built.
|
|
161
|
+
* @param init - The builder arguments, carrying the host reference when hoisted.
|
|
162
|
+
* @throws When the resolved client is not a {@link MsalMockClient}.
|
|
163
|
+
*/
|
|
164
|
+
#signIn(account, config, init) {
|
|
165
|
+
this.#getClient(config, init, 'sign a user in').setUser(account);
|
|
121
166
|
}
|
|
122
167
|
/**
|
|
123
168
|
* Assembles the configuration, then signs the declared user in.
|
|
@@ -157,6 +202,13 @@ export class MsalMockConfigurator extends MsalConfigurator {
|
|
|
157
202
|
if (account !== undefined) {
|
|
158
203
|
this.#signIn(account, config, init);
|
|
159
204
|
}
|
|
205
|
+
// Applied after the account so a token declared alongside `skipResolve: true`
|
|
206
|
+
// overrides whatever `setUser` above just fabricated.
|
|
207
|
+
const token = rawConfig.mock?.token;
|
|
208
|
+
// absent means the test declared no token override; leave the client generating its own
|
|
209
|
+
if (token !== undefined) {
|
|
210
|
+
this.#getClient(config, init, 'set a token').setToken(token);
|
|
211
|
+
}
|
|
160
212
|
return config;
|
|
161
213
|
}
|
|
162
214
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsalMockConfigurator.js","sourceRoot":"","sources":["../../../src/mock/MsalMockConfigurator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"MsalMockConfigurator.js","sourceRoot":"","sources":["../../../src/mock/MsalMockConfigurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { decodeJwtSegment } from './decode-jwt-segment';
|
|
2
|
+
/**
|
|
3
|
+
* Derives a {@link MsalMockUser} from a JWT's payload claims, so a token minted
|
|
4
|
+
* outside this module (e.g. by a backend's own mock) can drive who the mock
|
|
5
|
+
* signs in as.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Maps the standard Entra ID claims Fusion applications read — `name`,
|
|
9
|
+
* `preferred_username`, `oid`, `tid`, `scp` — onto the matching
|
|
10
|
+
* {@link MsalMockUser} fields. Identity only: it does not affect which token
|
|
11
|
+
* the client returns — use {@link MsalMockConfigurator.setToken} for that.
|
|
12
|
+
*
|
|
13
|
+
* @param token - A JWT (e.g. from {@link createMockToken}, or issued by an
|
|
14
|
+
* external mock) with a base64url-encoded payload segment.
|
|
15
|
+
* @returns A mock user built from the token's claims.
|
|
16
|
+
* @throws When the token has no payload segment (`header.payload.signature`).
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* enableMsalMock(configurator, (builder) => {
|
|
21
|
+
* builder.setAccount(createMockUserFromToken(token));
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export const createMockUserFromToken = (token) => {
|
|
26
|
+
const [, payload] = token.split('.');
|
|
27
|
+
// fail loudly rather than signing in an empty/garbage user from a malformed token
|
|
28
|
+
if (!payload) {
|
|
29
|
+
throw new Error('createMockUserFromToken: expected a JWT with a payload segment (header.payload.signature)');
|
|
30
|
+
}
|
|
31
|
+
const claims = JSON.parse(decodeJwtSegment(payload));
|
|
32
|
+
return {
|
|
33
|
+
name: claims.name,
|
|
34
|
+
username: claims.preferred_username,
|
|
35
|
+
userId: claims.oid,
|
|
36
|
+
tenantId: claims.tid,
|
|
37
|
+
scopes: claims.scp?.split(' '),
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=create-mock-user-from-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-mock-user-from-token.js","sourceRoot":"","sources":["../../../src/mock/create-mock-user-from-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAa,EAAgB,EAAE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,kFAAkF;IAClF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,kBAAkB;QACnC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,QAAQ,EAAE,MAAM,CAAC,GAAG;QACpB,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;KAC/B,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/esm/mock/index.js
CHANGED
|
@@ -26,5 +26,6 @@ export { createMsalMockClient } from './create-msal-mock-client';
|
|
|
26
26
|
export { MsalMockConfigurator } from './MsalMockConfigurator';
|
|
27
27
|
export { enableMsalMock, msalMockModule } from './module';
|
|
28
28
|
export { createMockToken } from './create-mock-token';
|
|
29
|
+
export { createMockUserFromToken } from './create-mock-user-from-token';
|
|
29
30
|
export { decodeJwtSegment } from './decode-jwt-segment';
|
|
30
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mock/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,eAAe,EAAwB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mock/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,eAAe,EAAwB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/esm/version.js
CHANGED