@microsoft/managed-apps-cli 0.13.0 → 0.16.0

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.
Files changed (197) hide show
  1. package/README.md +1 -1
  2. package/dist/ArgumentProvider.d.ts +1 -2
  3. package/dist/ArgumentProvider.d.ts.map +1 -1
  4. package/dist/ArgumentProvider.js.map +1 -1
  5. package/dist/Authentication/NoOpAuthenticationProvider.d.ts +25 -0
  6. package/dist/Authentication/NoOpAuthenticationProvider.d.ts.map +1 -0
  7. package/dist/Authentication/NoOpAuthenticationProvider.js +31 -0
  8. package/dist/Authentication/NoOpAuthenticationProvider.js.map +1 -0
  9. package/dist/Cli.d.ts.map +1 -1
  10. package/dist/Cli.js +14 -0
  11. package/dist/Cli.js.map +1 -1
  12. package/dist/CliSettings.d.ts.map +1 -1
  13. package/dist/CliSettings.js +2 -1
  14. package/dist/CliSettings.js.map +1 -1
  15. package/dist/Constants/CommandRegistry.d.ts.map +1 -1
  16. package/dist/Constants/CommandRegistry.js +22 -4
  17. package/dist/Constants/CommandRegistry.js.map +1 -1
  18. package/dist/Constants/HelpStrings.d.ts +21 -3
  19. package/dist/Constants/HelpStrings.d.ts.map +1 -1
  20. package/dist/Constants/HelpStrings.js +53 -18
  21. package/dist/Constants/HelpStrings.js.map +1 -1
  22. package/dist/Constants.d.ts +2 -0
  23. package/dist/Constants.d.ts.map +1 -1
  24. package/dist/Constants.js +8 -0
  25. package/dist/Constants.js.map +1 -1
  26. package/dist/HttpClient/CliHttpClient.d.ts +1 -1
  27. package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
  28. package/dist/HttpClient/CliHttpClient.js +49 -2
  29. package/dist/HttpClient/CliHttpClient.js.map +1 -1
  30. package/dist/Logger/CliLogger.d.ts +1 -1
  31. package/dist/Logger/CliLogger.d.ts.map +1 -1
  32. package/dist/Logger/CliLogger.js +23 -4
  33. package/dist/Logger/CliLogger.js.map +1 -1
  34. package/dist/Logger/ConsoleWriter.d.ts +1 -0
  35. package/dist/Logger/ConsoleWriter.d.ts.map +1 -1
  36. package/dist/Logger/ConsoleWriter.js +3 -0
  37. package/dist/Logger/ConsoleWriter.js.map +1 -1
  38. package/dist/Logger/OneDSWriter.d.ts +1 -1
  39. package/dist/Logger/OneDSWriter.d.ts.map +1 -1
  40. package/dist/Logger/OneDSWriter.js +8 -3
  41. package/dist/Logger/OneDSWriter.js.map +1 -1
  42. package/dist/Testing/MockFetch.d.ts +23 -0
  43. package/dist/Testing/MockFetch.d.ts.map +1 -0
  44. package/dist/Testing/MockFetch.js +177 -0
  45. package/dist/Testing/MockFetch.js.map +1 -0
  46. package/dist/Testing/MockRoutes.d.ts +34 -0
  47. package/dist/Testing/MockRoutes.d.ts.map +1 -0
  48. package/dist/Testing/MockRoutes.js +226 -0
  49. package/dist/Testing/MockRoutes.js.map +1 -0
  50. package/dist/Testing/fixtures/connectors/commondataserviceforapps.d.ts +6 -0
  51. package/dist/Testing/fixtures/connectors/commondataserviceforapps.d.ts.map +1 -0
  52. package/dist/Testing/fixtures/connectors/commondataserviceforapps.js +25 -0
  53. package/dist/Testing/fixtures/connectors/commondataserviceforapps.js.map +1 -0
  54. package/dist/Testing/fixtures/connectors/dataverseContactEntity.d.ts +6 -0
  55. package/dist/Testing/fixtures/connectors/dataverseContactEntity.d.ts.map +1 -0
  56. package/dist/Testing/fixtures/connectors/dataverseContactEntity.js +55 -0
  57. package/dist/Testing/fixtures/connectors/dataverseContactEntity.js.map +1 -0
  58. package/dist/Testing/fixtures/connectors/excelonlinebusiness.d.ts +6 -0
  59. package/dist/Testing/fixtures/connectors/excelonlinebusiness.d.ts.map +1 -0
  60. package/dist/Testing/fixtures/connectors/excelonlinebusiness.js +1970 -0
  61. package/dist/Testing/fixtures/connectors/excelonlinebusiness.js.map +1 -0
  62. package/dist/Testing/fixtures/connectors/kusto.d.ts +6 -0
  63. package/dist/Testing/fixtures/connectors/kusto.d.ts.map +1 -0
  64. package/dist/Testing/fixtures/connectors/kusto.js +1333 -0
  65. package/dist/Testing/fixtures/connectors/kusto.js.map +1 -0
  66. package/dist/Testing/fixtures/connectors/msnweather.d.ts +6 -0
  67. package/dist/Testing/fixtures/connectors/msnweather.d.ts.map +1 -0
  68. package/dist/Testing/fixtures/connectors/msnweather.js +917 -0
  69. package/dist/Testing/fixtures/connectors/msnweather.js.map +1 -0
  70. package/dist/Testing/fixtures/connectors/office365groups.d.ts +6 -0
  71. package/dist/Testing/fixtures/connectors/office365groups.d.ts.map +1 -0
  72. package/dist/Testing/fixtures/connectors/office365groups.js +2144 -0
  73. package/dist/Testing/fixtures/connectors/office365groups.js.map +1 -0
  74. package/dist/Testing/fixtures/connectors/office365users.d.ts +6 -0
  75. package/dist/Testing/fixtures/connectors/office365users.d.ts.map +1 -0
  76. package/dist/Testing/fixtures/connectors/office365users.js +1969 -0
  77. package/dist/Testing/fixtures/connectors/office365users.js.map +1 -0
  78. package/dist/Testing/fixtures/connectors/onedriveforbusiness.d.ts +6 -0
  79. package/dist/Testing/fixtures/connectors/onedriveforbusiness.d.ts.map +1 -0
  80. package/dist/Testing/fixtures/connectors/onedriveforbusiness.js +4873 -0
  81. package/dist/Testing/fixtures/connectors/onedriveforbusiness.js.map +1 -0
  82. package/dist/Testing/fixtures/connectors/powerappsforappmakers.d.ts +6 -0
  83. package/dist/Testing/fixtures/connectors/powerappsforappmakers.d.ts.map +1 -0
  84. package/dist/Testing/fixtures/connectors/powerappsforappmakers.js +4682 -0
  85. package/dist/Testing/fixtures/connectors/powerappsforappmakers.js.map +1 -0
  86. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.d.ts +6 -0
  87. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.d.ts.map +1 -0
  88. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.js +1078 -0
  89. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.js.map +1 -0
  90. package/dist/Testing/fixtures/connectors/sharepointonline.d.ts +6 -0
  91. package/dist/Testing/fixtures/connectors/sharepointonline.d.ts.map +1 -0
  92. package/dist/Testing/fixtures/connectors/sharepointonline.js +28 -0
  93. package/dist/Testing/fixtures/connectors/sharepointonline.js.map +1 -0
  94. package/dist/Testing/fixtures/connectors/teams.d.ts +6 -0
  95. package/dist/Testing/fixtures/connectors/teams.d.ts.map +1 -0
  96. package/dist/Testing/fixtures/connectors/teams.js +9987 -0
  97. package/dist/Testing/fixtures/connectors/teams.js.map +1 -0
  98. package/dist/Testing/fixtures/connectors/translatorv2.d.ts +6 -0
  99. package/dist/Testing/fixtures/connectors/translatorv2.d.ts.map +1 -0
  100. package/dist/Testing/fixtures/connectors/translatorv2.js +307 -0
  101. package/dist/Testing/fixtures/connectors/translatorv2.js.map +1 -0
  102. package/dist/Testing/fixtures/index.d.ts +23 -0
  103. package/dist/Testing/fixtures/index.d.ts.map +1 -0
  104. package/dist/Testing/fixtures/index.js +96 -0
  105. package/dist/Testing/fixtures/index.js.map +1 -0
  106. package/dist/Types/LoggerTypes.types.d.ts +1 -0
  107. package/dist/Types/LoggerTypes.types.d.ts.map +1 -1
  108. package/dist/Utils/CoerceCliVersion.d.ts +27 -0
  109. package/dist/Utils/CoerceCliVersion.d.ts.map +1 -0
  110. package/dist/Utils/CoerceCliVersion.js +67 -0
  111. package/dist/Utils/CoerceCliVersion.js.map +1 -0
  112. package/dist/Utils/EnvVars.d.ts +1 -1
  113. package/dist/Utils/EnvVars.d.ts.map +1 -1
  114. package/dist/Utils/EnvVars.js.map +1 -1
  115. package/dist/Utils/EnvironmentRoutingUtils.d.ts +1 -2
  116. package/dist/Utils/EnvironmentRoutingUtils.d.ts.map +1 -1
  117. package/dist/Utils/EnvironmentRoutingUtils.js.map +1 -1
  118. package/dist/Utils/MaafAppConfig.d.ts +2 -0
  119. package/dist/Utils/MaafAppConfig.d.ts.map +1 -1
  120. package/dist/Utils/MaafAppConfig.js +6 -0
  121. package/dist/Utils/MaafAppConfig.js.map +1 -1
  122. package/dist/Utils/PinCli.d.ts +18 -13
  123. package/dist/Utils/PinCli.d.ts.map +1 -1
  124. package/dist/Utils/PinCli.js +37 -18
  125. package/dist/Utils/PinCli.js.map +1 -1
  126. package/dist/Utils/RepoOption.d.ts +1 -0
  127. package/dist/Utils/RepoOption.d.ts.map +1 -1
  128. package/dist/Utils/RepoOption.js +14 -0
  129. package/dist/Utils/RepoOption.js.map +1 -1
  130. package/dist/Utils/ShareAccessRouting.d.ts +78 -0
  131. package/dist/Utils/ShareAccessRouting.d.ts.map +1 -0
  132. package/dist/Utils/ShareAccessRouting.js +93 -0
  133. package/dist/Utils/ShareAccessRouting.js.map +1 -0
  134. package/dist/Verbs/AddConnector.d.ts +6 -6
  135. package/dist/Verbs/AddConnector.d.ts.map +1 -1
  136. package/dist/Verbs/AddConnector.js +62 -36
  137. package/dist/Verbs/AddConnector.js.map +1 -1
  138. package/dist/Verbs/AddConnectorFlows.d.ts +14 -2
  139. package/dist/Verbs/AddConnectorFlows.d.ts.map +1 -1
  140. package/dist/Verbs/AddConnectorFlows.js +67 -18
  141. package/dist/Verbs/AddConnectorFlows.js.map +1 -1
  142. package/dist/Verbs/ConnectorHelpers.d.ts +79 -6
  143. package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -1
  144. package/dist/Verbs/ConnectorHelpers.js +280 -32
  145. package/dist/Verbs/ConnectorHelpers.js.map +1 -1
  146. package/dist/Verbs/CreateMaafApp.d.ts +8 -16
  147. package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
  148. package/dist/Verbs/CreateMaafApp.js +224 -96
  149. package/dist/Verbs/CreateMaafApp.js.map +1 -1
  150. package/dist/Verbs/DeleteMaafApp.d.ts +13 -9
  151. package/dist/Verbs/DeleteMaafApp.d.ts.map +1 -1
  152. package/dist/Verbs/DeleteMaafApp.js +41 -21
  153. package/dist/Verbs/DeleteMaafApp.js.map +1 -1
  154. package/dist/Verbs/Dev.d.ts.map +1 -1
  155. package/dist/Verbs/Dev.js +34 -3
  156. package/dist/Verbs/Dev.js.map +1 -1
  157. package/dist/Verbs/GetMaafApp.d.ts.map +1 -1
  158. package/dist/Verbs/GetMaafApp.js +18 -6
  159. package/dist/Verbs/GetMaafApp.js.map +1 -1
  160. package/dist/Verbs/Init.d.ts.map +1 -1
  161. package/dist/Verbs/Init.js +58 -5
  162. package/dist/Verbs/Init.js.map +1 -1
  163. package/dist/Verbs/ListConnectors.d.ts.map +1 -1
  164. package/dist/Verbs/ListConnectors.js +12 -1
  165. package/dist/Verbs/ListConnectors.js.map +1 -1
  166. package/dist/Verbs/ListMaafApps.d.ts +9 -8
  167. package/dist/Verbs/ListMaafApps.d.ts.map +1 -1
  168. package/dist/Verbs/ListMaafApps.js +30 -23
  169. package/dist/Verbs/ListMaafApps.js.map +1 -1
  170. package/dist/Verbs/MaafAppPermissions.d.ts +8 -17
  171. package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -1
  172. package/dist/Verbs/MaafAppPermissions.js +84 -91
  173. package/dist/Verbs/MaafAppPermissions.js.map +1 -1
  174. package/dist/Verbs/Pack.d.ts +30 -1
  175. package/dist/Verbs/Pack.d.ts.map +1 -1
  176. package/dist/Verbs/Pack.js +179 -2
  177. package/dist/Verbs/Pack.js.map +1 -1
  178. package/dist/Verbs/RefreshDataSource.d.ts +15 -0
  179. package/dist/Verbs/RefreshDataSource.d.ts.map +1 -1
  180. package/dist/Verbs/RefreshDataSource.js +41 -27
  181. package/dist/Verbs/RefreshDataSource.js.map +1 -1
  182. package/dist/Verbs/RemoveDataSource.d.ts.map +1 -1
  183. package/dist/Verbs/RemoveDataSource.js +17 -3
  184. package/dist/Verbs/RemoveDataSource.js.map +1 -1
  185. package/dist/Verbs/ShareList.d.ts +10 -0
  186. package/dist/Verbs/ShareList.d.ts.map +1 -0
  187. package/dist/Verbs/ShareList.js +254 -0
  188. package/dist/Verbs/ShareList.js.map +1 -0
  189. package/dist/Verbs/VerbConstants.d.ts +56 -3
  190. package/dist/Verbs/VerbConstants.d.ts.map +1 -1
  191. package/dist/Verbs/VerbConstants.js +40 -3
  192. package/dist/Verbs/VerbConstants.js.map +1 -1
  193. package/dist/Verbs/index.d.ts +1 -0
  194. package/dist/Verbs/index.d.ts.map +1 -1
  195. package/dist/Verbs/index.js +1 -0
  196. package/dist/Verbs/index.js.map +1 -1
  197. package/package.json +4 -4
