@microsoft/power-apps-cli 0.6.0 → 0.6.4

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 (178) hide show
  1. package/lib/ArgumentProvider.d.ts.map +1 -1
  2. package/lib/ArgumentProvider.js +11 -7
  3. package/lib/ArgumentProvider.js.map +1 -1
  4. package/lib/Authentication/NodeMsalAuthenticationProvider.d.ts +4 -1
  5. package/lib/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -1
  6. package/lib/Authentication/NodeMsalAuthenticationProvider.js +5 -1
  7. package/lib/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
  8. package/lib/Authentication/PacCliAuthenticationProvider.d.ts +2 -1
  9. package/lib/Authentication/PacCliAuthenticationProvider.d.ts.map +1 -1
  10. package/lib/Authentication/PacCliAuthenticationProvider.js +1 -1
  11. package/lib/Authentication/PacCliAuthenticationProvider.js.map +1 -1
  12. package/lib/Authentication/ServicePrincipalAuthenticationProvider.d.ts +3 -1
  13. package/lib/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +1 -1
  14. package/lib/Authentication/ServicePrincipalAuthenticationProvider.js +4 -2
  15. package/lib/Authentication/ServicePrincipalAuthenticationProvider.js.map +1 -1
  16. package/lib/Cli.d.ts.map +1 -1
  17. package/lib/Cli.js +1 -2
  18. package/lib/Cli.js.map +1 -1
  19. package/lib/CliUtils.d.ts +1 -1
  20. package/lib/CliUtils.d.ts.map +1 -1
  21. package/lib/CliUtils.js +36 -9
  22. package/lib/CliUtils.js.map +1 -1
  23. package/lib/HttpClient/CliHttpClient.d.ts.map +1 -1
  24. package/lib/HttpClient/CliHttpClient.js +2 -1
  25. package/lib/HttpClient/CliHttpClient.js.map +1 -1
  26. package/lib/Types/Cli.types.d.ts +2 -1
  27. package/lib/Types/Cli.types.d.ts.map +1 -1
  28. package/lib/Utils/EnhanceNetworkError.d.ts +14 -0
  29. package/lib/Utils/EnhanceNetworkError.d.ts.map +1 -0
  30. package/lib/Utils/EnhanceNetworkError.js +59 -0
  31. package/lib/Utils/EnhanceNetworkError.js.map +1 -0
  32. package/lib/Verbs/Init.d.ts.map +1 -1
  33. package/lib/Verbs/Init.js +3 -0
  34. package/lib/Verbs/Init.js.map +1 -1
  35. package/lib/__tests__/E2eTests/basicSetup/loggingConfiguration.test.d.ts +5 -0
  36. package/lib/__tests__/E2eTests/basicSetup/loggingConfiguration.test.d.ts.map +1 -0
  37. package/lib/__tests__/E2eTests/basicSetup/loggingConfiguration.test.js +246 -0
  38. package/lib/__tests__/E2eTests/basicSetup/loggingConfiguration.test.js.map +1 -0
  39. package/lib/__tests__/E2eTests/cliUsability/cliHelp.test.d.ts +5 -0
  40. package/lib/__tests__/E2eTests/cliUsability/cliHelp.test.d.ts.map +1 -0
  41. package/lib/__tests__/E2eTests/cliUsability/cliHelp.test.js +162 -0
  42. package/lib/__tests__/E2eTests/cliUsability/cliHelp.test.js.map +1 -0
  43. package/lib/__tests__/E2eTests/cliUsability/logoutReauth.test.d.ts +5 -0
  44. package/lib/__tests__/E2eTests/cliUsability/logoutReauth.test.d.ts.map +1 -0
  45. package/lib/__tests__/E2eTests/cliUsability/logoutReauth.test.js +115 -0
  46. package/lib/__tests__/E2eTests/cliUsability/logoutReauth.test.js.map +1 -0
  47. package/lib/__tests__/E2eTests/cliUsability/missingParameters.test.d.ts +5 -0
  48. package/lib/__tests__/E2eTests/cliUsability/missingParameters.test.d.ts.map +1 -0
  49. package/lib/__tests__/E2eTests/cliUsability/missingParameters.test.js +189 -0
  50. package/lib/__tests__/E2eTests/cliUsability/missingParameters.test.js.map +1 -0
  51. package/lib/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js +8 -6
  52. package/lib/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js.map +1 -1
  53. package/lib/__tests__/E2eTests/e2eConfig.d.ts +95 -0
  54. package/lib/__tests__/E2eTests/e2eConfig.d.ts.map +1 -0
  55. package/lib/__tests__/E2eTests/e2eConfig.js +122 -0
  56. package/lib/__tests__/E2eTests/e2eConfig.js.map +1 -0
  57. package/lib/__tests__/UnitTests/CliUtils.spec.d.ts +5 -0
  58. package/lib/__tests__/UnitTests/CliUtils.spec.d.ts.map +1 -0
  59. package/lib/__tests__/UnitTests/CliUtils.spec.js +94 -0
  60. package/lib/__tests__/UnitTests/CliUtils.spec.js.map +1 -0
  61. package/lib/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.js +3 -3
  62. package/lib/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.js.map +1 -1
  63. package/lib/__tests__/UnitTests/enhanceNetworkError.test.d.ts +5 -0
  64. package/lib/__tests__/UnitTests/enhanceNetworkError.test.d.ts.map +1 -0
  65. package/lib/__tests__/UnitTests/enhanceNetworkError.test.js +177 -0
  66. package/lib/__tests__/UnitTests/enhanceNetworkError.test.js.map +1 -0
  67. package/lib/__tests__/helpers/e2eTestHelpers.d.ts.map +1 -1
  68. package/lib/__tests__/helpers/e2eTestHelpers.js +16 -0
  69. package/lib/__tests__/helpers/e2eTestHelpers.js.map +1 -1
  70. package/lib/__tests__/helpers/testHelpers.d.ts +146 -30
  71. package/lib/__tests__/helpers/testHelpers.d.ts.map +1 -1
  72. package/lib/__tests__/helpers/testHelpers.js +245 -74
  73. package/lib/__tests__/helpers/testHelpers.js.map +1 -1
  74. package/lib-cjs/ArgumentProvider.d.ts.map +1 -1
  75. package/lib-cjs/ArgumentProvider.js +7 -1
  76. package/lib-cjs/ArgumentProvider.js.map +1 -1
  77. package/lib-cjs/Authentication/NodeMsalAuthenticationProvider.d.ts +4 -1
  78. package/lib-cjs/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -1
  79. package/lib-cjs/Authentication/NodeMsalAuthenticationProvider.js +4 -1
  80. package/lib-cjs/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
  81. package/lib-cjs/Authentication/PacCliAuthenticationProvider.d.ts +2 -1
  82. package/lib-cjs/Authentication/PacCliAuthenticationProvider.d.ts.map +1 -1
  83. package/lib-cjs/Authentication/PacCliAuthenticationProvider.js +1 -1
  84. package/lib-cjs/Authentication/PacCliAuthenticationProvider.js.map +1 -1
  85. package/lib-cjs/Authentication/ServicePrincipalAuthenticationProvider.d.ts +3 -1
  86. package/lib-cjs/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +1 -1
  87. package/lib-cjs/Authentication/ServicePrincipalAuthenticationProvider.js +4 -2
  88. package/lib-cjs/Authentication/ServicePrincipalAuthenticationProvider.js.map +1 -1
  89. package/lib-cjs/Cli.d.ts.map +1 -1
  90. package/lib-cjs/Cli.js +14 -18
  91. package/lib-cjs/Cli.js.map +1 -1
  92. package/lib-cjs/CliUtils.d.ts +1 -1
  93. package/lib-cjs/CliUtils.d.ts.map +1 -1
  94. package/lib-cjs/CliUtils.js +38 -11
  95. package/lib-cjs/CliUtils.js.map +1 -1
  96. package/lib-cjs/HttpClient/CliHttpClient.d.ts.map +1 -1
  97. package/lib-cjs/HttpClient/CliHttpClient.js +2 -1
  98. package/lib-cjs/HttpClient/CliHttpClient.js.map +1 -1
  99. package/lib-cjs/Types/Cli.types.d.ts +2 -1
  100. package/lib-cjs/Types/Cli.types.d.ts.map +1 -1
  101. package/lib-cjs/Utils/EnhanceNetworkError.d.ts +13 -0
  102. package/lib-cjs/Utils/EnhanceNetworkError.d.ts.map +1 -0
  103. package/lib-cjs/Utils/EnhanceNetworkError.js +63 -0
  104. package/lib-cjs/Utils/EnhanceNetworkError.js.map +1 -0
  105. package/lib-cjs/Verbs/Init.d.ts.map +1 -1
  106. package/lib-cjs/Verbs/Init.js +4 -0
  107. package/lib-cjs/Verbs/Init.js.map +1 -1
  108. package/lib-cjs/__tests__/E2eTests/basicSetup/loggingConfiguration.test.d.ts +4 -0
  109. package/lib-cjs/__tests__/E2eTests/basicSetup/loggingConfiguration.test.d.ts.map +1 -0
  110. package/lib-cjs/__tests__/E2eTests/basicSetup/loggingConfiguration.test.js +271 -0
  111. package/lib-cjs/__tests__/E2eTests/basicSetup/loggingConfiguration.test.js.map +1 -0
  112. package/lib-cjs/__tests__/E2eTests/cliUsability/cliHelp.test.d.ts +4 -0
  113. package/lib-cjs/__tests__/E2eTests/cliUsability/cliHelp.test.d.ts.map +1 -0
  114. package/lib-cjs/__tests__/E2eTests/cliUsability/cliHelp.test.js +187 -0
  115. package/lib-cjs/__tests__/E2eTests/cliUsability/cliHelp.test.js.map +1 -0
  116. package/lib-cjs/__tests__/E2eTests/cliUsability/logoutReauth.test.d.ts +4 -0
  117. package/lib-cjs/__tests__/E2eTests/cliUsability/logoutReauth.test.d.ts.map +1 -0
  118. package/lib-cjs/__tests__/E2eTests/cliUsability/logoutReauth.test.js +140 -0
  119. package/lib-cjs/__tests__/E2eTests/cliUsability/logoutReauth.test.js.map +1 -0
  120. package/lib-cjs/__tests__/E2eTests/cliUsability/missingParameters.test.d.ts +4 -0
  121. package/lib-cjs/__tests__/E2eTests/cliUsability/missingParameters.test.d.ts.map +1 -0
  122. package/lib-cjs/__tests__/E2eTests/cliUsability/missingParameters.test.js +191 -0
  123. package/lib-cjs/__tests__/E2eTests/cliUsability/missingParameters.test.js.map +1 -0
  124. package/lib-cjs/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js +5 -5
  125. package/lib-cjs/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js.map +1 -1
  126. package/lib-cjs/__tests__/E2eTests/e2eConfig.d.ts +94 -0
  127. package/lib-cjs/__tests__/E2eTests/e2eConfig.d.ts.map +1 -0
  128. package/lib-cjs/__tests__/E2eTests/e2eConfig.js +149 -0
  129. package/lib-cjs/__tests__/E2eTests/e2eConfig.js.map +1 -0
  130. package/lib-cjs/__tests__/UnitTests/CliUtils.spec.d.ts +4 -0
  131. package/lib-cjs/__tests__/UnitTests/CliUtils.spec.d.ts.map +1 -0
  132. package/lib-cjs/__tests__/UnitTests/CliUtils.spec.js +97 -0
  133. package/lib-cjs/__tests__/UnitTests/CliUtils.spec.js.map +1 -0
  134. package/lib-cjs/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.js +3 -3
  135. package/lib-cjs/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.js.map +1 -1
  136. package/lib-cjs/__tests__/UnitTests/enhanceNetworkError.test.d.ts +4 -0
  137. package/lib-cjs/__tests__/UnitTests/enhanceNetworkError.test.d.ts.map +1 -0
  138. package/lib-cjs/__tests__/UnitTests/enhanceNetworkError.test.js +179 -0
  139. package/lib-cjs/__tests__/UnitTests/enhanceNetworkError.test.js.map +1 -0
  140. package/lib-cjs/__tests__/helpers/e2eTestHelpers.d.ts.map +1 -1
  141. package/lib-cjs/__tests__/helpers/e2eTestHelpers.js +16 -0
  142. package/lib-cjs/__tests__/helpers/e2eTestHelpers.js.map +1 -1
  143. package/lib-cjs/__tests__/helpers/testHelpers.d.ts +146 -30
  144. package/lib-cjs/__tests__/helpers/testHelpers.d.ts.map +1 -1
  145. package/lib-cjs/__tests__/helpers/testHelpers.js +242 -98
  146. package/lib-cjs/__tests__/helpers/testHelpers.js.map +1 -1
  147. package/node_modules/@microsoft/powerapps-data/package.json +2 -2
  148. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListTables.d.ts +1 -1
  149. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListTables.d.ts.map +1 -1
  150. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListTables.js +11 -2
  151. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListTables.js.map +1 -1
  152. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts +10 -0
  153. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts.map +1 -1
  154. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js +98 -36
  155. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js.map +1 -1
  156. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js +16 -2
  157. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js.map +1 -1
  158. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListTables.d.ts +1 -1
  159. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListTables.d.ts.map +1 -1
  160. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListTables.js +14 -5
  161. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListTables.js.map +1 -1
  162. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts +10 -0
  163. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts.map +1 -1
  164. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js +139 -65
  165. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js.map +1 -1
  166. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js +31 -1
  167. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js.map +1 -1
  168. package/node_modules/@microsoft/powerapps-player-actions/package.json +2 -2
  169. package/node_modules/@pa-client/powerapps-player-services/lib/Services/Connectivity/__tests__/ApimService.spec.js +3 -0
  170. package/node_modules/@pa-client/powerapps-player-services/lib/Services/Connectivity/__tests__/ApimService.spec.js.map +1 -1
  171. package/node_modules/@pa-client/powerapps-player-services/lib/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts +1 -0
  172. package/node_modules/@pa-client/powerapps-player-services/lib/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts.map +1 -1
  173. package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/Connectivity/__tests__/ApimService.spec.js +3 -0
  174. package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/Connectivity/__tests__/ApimService.spec.js.map +1 -1
  175. package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts +1 -0
  176. package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts.map +1 -1
  177. package/node_modules/@pa-client/powerapps-player-services/package.json +1 -1
  178. package/package.json +4 -4
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright (C) Microsoft Corporation. All rights reserved.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var globals_1 = require("@jest/globals");
7
+ var CliUtils_1 = require("../../CliUtils");
8
+ // Mock @clack/prompts
9
+ globals_1.jest.mock('@clack/prompts', function () { return ({
10
+ text: globals_1.jest.fn(),
11
+ }); });
12
+ (0, globals_1.describe)('CliUtils', function () {
13
+ (0, globals_1.beforeEach)(function () {
14
+ globals_1.jest.clearAllMocks();
15
+ });
16
+ (0, globals_1.describe)('createPlayUrl', function () {
17
+ var environmentId = 'env-12345';
18
+ var appId = 'app-67890';
19
+ (0, globals_1.it)('should create basic play URL without query parameters', function () {
20
+ var result = (0, CliUtils_1.createPlayUrl)('prod', environmentId, appId);
21
+ (0, globals_1.expect)(result).toBe('https://apps.powerapps.com/play/e/env-12345/app/app-67890');
22
+ });
23
+ (0, globals_1.it)('should create play URL with localAppUrl parameter', function () {
24
+ var localAppUrl = 'http://localhost:3000';
25
+ var result = (0, CliUtils_1.createPlayUrl)('prod', environmentId, appId, localAppUrl);
26
+ (0, globals_1.expect)(result).toBe('https://apps.powerapps.com/play/e/env-12345/app/app-67890?_localAppUrl=http://localhost:3000');
27
+ });
28
+ (0, globals_1.it)('should create play URL with localConnectionsUrl parameter', function () {
29
+ var localConnectionsUrl = 'http://localhost:4000';
30
+ var result = (0, CliUtils_1.createPlayUrl)('prod', environmentId, appId, undefined, localConnectionsUrl);
31
+ (0, globals_1.expect)(result).toBe('https://apps.powerapps.com/play/e/env-12345/app/app-67890?_localConnectionUrl=http://localhost:4000');
32
+ });
33
+ (0, globals_1.it)('should create play URL with both local parameters', function () {
34
+ var localAppUrl = 'http://localhost:3000';
35
+ var localConnectionsUrl = 'http://localhost:4000';
36
+ var result = (0, CliUtils_1.createPlayUrl)('prod', environmentId, appId, localAppUrl, localConnectionsUrl);
37
+ (0, globals_1.expect)(result).toBe('https://apps.powerapps.com/play/e/env-12345/app/app-67890?_localAppUrl=http://localhost:3000&_localConnectionUrl=http://localhost:4000');
38
+ });
39
+ (0, globals_1.it)('should work with different regions', function () {
40
+ var regions = [
41
+ { region: 'dev', expectedBase: 'https://apps.dev.powerapps.com' },
42
+ { region: 'test', expectedBase: 'https://apps.test.powerapps.com' },
43
+ { region: 'preprod', expectedBase: 'https://apps.preprod.powerapps.com' },
44
+ { region: 'preview', expectedBase: 'https://apps.preview.powerapps.com' },
45
+ { region: 'prod', expectedBase: 'https://apps.powerapps.com' },
46
+ { region: 'gccmoderate', expectedBase: 'https://apps.gov.powerapps.us' },
47
+ { region: 'gcchigh', expectedBase: 'https://apps.high.powerapps.us' },
48
+ { region: 'dod', expectedBase: 'https://play.apps.appsplatform.us' },
49
+ { region: 'mooncake', expectedBase: 'https://apps.powerapps.cn' },
50
+ ];
51
+ regions.forEach(function (_a) {
52
+ var region = _a.region, expectedBase = _a.expectedBase;
53
+ var result = (0, CliUtils_1.createPlayUrl)(region, environmentId, appId);
54
+ (0, globals_1.expect)(result).toBe("".concat(expectedBase, "/play/e/").concat(environmentId, "/app/").concat(appId));
55
+ });
56
+ });
57
+ (0, globals_1.it)('should handle unknown regions', function () {
58
+ var result = (0, CliUtils_1.createPlayUrl)('unknown', environmentId, appId);
59
+ (0, globals_1.expect)(result).toBe('/play/e/env-12345/app/app-67890');
60
+ });
61
+ });
62
+ (0, globals_1.describe)('getAuthority', function () {
63
+ var tenantId = 'tenant-123';
64
+ (0, globals_1.it)('should return correct authority for gcchigh region', function () {
65
+ var result = (0, CliUtils_1.getAuthority)('gcchigh', tenantId);
66
+ (0, globals_1.expect)(result).toBe('https://login.microsoftonline.us/tenant-123');
67
+ });
68
+ (0, globals_1.it)('should return correct authority for dod region', function () {
69
+ var result = (0, CliUtils_1.getAuthority)('dod', tenantId);
70
+ (0, globals_1.expect)(result).toBe('https://login.microsoftonline.us/tenant-123');
71
+ });
72
+ (0, globals_1.it)('should return correct authority for mooncake region', function () {
73
+ var result = (0, CliUtils_1.getAuthority)('mooncake', tenantId);
74
+ (0, globals_1.expect)(result).toBe('https://login.partner.microsoftonline.cn/tenant-123');
75
+ });
76
+ (0, globals_1.it)('should return default authority for other regions', function () {
77
+ var regions = ['prod', 'dev', 'test', 'preprod', 'preview', 'gccmoderate'];
78
+ regions.forEach(function (region) {
79
+ var result = (0, CliUtils_1.getAuthority)(region, tenantId);
80
+ (0, globals_1.expect)(result).toBe('https://login.microsoftonline.com/tenant-123');
81
+ });
82
+ });
83
+ (0, globals_1.it)('should return default authority for undefined region', function () {
84
+ var result = (0, CliUtils_1.getAuthority)(undefined, tenantId);
85
+ (0, globals_1.expect)(result).toBe('https://login.microsoftonline.com/tenant-123');
86
+ });
87
+ (0, globals_1.it)('should handle undefined tenantId', function () {
88
+ var result = (0, CliUtils_1.getAuthority)('prod', undefined);
89
+ (0, globals_1.expect)(result).toBe('https://login.microsoftonline.com/organizations');
90
+ });
91
+ (0, globals_1.it)('should handle both undefined region and tenantId', function () {
92
+ var result = (0, CliUtils_1.getAuthority)(undefined, undefined);
93
+ (0, globals_1.expect)(result).toBe('https://login.microsoftonline.com/organizations');
94
+ });
95
+ });
96
+ });
97
+ //# sourceMappingURL=CliUtils.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliUtils.spec.js","sourceRoot":"","sources":["../../../src/__tests__/UnitTests/CliUtils.spec.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,7 @@ var MockedConfidentialClientApplication = msal_node_1.ConfidentialClientApplicat
95
95
  switch (_a.label) {
96
96
  case 0:
97
97
  provider = new ServicePrincipalAuthenticationProvider_1.ServicePrincipalAuthenticationProvider();
98
- return [4 /*yield*/, provider.initAsync()];
98
+ return [4 /*yield*/, provider.initAsync('prod')];
99
99
  case 1:
100
100
  _a.sent();
101
101
  (0, globals_1.expect)(MockedConfidentialClientApplication).toHaveBeenCalledWith({
@@ -116,7 +116,7 @@ var MockedConfidentialClientApplication = msal_node_1.ConfidentialClientApplicat
116
116
  case 0:
117
117
  acquireTokenByClientCredentialMock.mockResolvedValueOnce({ accessToken: 'token-value' });
118
118
  provider = new ServicePrincipalAuthenticationProvider_1.ServicePrincipalAuthenticationProvider();
119
- return [4 /*yield*/, provider.initAsync()];
119
+ return [4 /*yield*/, provider.initAsync('prod')];
120
120
  case 1:
121
121
  _a.sent();
122
122
  return [4 /*yield*/, provider.getAccessTokenForResource('https://resource')];
@@ -137,7 +137,7 @@ var MockedConfidentialClientApplication = msal_node_1.ConfidentialClientApplicat
137
137
  case 0:
138
138
  acquireTokenByClientCredentialMock.mockResolvedValueOnce(undefined);
139
139
  provider = new ServicePrincipalAuthenticationProvider_1.ServicePrincipalAuthenticationProvider();
140
- return [4 /*yield*/, provider.initAsync()];
140
+ return [4 /*yield*/, provider.initAsync('prod')];
141
141
  case 1:
142
142
  _a.sent();
143
143
  return [4 /*yield*/, (0, globals_1.expect)(provider.getAccessTokenForResource('https://resource')).rejects.toThrow('Failed to acquire token using service principal')];
@@ -1 +1 @@
1
- {"version":3,"file":"ServicePrincipalAuthenticationProvider.spec.js","sourceRoot":"","sources":["../../../src/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServicePrincipalAuthenticationProvider.spec.js","sourceRoot":"","sources":["../../../src/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanceNetworkError.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/UnitTests/enhanceNetworkError.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright (C) Microsoft Corporation. All rights reserved.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var globals_1 = require("@jest/globals");
7
+ var EnhanceNetworkError_1 = require("../../Utils/EnhanceNetworkError");
8
+ /* eslint-disable @typescript-eslint/no-explicit-any */
9
+ (0, globals_1.describe)('enhanceNetworkError', function () {
10
+ var testMethod = 'GET';
11
+ var testUrl = 'https://example.com/api/test';
12
+ (0, globals_1.describe)('non-fetch errors', function () {
13
+ (0, globals_1.it)('returns Error objects unchanged', function () {
14
+ var originalError = new Error('Some other error');
15
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(originalError, testMethod, testUrl);
16
+ (0, globals_1.expect)(result).toBe(originalError);
17
+ (0, globals_1.expect)(result.message).toBe('Some other error');
18
+ });
19
+ (0, globals_1.it)('wraps non-Error values in Error objects', function () {
20
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)('string error', testMethod, testUrl);
21
+ (0, globals_1.expect)(result).toBeInstanceOf(Error);
22
+ (0, globals_1.expect)(result.message).toBe('string error');
23
+ });
24
+ (0, globals_1.it)('returns TypeError without "fetch failed" message unchanged', function () {
25
+ var originalError = new TypeError('Invalid URL');
26
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(originalError, testMethod, testUrl);
27
+ (0, globals_1.expect)(result).toBe(originalError);
28
+ (0, globals_1.expect)(result.message).toBe('Invalid URL');
29
+ });
30
+ });
31
+ (0, globals_1.describe)('fetch failures with specific error codes', function () {
32
+ (0, globals_1.it)('enhances ENOTFOUND error (DNS lookup failure)', function () {
33
+ var fetchError = new TypeError('fetch failed');
34
+ fetchError.cause = {
35
+ code: 'ENOTFOUND',
36
+ message: 'getaddrinfo ENOTFOUND example.com',
37
+ };
38
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
39
+ (0, globals_1.expect)(result).toBeInstanceOf(Error);
40
+ (0, globals_1.expect)(result.message).toContain('Network request failed for GET https://example.com/api/test');
41
+ (0, globals_1.expect)(result.message).toContain('DNS lookup failed - unable to resolve hostname');
42
+ (0, globals_1.expect)(result.message).toContain('Details: getaddrinfo ENOTFOUND example.com');
43
+ (0, globals_1.expect)(result.cause).toBe(fetchError);
44
+ });
45
+ (0, globals_1.it)('enhances ECONNREFUSED error (connection refused)', function () {
46
+ var fetchError = new TypeError('fetch failed');
47
+ fetchError.cause = {
48
+ code: 'ECONNREFUSED',
49
+ message: 'connect ECONNREFUSED 127.0.0.1:443',
50
+ };
51
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
52
+ (0, globals_1.expect)(result.message).toContain('Connection refused - server is not accepting connections');
53
+ (0, globals_1.expect)(result.message).toContain('Details: connect ECONNREFUSED 127.0.0.1:443');
54
+ });
55
+ (0, globals_1.it)('enhances ETIMEDOUT error (connection timeout)', function () {
56
+ var fetchError = new TypeError('fetch failed');
57
+ fetchError.cause = {
58
+ code: 'ETIMEDOUT',
59
+ message: 'connect ETIMEDOUT',
60
+ };
61
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
62
+ (0, globals_1.expect)(result.message).toContain('Connection timed out - server did not respond in time');
63
+ });
64
+ (0, globals_1.it)('enhances ECONNRESET error (connection reset)', function () {
65
+ var fetchError = new TypeError('fetch failed');
66
+ fetchError.cause = {
67
+ code: 'ECONNRESET',
68
+ message: 'socket hang up',
69
+ };
70
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
71
+ (0, globals_1.expect)(result.message).toContain('Connection reset - server closed the connection unexpectedly');
72
+ });
73
+ });
74
+ (0, globals_1.describe)('certificate validation errors', function () {
75
+ (0, globals_1.it)('enhances UNABLE_TO_VERIFY_LEAF_SIGNATURE error', function () {
76
+ var fetchError = new TypeError('fetch failed');
77
+ fetchError.cause = {
78
+ code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
79
+ message: 'unable to verify the first certificate',
80
+ };
81
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
82
+ (0, globals_1.expect)(result.message).toContain('Certificate validation failed (UNABLE_TO_VERIFY_LEAF_SIGNATURE)');
83
+ });
84
+ (0, globals_1.it)('enhances CERT_HAS_EXPIRED error', function () {
85
+ var fetchError = new TypeError('fetch failed');
86
+ fetchError.cause = {
87
+ code: 'CERT_HAS_EXPIRED',
88
+ message: 'certificate has expired',
89
+ };
90
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
91
+ (0, globals_1.expect)(result.message).toContain('Certificate validation failed (CERT_HAS_EXPIRED)');
92
+ });
93
+ (0, globals_1.it)('enhances any CERT_* prefixed error', function () {
94
+ var fetchError = new TypeError('fetch failed');
95
+ fetchError.cause = {
96
+ code: 'CERT_REVOKED',
97
+ message: 'certificate revoked',
98
+ };
99
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
100
+ (0, globals_1.expect)(result.message).toContain('Certificate validation failed (CERT_REVOKED)');
101
+ });
102
+ });
103
+ (0, globals_1.describe)('generic system errors', function () {
104
+ (0, globals_1.it)('enhances unknown error codes', function () {
105
+ var fetchError = new TypeError('fetch failed');
106
+ fetchError.cause = {
107
+ code: 'UNKNOWN_ERROR',
108
+ message: 'Something went wrong',
109
+ };
110
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
111
+ (0, globals_1.expect)(result.message).toContain('System error: UNKNOWN_ERROR');
112
+ (0, globals_1.expect)(result.message).toContain('Details: Something went wrong');
113
+ });
114
+ (0, globals_1.it)('uses errno if code is not present', function () {
115
+ var fetchError = new TypeError('fetch failed');
116
+ fetchError.cause = {
117
+ errno: -3008,
118
+ message: 'Network error',
119
+ };
120
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
121
+ (0, globals_1.expect)(result.message).toContain('System error: -3008');
122
+ });
123
+ });
124
+ (0, globals_1.describe)('fetch failures without specific error codes', function () {
125
+ (0, globals_1.it)('provides general suggestions when no error code is available', function () {
126
+ var fetchError = new TypeError('fetch failed');
127
+ fetchError.cause = {
128
+ message: 'Generic network failure',
129
+ };
130
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
131
+ (0, globals_1.expect)(result.message).toContain('Network request failed for GET https://example.com/api/test');
132
+ (0, globals_1.expect)(result.message).toContain('Possible causes: network connectivity issues');
133
+ (0, globals_1.expect)(result.message).toContain('DNS resolution failure');
134
+ (0, globals_1.expect)(result.message).toContain('VPN/proxy configuration');
135
+ (0, globals_1.expect)(result.message).toContain('firewall/certificate issues');
136
+ });
137
+ (0, globals_1.it)('provides general suggestions when cause is missing entirely', function () {
138
+ var fetchError = new TypeError('fetch failed');
139
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
140
+ (0, globals_1.expect)(result.message).toContain('Network request failed for GET https://example.com/api/test');
141
+ (0, globals_1.expect)(result.message).toContain('Possible causes: network connectivity issues');
142
+ });
143
+ });
144
+ (0, globals_1.describe)('cause chain preservation', function () {
145
+ (0, globals_1.it)('preserves the original error as cause', function () {
146
+ var originalCause = {
147
+ code: 'ENOTFOUND',
148
+ message: 'DNS error',
149
+ };
150
+ var fetchError = new TypeError('fetch failed');
151
+ fetchError.cause = originalCause;
152
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
153
+ (0, globals_1.expect)(result.cause).toBe(fetchError);
154
+ (0, globals_1.expect)(fetchError.cause).toBe(originalCause);
155
+ });
156
+ });
157
+ (0, globals_1.describe)('message formatting', function () {
158
+ (0, globals_1.it)('includes HTTP method and URL in message', function () {
159
+ var fetchError = new TypeError('fetch failed');
160
+ fetchError.cause = { code: 'ENOTFOUND' };
161
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, 'POST', 'https://api.example.com/v1/users');
162
+ (0, globals_1.expect)(result.message).toContain('POST');
163
+ (0, globals_1.expect)(result.message).toContain('https://api.example.com/v1/users');
164
+ });
165
+ (0, globals_1.it)('does not duplicate cause message if it matches error message', function () {
166
+ var fetchError = new TypeError('fetch failed');
167
+ fetchError.cause = {
168
+ code: 'ENOTFOUND',
169
+ message: 'fetch failed', // Same as error message
170
+ };
171
+ var result = (0, EnhanceNetworkError_1.enhanceNetworkError)(fetchError, testMethod, testUrl);
172
+ // Should only appear once in the message
173
+ var matches = result.message.match(/fetch failed/g);
174
+ (0, globals_1.expect)(matches).toBeNull(); // Neither should appear since we don't include them
175
+ });
176
+ });
177
+ });
178
+ /* eslint-enable @typescript-eslint/no-explicit-any */
179
+ //# sourceMappingURL=enhanceNetworkError.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanceNetworkError.test.js","sourceRoot":"","sources":["../../../src/__tests__/UnitTests/enhanceNetworkError.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"e2eTestHelpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/e2eTestHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,SAI9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,OAAO,QAE7B,CAAC"}
1
+ {"version":3,"file":"e2eTestHelpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/e2eTestHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,SAI9B,CAAC;AAsBF,eAAO,MAAM,WAAW,EAAE,OAAO,QAE7B,CAAC"}
@@ -25,6 +25,22 @@ var globals_1 = require("@jest/globals");
25
25
  exports.hasRequiredEnvVars = !!(process.env.SP_CLIENT_ID &&
26
26
  process.env.SP_CLIENT_SECRET &&
27
27
  process.env.SP_TENANT_ID);
28
+ // Report missing environment variables
29
+ if (!exports.hasRequiredEnvVars) {
30
+ var missingVars = [];
31
+ if (!process.env.SP_CLIENT_ID) {
32
+ missingVars.push('SP_CLIENT_ID');
33
+ }
34
+ if (!process.env.SP_CLIENT_SECRET) {
35
+ missingVars.push('SP_CLIENT_SECRET');
36
+ }
37
+ if (!process.env.SP_TENANT_ID) {
38
+ missingVars.push('SP_TENANT_ID');
39
+ }
40
+ console.warn('\n E2E tests are being skipped due to missing environment variables:\n' +
41
+ " Missing: ".concat(missingVars.join(', '), "\n") +
42
+ ' Please set these variables to run E2E tests.\n');
43
+ }
28
44
  exports.describeE2E = (function () {
29
45
  return (exports.hasRequiredEnvVars ? globals_1.describe : globals_1.describe.skip);
30
46
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"e2eTestHelpers.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/e2eTestHelpers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yCAAyC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACU,QAAA,kBAAkB,GAAG,CAAC,CAAC,CAClC,OAAO,CAAC,GAAG,CAAC,YAAY;IACxB,OAAO,CAAC,GAAG,CAAC,gBAAgB;IAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,CACzB,CAAC;AAEW,QAAA,WAAW,GAAoB,CAAC;IAC3C,OAAO,CAAC,0BAAkB,CAAC,CAAC,CAAC,kBAAQ,CAAC,CAAC,CAAC,kBAAQ,CAAC,IAAI,CAAoB,CAAC;AAC5E,CAAC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"e2eTestHelpers.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/e2eTestHelpers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yCAAyC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACU,QAAA,kBAAkB,GAAG,CAAC,CAAC,CAClC,OAAO,CAAC,GAAG,CAAC,YAAY;IACxB,OAAO,CAAC,GAAG,CAAC,gBAAgB;IAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,CACzB,CAAC;AAEF,uCAAuC;AACvC,IAAI,CAAC,0BAAkB,EAAE;IACvB,IAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;QAC7B,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAClC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE;QACjC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACtC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;QAC7B,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAClC;IAED,OAAO,CAAC,IAAI,CACV,wEAAwE;QACtE,sBAAe,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAI;QACzC,mDAAmD,CACtD,CAAC;CACH;AAEY,QAAA,WAAW,GAAoB,CAAC;IAC3C,OAAO,CAAC,0BAAkB,CAAC,CAAC,CAAC,kBAAQ,CAAC,CAAC,CAAC,kBAAQ,CAAC,IAAI,CAAoB,CAAC;AAC5E,CAAC,CAAC,EAAE,CAAC"}
@@ -1,5 +1,36 @@
1
1
  /// <reference types="node" />
2
2
  import { PowerAppsRepoConfig } from '@microsoft/powerapps-player-actions/lib/Config/Config.types';
3
+ /**
4
+ * Gets the path to power.config.json for a project.
5
+ *
6
+ * @param {string | E2eTestSetup} projectRootOrSetup - Project root path or E2eTestSetup object
7
+ * @returns {string} Path to power.config.json
8
+ */
9
+ export declare function getConfigPath(projectRootOrSetup: string | E2eTestSetup): string;
10
+ /**
11
+ * Gets the auth cache directory path for a test setup.
12
+ *
13
+ * @param {E2eTestSetup} testSetup - The test setup object
14
+ * @returns {string} Path to auth cache directory
15
+ */
16
+ export declare function getAuthCachePath(testSetup: E2eTestSetup): string;
17
+ /**
18
+ * Combines stdout and stderr to lowercase for test assertions.
19
+ *
20
+ * @param {object} result - Command result with stdout and stderr
21
+ * @returns {string} Combined lowercase output
22
+ */
23
+ export declare function getCombinedOutput(result: {
24
+ stdout: string;
25
+ stderr: string;
26
+ }): string;
27
+ /**
28
+ * Normalizes whitespace for help text comparison.
29
+ *
30
+ * @param {string} text - Text to normalize
31
+ * @returns {string} Text with whitespace normalized
32
+ */
33
+ export declare function normalizeWhitespace(text: string): string;
3
34
  /**
4
35
  * Creates a test folder relative to the current working directory.
5
36
  *
@@ -13,21 +44,7 @@ export declare function createTestFolder(folderName: string): string;
13
44
  * @param {string} folderName
14
45
  */
15
46
  export declare function cleanupTestFolder(folderName: string): void;
16
- /**
17
- * Copies a host template app from source to destination directory.
18
- *
19
- * @param {string} source - Source directory path
20
- * @param {string} destination - Destination directory path
21
- */
22
- export declare function copyHostTemplateApp(source: string, destination: string): void;
23
47
  export declare function readJson(filePath: string): Record<string, unknown>;
24
- /**
25
- * Recursively copies a directory and its contents from source to destination.
26
- *
27
- * @param {string} src - Source directory path
28
- * @param {string} dest - Destination directory path
29
- */
30
- export declare function copyDirRecursive(src: string, dest: string): void;
31
48
  /**
32
49
  * Validates that generated model and service files exist for a given data source.
33
50
  * Generated files follow the pattern: {DataSourceName}Model.ts and {DataSourceName}Service.ts
@@ -68,21 +85,7 @@ export declare function extractZip(source: string, destination: string): void;
68
85
  */
69
86
  export declare function cleanupE2eTestProject(projectRoot: string): void;
70
87
  /**
71
- * Creates a function that executes CLI commands with predefined configuration.
72
- * Isolates the stdout and stderr for each executor instance.
73
- *
74
- * @param {string} [options.cliPath] - Path to the CLI entry point (defaults to dist/nomodule/powerapps-player-cli.js)
75
- * @param {string} options.workingDirectory - Working directory for command execution
76
- * @param {NodeJS.ProcessEnv} [options.envOverrides] - Environment variable overrides
77
- * @returns {(verb: string, args?: string[]) => CliCommandResult} Command executor function
78
- */
79
- export declare function createExecuteCodeCommand(options: {
80
- cliPath?: string;
81
- workingDirectory: string;
82
- envOverrides?: NodeJS.ProcessEnv;
83
- }): (verb: string, args?: string[]) => import("./commandLineUtils").CliCommandResult;
84
- /**
85
- * Creates a command executor that allows CLI command failures without throwing.
88
+ * Creates a command executor that allows CLI command failures.
86
89
  * Useful for testing error scenarios and validating error handling.
87
90
  *
88
91
  * @param {object} options - Configuration object
@@ -91,9 +94,122 @@ export declare function createExecuteCodeCommand(options: {
91
94
  * @param {NodeJS.ProcessEnv} [options.envOverrides] - Environment variable overrides
92
95
  * @returns {(verb: string, args?: string[]) => CliCommandResultWithExitCode} executor function
93
96
  */
94
- export declare function createExecuteCodeCommandAllowFailure(options: {
97
+ export declare function createExecuteCodeCommand(options: {
95
98
  cliPath?: string;
96
99
  workingDirectory: string;
97
100
  envOverrides?: NodeJS.ProcessEnv;
98
101
  }): (verb: string, args?: string[]) => import("./commandLineUtils").CliCommandResultWithExitCode;
99
102
  export declare function readConfig(projectRoot: string): PowerAppsRepoConfig;
103
+ /**
104
+ * Creates a minimal power.config.json for testing.
105
+ * Use this instead of manually creating config objects in individual test files.
106
+ *
107
+ * @param overrides - Partial config to override defaults
108
+ * @returns A complete minimal config object
109
+ */
110
+ export declare function createMinimalConfig(overrides?: Partial<PowerAppsRepoConfig>): PowerAppsRepoConfig;
111
+ /**
112
+ * Writes a minimal config file to the test project root.
113
+ * Convenience wrapper around createMinimalConfig + fs.writeFileSync.
114
+ *
115
+ * @param testSetup - The E2eTestSetup object
116
+ * @param overrides - Partial config to override defaults
117
+ */
118
+ export declare function writeMinimalConfig(testSetup: E2eTestSetup, overrides?: Partial<PowerAppsRepoConfig>): void;
119
+ /**
120
+ * Result of setupE2eTest containing all test infrastructure.
121
+ */
122
+ export interface E2eTestSetup {
123
+ /** Root directory of the test project */
124
+ projectRoot: string;
125
+ /** Isolated CLI config directory for this test */
126
+ cliConfigDir: string;
127
+ /** Path to userSettings.json in the isolated config dir */
128
+ userSettingsPath: string;
129
+ /** Environment variable overrides including isolated config */
130
+ envOverrides: Record<string, string>;
131
+ /** Command executor */
132
+ execute: ReturnType<typeof createExecuteCodeCommand>;
133
+ /** Cleanup function to call in afterAll */
134
+ cleanup: () => void;
135
+ }
136
+ /**
137
+ * Sets up a complete E2E test environment with isolated configuration.
138
+ * This is the recommended way to set up E2E tests as it:
139
+ * - Creates a unique project directory
140
+ * - Creates an isolated CLI config directory to prevent test interference
141
+ * - Pre-configures command executors with proper environment overrides
142
+ * - Provides a cleanup function for afterAll
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * let testSetup: E2eTestSetup;
147
+ *
148
+ * beforeAll(() => {
149
+ * testSetup = setupE2eTest({ testFolderName: 'myTests' });
150
+ * });
151
+ *
152
+ * afterAll(() => {
153
+ * testSetup.cleanup();
154
+ * });
155
+ *
156
+ * it('runs a command', () => {
157
+ * const result = testSetup.execute('logout', []);
158
+ * expect(result.stderr).toBe('');
159
+ * });
160
+ * ```
161
+ *
162
+ * @param config - Configuration options
163
+ * @param config.testFolderName - Unique name for the test folder
164
+ * @param config.tempBaseDir - Optional base directory for temp folders
165
+ * @param config.hostTemplateFolder - Optional host template to copy
166
+ * @param config.cliPath - Optional path to CLI entry point
167
+ * @returns E2eTestSetup object with all test infrastructure
168
+ */
169
+ export declare function setupE2eTest(config: {
170
+ testFolderName: string;
171
+ tempBaseDir?: string;
172
+ hostTemplateFolder?: string;
173
+ cliPath?: string;
174
+ }): E2eTestSetup;
175
+ /**
176
+ * Executes a callback with the power.config.json temporarily removed.
177
+ * Useful for testing error scenarios when config is missing.
178
+ * The config file is automatically restored after the callback completes (or throws).
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * it('errors when config is missing', () => {
183
+ * withoutConfig(testSetup, () => {
184
+ * const result = testSetup.executeAllowFailure('list-codeapps', []);
185
+ * expect(result.exitCode).not.toBe(0);
186
+ * });
187
+ * });
188
+ * ```
189
+ *
190
+ * @param testSetup - The E2eTestSetup object containing the project root
191
+ * @param callback - Function to execute while config is absent
192
+ * @returns The return value of the callback
193
+ */
194
+ export declare function withoutConfig<T>(testSetup: E2eTestSetup, callback: () => T): T;
195
+ /**
196
+ * Executes a callback with a custom power.config.json temporarily in place.
197
+ * Useful for testing error scenarios with corrupted or incomplete configs.
198
+ * The original config file is automatically restored after the callback completes (or throws).
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * it('errors when config is invalid', () => {
203
+ * withTemporaryConfig(testSetup, '{ invalid json }', () => {
204
+ * const result = testSetup.executeAllowFailure('list-codeapps', []);
205
+ * expect(result.exitCode).not.toBe(0);
206
+ * });
207
+ * });
208
+ * ```
209
+ *
210
+ * @param testSetup - The E2eTestSetup object containing the project root
211
+ * @param temporaryContent - Content to write as power.config.json during the callback
212
+ * @param callback - Function to execute with the temporary config
213
+ * @returns The return value of the callback
214
+ */
215
+ export declare function withTemporaryConfig<T>(testSetup: E2eTestSetup, temporaryContent: string | object, callback: () => T): T;
@@ -1 +1 @@
1
- {"version":3,"file":"testHelpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/testHelpers.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AAGlG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAU3D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAO1D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAI7E;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAiBhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CA2BxF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,MAAM,CAmCT;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAQpE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAI/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC,UAkBe,MAAM,SAAQ,MAAM,EAAE,mDAIrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,oCAAoC,CAAC,OAAO,EAAE;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC,UAkBe,MAAM,SAAQ,MAAM,EAAE,+DAIrC;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAEnE"}
1
+ {"version":3,"file":"testHelpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/testHelpers.ts"],"names":[],"mappings":"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"}