@@ -0,0 +1,177 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ /**
5
+ * A mock `fetch` used by end-to-end tests. Activated by MS_CLI_MOCK_BACKEND=true and installed over
6
+ * `globalThis.fetch` in `boot()`, so every network call the CLI makes — whether through the real
7
+ * {@link CliHttpClient} or a bare `fetch` — is answered from the canned {@link mockRoutes} table
8
+ * instead of hitting a live service.
9
+ *
10
+ * Unlike a transport-level mock, this leaves the real `CliHttpClient` untouched, so the production
11
+ * request pipeline (auth-header assembly, telemetry, error parsing) is exercised end-to-end against
12
+ * canned responses rather than bypassed.
13
+ *
14
+ * This module is dynamically imported only when the env var is set, so it never loads on a normal
15
+ * CLI run.
16
+ */
17
+ /*
18
+ * This module IS the CLI's `fetch` mock, so referencing the global `fetch` type and reassigning
19
+ * `globalThis.fetch` is its entire purpose — the `no-restricted-globals` guard (which nudges normal
20
+ * code toward CliHttpClient) does not apply here.
21
+ */
22
+ /* eslint-disable no-restricted-globals */
23
+ import { randomUUID } from 'crypto';
24
+ import { appendFileSync } from 'fs';
25
+ import { MS_TARGET_URL } from '../Constants.js';
26
+ import { getCliEnvVar, getCliEnvVarBool } from '../Utils/EnvVars.js';
27
+ import { mockRoutes } from './MockRoutes.js';
28
+ /** True when verbose mock logging is requested (logs every matched route, not just misses). */
29
+ const verbose = getCliEnvVarBool('MOCK_BACKEND_VERBOSE');
30
+ /** Optional file path; when set, every request outcome is appended here (survives subprocesses). */
31
+ const logFile = getCliEnvVar('MOCK_BACKEND_LOG')?.trim();
32
+ function log(message) {
33
+ // Keep stderr clean by default (many E2E tests assert empty stderr); only surface mock logs on
34
+ // stderr when explicitly asked. The log file, when configured, always receives every message so
35
+ // the request surface can be discovered.
36
+ if (verbose) {
37
+ process.stderr.write(`[mock-http] ${message}\n`);
38
+ }
39
+ if (logFile) {
40
+ try {
41
+ appendFileSync(logFile, `${message}\n`);
42
+ }
43
+ catch {
44
+ // Best-effort logging only.
45
+ }
46
+ }
47
+ }
48
+ const HTTP_METHODS = new Set(['GET', 'POST', 'PATCH', 'PUT', 'DELETE']);
49
+ /** Normalise the various `fetch` input shapes into a plain URL string. */
50
+ function urlOf(input) {
51
+ if (typeof input === 'string') {
52
+ return input;
53
+ }
54
+ if (input instanceof URL) {
55
+ return input.toString();
56
+ }
57
+ return input.url; // Request
58
+ }
59
+ /** Flatten `RequestInit.headers` (object | array | Headers) into a plain record. */
60
+ function headerRecord(headers) {
61
+ if (!headers) {
62
+ return undefined;
63
+ }
64
+ const out = {};
65
+ if (headers instanceof Headers) {
66
+ headers.forEach((value, key) => {
67
+ out[key] = value;
68
+ });
69
+ }
70
+ else if (Array.isArray(headers)) {
71
+ for (const [key, value] of headers) {
72
+ out[key] = value;
73
+ }
74
+ }
75
+ else {
76
+ Object.assign(out, headers);
77
+ }
78
+ return out;
79
+ }
80
+ /**
81
+ * Parse an encoded request body back into the object the routes expect. `CliHttpClient` encodes
82
+ * JSON bodies to a string via `encodeBody` before calling `fetch`, so undo that here; non-JSON
83
+ * string bodies are handed through as-is.
84
+ */
85
+ function parseBody(body) {
86
+ if (typeof body !== 'string' || body.length === 0) {
87
+ return body ?? undefined;
88
+ }
89
+ try {
90
+ return JSON.parse(body);
91
+ }
92
+ catch {
93
+ return body;
94
+ }
95
+ }
96
+ /** Build a JSON `Response`, honouring the no-body rule for 204/205/304. */
97
+ function jsonResponse(data, status) {
98
+ const nullBodyStatus = status === 204 || status === 205 || status === 304;
99
+ const body = nullBodyStatus || data === undefined ? null : JSON.stringify(data ?? {});
100
+ // Emit the correlation/request-id and content-length headers a real service returns so the
101
+ // CliHttpClient telemetry fields (correlationRequestId, serverRequestId, contentLength) populate
102
+ // rather than defaulting to `undefined`.
103
+ const headers = {
104
+ 'content-type': 'application/json',
105
+ 'x-ms-request-id': randomUUID(),
106
+ 'x-ms-correlation-request-id': randomUUID(),
107
+ };
108
+ if (body !== null) {
109
+ headers['content-length'] = String(Buffer.byteLength(body));
110
+ }
111
+ return new Response(body, { status, headers });
112
+ }
113
+ /**
114
+ * The mock `fetch`. Routes by request URL (or, in forward mode, by the `x-ms-target-url` header
115
+ * that carries the original target) against the {@link mockRoutes} table and returns a real
116
+ * `Response`. Unmatched requests get a 404 `Response` so the caller's normal error handling runs,
117
+ * and are logged so the request surface is easy to discover via `MS_CLI_MOCK_BACKEND_LOG`.
118
+ */
119
+ export async function mockFetch(input, init) {
120
+ const headers = headerRecord(init?.headers);
121
+ // In forward mode the fetch URL is the forwarder; the real target is carried in a header, so
122
+ // prefer it to preserve routing on the original URL.
123
+ const url = headers?.[MS_TARGET_URL] ?? headers?.[MS_TARGET_URL.toLowerCase()] ?? urlOf(input);
124
+ const method = (init?.method ?? 'GET').toUpperCase();
125
+ const req = {
126
+ method: (HTTP_METHODS.has(method) ? method : 'GET'),
127
+ url,
128
+ body: parseBody(init?.body),
129
+ headers,
130
+ };
131
+ for (const route of mockRoutes) {
132
+ if (route.match(req)) {
133
+ const result = await route.respond(req);
134
+ const status = result.status ?? 200;
135
+ if (verbose) {
136
+ log(`MATCH ${route.name}: ${req.method} ${url} -> ${status}`);
137
+ }
138
+ return jsonResponse(result.data, status);
139
+ }
140
+ }
141
+ log(`UNMATCHED ${req.method} ${url}`);
142
+ return jsonResponse({
143
+ error: {
144
+ code: 'MockBackendUnmatched',
145
+ message: `No mock route matched ${req.method} ${url}. Add a route to MockRoutes.ts.`,
146
+ },
147
+ }, 404);
148
+ }
149
+ /**
150
+ * The real `fetch` captured the first time {@link installMockFetch} runs, so the mock can be
151
+ * torn down via {@link uninstallMockFetch}. `undefined` until the first install.
152
+ */
153
+ let originalFetch;
154
+ /**
155
+ * Install {@link mockFetch} over the global `fetch`. Called by `boot()` under MS_CLI_MOCK_BACKEND
156
+ * before the CLI issues any request.
157
+ *
158
+ * Idempotent: repeated calls keep the mock installed and preserve the originally-captured `fetch`
159
+ * (they don't stash the mock as the "original"). The spawned-CLI-subprocess use here never needs a
160
+ * teardown — the process exits — but {@link uninstallMockFetch} restores the real `fetch` for any
161
+ * in-process caller that installs the mock and must not clobber the global for the rest of the run.
162
+ */
163
+ export function installMockFetch() {
164
+ if (originalFetch === undefined) {
165
+ originalFetch = globalThis.fetch;
166
+ }
167
+ // Cast: the runtime `fetch` type carries a `preconnect` helper the mock doesn't need.
168
+ globalThis.fetch = mockFetch;
169
+ }
170
+ /** Restore the real `fetch` captured by {@link installMockFetch}. No-op if never installed. */
171
+ export function uninstallMockFetch() {
172
+ if (originalFetch !== undefined) {
173
+ globalThis.fetch = originalFetch;
174
+ originalFetch = undefined;
175
+ }
176
+ }
177
+ //# sourceMappingURL=MockFetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockFetch.js","sourceRoot":"","sources":["../../src/Testing/MockFetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ /**
5
+ * Route table for the mock backend ({@link mockFetch}). Each route matches on HTTP method + request
6
+ * URL and returns a canned response. The first matching route (top to bottom) wins, so put the most
7
+ * specific routes first.
8
+ *
9
+ * To add coverage for a new backend call, append a route here. Unmatched requests are logged and
10
+ * answered with a 404 by {@link mockFetch}, so the surface is easy to discover by running the
11
+ * E2E suite with `MS_CLI_MOCK_BACKEND_LOG=<path>` set.
12
+ */
13
+ export type MockHttpRequest = {
14
+ method: 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE';
15
+ url: string;
16
+ body: unknown;
17
+ headers: Record<string, string> | undefined;
18
+ };
19
+ export type MockHttpResult = {
20
+ status?: number;
21
+ /** Parsed response body handed back to the caller as `Response.data`. */
22
+ data?: unknown;
23
+ };
24
+ export type MockRoute = {
25
+ /** Human-readable label, surfaced in verbose logs. */
26
+ name: string;
27
+ match: (req: MockHttpRequest) => boolean;
28
+ respond: (req: MockHttpRequest) => MockHttpResult | Promise<MockHttpResult>;
29
+ };
30
+ /**
31
+ * Ordered list of mock routes. The first route whose `match` returns true handles the request.
32
+ */
33
+ export declare const mockRoutes: MockRoute[];
34
+ //# sourceMappingURL=MockRoutes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockRoutes.d.ts","sourceRoot":"","sources":["../../src/Testing/MockRoutes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;GAQG;AAEH,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC;IACzC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC7E,CAAC;AAiCF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,EAmNjC,CAAC"}
@@ -0,0 +1,226 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { buildConnectionFixture, buildEnvironmentFixture, getConnectorFixture, getDataverseEntityFixture, getTableMetadataFixture, } from './fixtures/index.js';
5
+ /** Case-insensitive test for a substring anywhere in the URL. */
6
+ function urlIncludes(url, needle) {
7
+ return url.toLowerCase().includes(needle.toLowerCase());
8
+ }
9
+ /** Returns the path portion of a URL (no query string). */
10
+ function pathOf(url) {
11
+ const q = url.indexOf('?');
12
+ const noQuery = q === -1 ? url : url.slice(0, q);
13
+ try {
14
+ return new URL(noQuery).pathname;
15
+ }
16
+ catch {
17
+ return noQuery;
18
+ }
19
+ }
20
+ /** Extracts the `{name}` in `.../filter+eq+'{name}'` (URL-encoded or not). */
21
+ function extractEnvironmentName(url) {
22
+ const decoded = decodeURIComponent(url);
23
+ const match = decoded.match(/name eq '([^']+)'|environment eq '([^']+)'/i);
24
+ return match?.[1] ?? match?.[2] ?? 'mock-environment';
25
+ }
26
+ /**
27
+ * Ordered list of mock routes. The first route whose `match` returns true handles the request.
28
+ */
29
+ export const mockRoutes = [
30
+ // --- Power Apps RP: list code apps (`app list` legacy path) ---
31
+ {
32
+ name: 'powerapps.listApps',
33
+ match: (req) => req.method === 'GET' && /\/powerapps\/apps(\?|$)/i.test(req.url),
34
+ respond: () => ({ data: { value: [] } }),
35
+ },
36
+ // --- App Framework (MAAF): list apps (`app list`) ---
37
+ {
38
+ name: 'appframework.listApps',
39
+ match: (req) => req.method === 'GET' && urlIncludes(req.url, '/appframework/apps'),
40
+ respond: () => ({ data: { value: [] } }),
41
+ },
42
+ // --- Power Apps RP: resolve environment (returns Dataverse instanceApiUrl) ---
43
+ {
44
+ name: 'powerapps.environment',
45
+ match: (req) => req.method === 'GET' && urlIncludes(pathOf(req.url), '/powerapps/environment'),
46
+ respond: (req) => ({ data: buildEnvironmentFixture(extractEnvironmentName(req.url)) }),
47
+ },
48
+ // --- Governance: connector data policy (empty -> ALLOW_ALL) ---
49
+ {
50
+ name: 'governance.connectorDataPolicy',
51
+ match: (req) => req.method === 'GET' && urlIncludes(req.url, 'connectorDataPolicy'),
52
+ respond: () => ({ data: { value: [] } }),
53
+ },
54
+ // --- Governance: resolve/provision the user's routing (developer) environment ---
55
+ {
56
+ name: 'governance.userRoutingEnvironment',
57
+ match: (req) => req.method === 'GET' && urlIncludes(pathOf(req.url), '/governance/userRoutingEnvironment'),
58
+ respond: () => ({
59
+ status: 200,
60
+ data: {
61
+ environmentFound: true,
62
+ operationSuccess: true,
63
+ environment: { name: '86297537-2957-edd3-89bc-5fbdfa2831eb' },
64
+ },
65
+ }),
66
+ },
67
+ // --- Dataverse: option-set attribute metadata (enrichment; empty is tolerated) ---
68
+ {
69
+ name: 'dataverse.entityAttributesOptionSet',
70
+ match: (req) => req.method === 'GET' &&
71
+ /\/EntityDefinitions\(LogicalName='[^']+'\)\/Attributes\//i.test(pathOf(req.url)),
72
+ respond: () => ({ data: { value: [] } }),
73
+ },
74
+ // --- Dataverse: entity definition (EntityDefinitions(LogicalName='<table>')) ---
75
+ {
76
+ name: 'dataverse.entityDefinition',
77
+ match: (req) => req.method === 'GET' && /\/EntityDefinitions\(LogicalName='[^']+'\)/i.test(pathOf(req.url)),
78
+ respond: (req) => {
79
+ const logicalName = decodeURIComponent(pathOf(req.url).match(/EntityDefinitions\(LogicalName='([^']+)'\)/i)?.[1] ?? '');
80
+ const fixture = getDataverseEntityFixture(logicalName);
81
+ if (!fixture) {
82
+ return {
83
+ status: 404,
84
+ data: {
85
+ error: { code: 'EntityNotFound', message: `No fixture for entity '${logicalName}'.` },
86
+ },
87
+ };
88
+ }
89
+ return { data: fixture };
90
+ },
91
+ },
92
+ // --- Connectivity: request user consent on a connection (POST .../userConsent) ---
93
+ {
94
+ name: 'connectivity.userConsent',
95
+ match: (req) => req.method === 'POST' && urlIncludes(pathOf(req.url), '/userConsent'),
96
+ respond: () => ({ status: 200, data: {} }),
97
+ },
98
+ // --- APIM tabular runtime: table/resource metadata ($metadata.json/.../tables/{name}) ---
99
+ {
100
+ name: 'apim.tableMetadata',
101
+ match: (req) => req.method === 'GET' &&
102
+ urlIncludes(req.url, '/$metadata.json/datasets/') &&
103
+ /\/(tables|procedures)\/[^/]+$/i.test(pathOf(req.url)),
104
+ respond: (req) => {
105
+ const p = pathOf(req.url);
106
+ const resource = decodeURIComponent(p.match(/\/(?:tables|procedures)\/([^/]+)$/i)?.[1] ?? '');
107
+ const fixture = getTableMetadataFixture(resource);
108
+ if (!fixture) {
109
+ return {
110
+ status: 404,
111
+ data: {
112
+ error: { code: 'TableNotFound', message: `No fixture for table '${resource}'.` },
113
+ },
114
+ };
115
+ }
116
+ return { data: fixture };
117
+ },
118
+ },
119
+ // --- APIM tabular runtime: list datasets / tables (empty; tests pass explicit values) ---
120
+ {
121
+ name: 'apim.listDatasetsOrTables',
122
+ match: (req) => {
123
+ const p = pathOf(req.url);
124
+ return (req.method === 'GET' &&
125
+ (/\/datasets$/i.test(p) || /\/datasets\/[^/]+\/(allTables|tables|procedures)$/i.test(p)));
126
+ },
127
+ respond: () => ({ data: { value: [] } }),
128
+ },
129
+ // --- Connectivity: single connection (must precede the single-connector route) ---
130
+ {
131
+ name: 'connectivity.getConnection',
132
+ match: (req) => {
133
+ const p = pathOf(req.url);
134
+ return (req.method === 'GET' && /\/connectivity\/connectors\/[^/]+\/connections\/[^/]+$/i.test(p));
135
+ },
136
+ respond: (req) => {
137
+ const p = pathOf(req.url);
138
+ const m = p.match(/\/connectivity\/connectors\/([^/]+)\/connections\/([^/]+)$/i);
139
+ return { data: buildConnectionFixture(m?.[1] ?? 'unknown', m?.[2] ?? 'unknown') };
140
+ },
141
+ },
142
+ // --- Connectivity: list connections for a connector ---
143
+ {
144
+ name: 'connectivity.listConnections',
145
+ match: (req) => {
146
+ const p = pathOf(req.url);
147
+ return req.method === 'GET' && /\/connectivity\/connectors\/[^/]+\/connections$/i.test(p);
148
+ },
149
+ respond: () => ({ data: { value: [] } }),
150
+ },
151
+ // --- Connectivity: single connector (with or without $expand=swagger) ---
152
+ {
153
+ name: 'connectivity.getConnector',
154
+ match: (req) => {
155
+ const p = pathOf(req.url);
156
+ return req.method === 'GET' && /\/connectivity\/connectors\/[^/]+$/i.test(p);
157
+ },
158
+ respond: (req) => {
159
+ const p = pathOf(req.url);
160
+ const apiId = p.match(/\/connectivity\/connectors\/([^/]+)$/i)?.[1] ?? '';
161
+ const fixture = getConnectorFixture(decodeURIComponent(apiId));
162
+ if (!fixture) {
163
+ return {
164
+ status: 404,
165
+ data: { error: { code: 'ConnectorNotFound', message: `No fixture for '${apiId}'.` } },
166
+ };
167
+ }
168
+ return { data: fixture };
169
+ },
170
+ },
171
+ // --- Connectivity: list connectors ---
172
+ {
173
+ name: 'connectivity.listConnectors',
174
+ match: (req) => {
175
+ const p = pathOf(req.url);
176
+ return req.method === 'GET' && /\/connectivity\/connectors$/i.test(p);
177
+ },
178
+ respond: () => ({ data: { value: [] } }),
179
+ },
180
+ // --- App framework: locate an app's tenant/environment (POST /appframework/apps/{id}/locate) ---
181
+ {
182
+ name: 'appframework.locateApp',
183
+ match: (req) => req.method === 'POST' && /\/appframework\/apps\/[^/]+\/locate$/i.test(pathOf(req.url)),
184
+ respond: (req) => {
185
+ const appName = decodeURIComponent(pathOf(req.url).match(/\/appframework\/apps\/([^/]+)\/locate$/i)?.[1] ?? 'Test App');
186
+ return {
187
+ status: 200,
188
+ data: {
189
+ tenantId: '00000000-0000-0000-0000-000000000001',
190
+ environmentName: '86297537-2957-edd3-89bc-5fbdfa2831eb',
191
+ geo: 'unitedstates',
192
+ appName,
193
+ repositoryId: '99999999-8888-7777-6666-555555555555',
194
+ },
195
+ };
196
+ },
197
+ },
198
+ // --- App framework: delete a Microsoft App (DELETE /appframework/apps/{id}) ---
199
+ {
200
+ name: 'appframework.deleteApp',
201
+ match: (req) => req.method === 'DELETE' && /\/appframework\/apps\/[^/]+$/i.test(pathOf(req.url)),
202
+ respond: () => ({ status: 200, data: {} }),
203
+ },
204
+ // --- App framework: create a Microsoft App (POST /appframework/apps) ---
205
+ {
206
+ name: 'appframework.createApp',
207
+ match: (req) => req.method === 'POST' && /\/appframework\/apps$/i.test(pathOf(req.url)),
208
+ respond: (req) => {
209
+ const body = (req.body ?? {});
210
+ const environmentId = body.environmentId ?? '86297537-2957-edd3-89bc-5fbdfa2831eb';
211
+ return {
212
+ status: 201,
213
+ data: {
214
+ id: '11111111-2222-3333-4444-555555555555',
215
+ name: '11111111-2222-3333-4444-555555555555',
216
+ location: 'unitedstates',
217
+ displayName: body.displayName ?? 'Test App',
218
+ environmentId,
219
+ repositoryId: '99999999-8888-7777-6666-555555555555',
220
+ description: body.description ?? '',
221
+ },
222
+ };
223
+ },
224
+ },
225
+ ];
226
+ //# sourceMappingURL=MockRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockRoutes.js","sourceRoot":"","sources":["../../src/Testing/MockRoutes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ declare const connector: Record<string, unknown>;
5
+ export default connector;
6
+ //# sourceMappingURL=commondataserviceforapps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commondataserviceforapps.d.ts","sourceRoot":"","sources":["../../../../src/Testing/fixtures/connectors/commondataserviceforapps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAYtC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,25 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ // Synthesized Common Data Service for Apps (Dataverse) connector fixture. The CDS add path first
5
+ // runs the standard connector-action flow (which needs a valid `swagger` for codegen) and then
6
+ // binds a Dataverse table via the environment's org URL — no connection is required, so the
7
+ // connection-parameter surface is intentionally emptied here to keep the flow non-interactive.
8
+ import office365users from './office365users.js';
9
+ const base = office365users;
10
+ const baseProps = (base.properties ?? {});
11
+ const connector = {
12
+ ...base,
13
+ name: 'shared_commondataserviceforapps',
14
+ id: '/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps',
15
+ type: 'Microsoft.PowerApps/apis',
16
+ properties: {
17
+ ...baseProps,
18
+ displayName: 'Microsoft Dataverse (legacy)',
19
+ connectionParameters: {},
20
+ connectionParameterSets: undefined,
21
+ metadata: { allowSharing: false },
22
+ },
23
+ };
24
+ export default connector;
25
+ //# sourceMappingURL=commondataserviceforapps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commondataserviceforapps.js","sourceRoot":"","sources":["../../../../src/Testing/fixtures/connectors/commondataserviceforapps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iGAAiG;AACjG,+FAA+F;AAC/F,4FAA4F;AAC5F,+FAA+F;AAC/F,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,IAAI,GAAG,cAAyC,CAAC;AACvD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;AAErE,MAAM,SAAS,GAA4B;IACzC,GAAG,IAAI;IACP,IAAI,EAAE,iCAAiC;IACvC,EAAE,EAAE,qEAAqE;IACzE,IAAI,EAAE,0BAA0B;IAChC,UAAU,EAAE;QACV,GAAG,SAAS;QACZ,WAAW,EAAE,8BAA8B;QAC3C,oBAAoB,EAAE,EAAE;QACxB,uBAAuB,EAAE,SAAS;QAClC,QAAQ,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE;KAClC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ declare const entityDefinition: Record<string, unknown>;
5
+ export default entityDefinition;
6
+ //# sourceMappingURL=dataverseContactEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataverseContactEntity.d.ts","sourceRoot":"","sources":["../../../../src/Testing/fixtures/connectors/dataverseContactEntity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA8C7C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,55 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ // Minimal Dataverse EntityDefinition (the `EntityDefinitions(LogicalName='contact')` response)
5
+ // used by the CDS Dataverse table add flow in E2E. Contains just enough attribute metadata for
6
+ // `convertEntityDefinitionToSchema` and codegen to emit a valid Contact model/service.
7
+ const entityDefinition = {
8
+ MetadataId: '11111111-1111-1111-1111-111111111111',
9
+ LogicalName: 'contact',
10
+ EntitySetName: 'contacts',
11
+ PrimaryIdAttribute: 'contactid',
12
+ PrimaryNameAttribute: 'fullname',
13
+ DisplayName: { UserLocalizedLabel: { Label: 'Contact' } },
14
+ DisplayCollectionName: { UserLocalizedLabel: { Label: 'Contacts' } },
15
+ Attributes: [
16
+ {
17
+ LogicalName: 'contactid',
18
+ SchemaName: 'ContactId',
19
+ AttributeTypeName: { Value: 'Uniqueidentifier' },
20
+ DisplayName: { UserLocalizedLabel: { Label: 'Contact' } },
21
+ IsPrimaryId: true,
22
+ IsValidForCreate: false,
23
+ IsValidForUpdate: false,
24
+ RequiredLevel: { Value: 'SystemRequired' },
25
+ },
26
+ {
27
+ LogicalName: 'fullname',
28
+ SchemaName: 'FullName',
29
+ AttributeTypeName: { Value: 'String' },
30
+ DisplayName: { UserLocalizedLabel: { Label: 'Full Name' } },
31
+ IsPrimaryName: true,
32
+ MaxLength: 160,
33
+ },
34
+ {
35
+ LogicalName: 'emailaddress1',
36
+ SchemaName: 'EMailAddress1',
37
+ AttributeTypeName: { Value: 'String' },
38
+ DisplayName: { UserLocalizedLabel: { Label: 'Email' } },
39
+ MaxLength: 100,
40
+ },
41
+ {
42
+ LogicalName: 'createdon',
43
+ SchemaName: 'CreatedOn',
44
+ AttributeTypeName: { Value: 'DateTime' },
45
+ DisplayName: { UserLocalizedLabel: { Label: 'Created On' } },
46
+ IsValidForCreate: false,
47
+ IsValidForUpdate: false,
48
+ },
49
+ ],
50
+ ManyToOneRelationships: [],
51
+ OneToManyRelationships: [],
52
+ ManyToManyRelationships: [],
53
+ };
54
+ export default entityDefinition;
55
+ //# sourceMappingURL=dataverseContactEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataverseContactEntity.js","sourceRoot":"","sources":["../../../../src/Testing/fixtures/connectors/dataverseContactEntity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+FAA+F;AAC/F,+FAA+F;AAC/F,uFAAuF;AACvF,MAAM,gBAAgB,GAA4B;IAChD,UAAU,EAAE,sCAAsC;IAClD,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,UAAU;IACzB,kBAAkB,EAAE,WAAW;IAC/B,oBAAoB,EAAE,UAAU;IAChC,WAAW,EAAE,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IACzD,qBAAqB,EAAE,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IACpE,UAAU,EAAE;QACV;YACE,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,WAAW;YACvB,iBAAiB,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;YAChD,WAAW,EAAE,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YACzD,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,KAAK;YACvB,aAAa,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE;SAC3C;QACD;YACE,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,UAAU;YACtB,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACtC,WAAW,EAAE,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YAC3D,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,GAAG;SACf;QACD;YACE,WAAW,EAAE,eAAe;YAC5B,UAAU,EAAE,eAAe;YAC3B,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACtC,WAAW,EAAE,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvD,SAAS,EAAE,GAAG;SACf;QACD;YACE,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,WAAW;YACvB,iBAAiB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;YACxC,WAAW,EAAE,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YAC5D,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,KAAK;SACxB;KACF;IACD,sBAAsB,EAAE,EAAE;IAC1B,sBAAsB,EAAE,EAAE;IAC1B,uBAAuB,EAAE,EAAE;CAC5B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ declare const connector: Record<string, unknown>;
5
+ export default connector;
6
+ //# sourceMappingURL=excelonlinebusiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excelonlinebusiness.d.ts","sourceRoot":"","sources":["../../../../src/Testing/fixtures/connectors/excelonlinebusiness.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAs9DtC,CAAC;AAEF,eAAe,SAAS,CAAC"}