@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
@@ -42,7 +42,7 @@ describe('ServicePrincipalAuthenticationProvider', () => {
42
42
  });
43
43
  it('initializes MSAL with the expected authority and credentials', async () => {
44
44
  const provider = new ServicePrincipalAuthenticationProvider();
45
- await provider.initAsync();
45
+ await provider.initAsync('prod');
46
46
  expect(MockedConfidentialClientApplication).toHaveBeenCalledWith({
47
47
  auth: {
48
48
  clientId: 'client-id',
@@ -54,7 +54,7 @@ describe('ServicePrincipalAuthenticationProvider', () => {
54
54
  it('acquires and returns an access token for the requested resource', async () => {
55
55
  acquireTokenByClientCredentialMock.mockResolvedValueOnce({ accessToken: 'token-value' });
56
56
  const provider = new ServicePrincipalAuthenticationProvider();
57
- await provider.initAsync();
57
+ await provider.initAsync('prod');
58
58
  const token = await provider.getAccessTokenForResource('https://resource');
59
59
  expect(acquireTokenByClientCredentialMock).toHaveBeenCalledWith({
60
60
  scopes: ['https://resource/.default'],
@@ -64,7 +64,7 @@ describe('ServicePrincipalAuthenticationProvider', () => {
64
64
  it('throws when MSAL returns no access token', async () => {
65
65
  acquireTokenByClientCredentialMock.mockResolvedValueOnce(undefined);
66
66
  const provider = new ServicePrincipalAuthenticationProvider();
67
- await provider.initAsync();
67
+ await provider.initAsync('prod');
68
68
  await expect(provider.getAccessTokenForResource('https://resource')).rejects.toThrow('Failed to acquire token using service principal');
69
69
  });
70
70
  it('throws if getAccessTokenForResource is called before initAsync', async () => {
@@ -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,5 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=enhanceNetworkError.test.d.ts.map
@@ -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,177 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { describe, expect, it } from '@jest/globals';
5
+ import { enhanceNetworkError } from '../../Utils/EnhanceNetworkError';
6
+ /* eslint-disable @typescript-eslint/no-explicit-any */
7
+ describe('enhanceNetworkError', () => {
8
+ const testMethod = 'GET';
9
+ const testUrl = 'https://example.com/api/test';
10
+ describe('non-fetch errors', () => {
11
+ it('returns Error objects unchanged', () => {
12
+ const originalError = new Error('Some other error');
13
+ const result = enhanceNetworkError(originalError, testMethod, testUrl);
14
+ expect(result).toBe(originalError);
15
+ expect(result.message).toBe('Some other error');
16
+ });
17
+ it('wraps non-Error values in Error objects', () => {
18
+ const result = enhanceNetworkError('string error', testMethod, testUrl);
19
+ expect(result).toBeInstanceOf(Error);
20
+ expect(result.message).toBe('string error');
21
+ });
22
+ it('returns TypeError without "fetch failed" message unchanged', () => {
23
+ const originalError = new TypeError('Invalid URL');
24
+ const result = enhanceNetworkError(originalError, testMethod, testUrl);
25
+ expect(result).toBe(originalError);
26
+ expect(result.message).toBe('Invalid URL');
27
+ });
28
+ });
29
+ describe('fetch failures with specific error codes', () => {
30
+ it('enhances ENOTFOUND error (DNS lookup failure)', () => {
31
+ const fetchError = new TypeError('fetch failed');
32
+ fetchError.cause = {
33
+ code: 'ENOTFOUND',
34
+ message: 'getaddrinfo ENOTFOUND example.com',
35
+ };
36
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
37
+ expect(result).toBeInstanceOf(Error);
38
+ expect(result.message).toContain('Network request failed for GET https://example.com/api/test');
39
+ expect(result.message).toContain('DNS lookup failed - unable to resolve hostname');
40
+ expect(result.message).toContain('Details: getaddrinfo ENOTFOUND example.com');
41
+ expect(result.cause).toBe(fetchError);
42
+ });
43
+ it('enhances ECONNREFUSED error (connection refused)', () => {
44
+ const fetchError = new TypeError('fetch failed');
45
+ fetchError.cause = {
46
+ code: 'ECONNREFUSED',
47
+ message: 'connect ECONNREFUSED 127.0.0.1:443',
48
+ };
49
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
50
+ expect(result.message).toContain('Connection refused - server is not accepting connections');
51
+ expect(result.message).toContain('Details: connect ECONNREFUSED 127.0.0.1:443');
52
+ });
53
+ it('enhances ETIMEDOUT error (connection timeout)', () => {
54
+ const fetchError = new TypeError('fetch failed');
55
+ fetchError.cause = {
56
+ code: 'ETIMEDOUT',
57
+ message: 'connect ETIMEDOUT',
58
+ };
59
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
60
+ expect(result.message).toContain('Connection timed out - server did not respond in time');
61
+ });
62
+ it('enhances ECONNRESET error (connection reset)', () => {
63
+ const fetchError = new TypeError('fetch failed');
64
+ fetchError.cause = {
65
+ code: 'ECONNRESET',
66
+ message: 'socket hang up',
67
+ };
68
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
69
+ expect(result.message).toContain('Connection reset - server closed the connection unexpectedly');
70
+ });
71
+ });
72
+ describe('certificate validation errors', () => {
73
+ it('enhances UNABLE_TO_VERIFY_LEAF_SIGNATURE error', () => {
74
+ const fetchError = new TypeError('fetch failed');
75
+ fetchError.cause = {
76
+ code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
77
+ message: 'unable to verify the first certificate',
78
+ };
79
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
80
+ expect(result.message).toContain('Certificate validation failed (UNABLE_TO_VERIFY_LEAF_SIGNATURE)');
81
+ });
82
+ it('enhances CERT_HAS_EXPIRED error', () => {
83
+ const fetchError = new TypeError('fetch failed');
84
+ fetchError.cause = {
85
+ code: 'CERT_HAS_EXPIRED',
86
+ message: 'certificate has expired',
87
+ };
88
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
89
+ expect(result.message).toContain('Certificate validation failed (CERT_HAS_EXPIRED)');
90
+ });
91
+ it('enhances any CERT_* prefixed error', () => {
92
+ const fetchError = new TypeError('fetch failed');
93
+ fetchError.cause = {
94
+ code: 'CERT_REVOKED',
95
+ message: 'certificate revoked',
96
+ };
97
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
98
+ expect(result.message).toContain('Certificate validation failed (CERT_REVOKED)');
99
+ });
100
+ });
101
+ describe('generic system errors', () => {
102
+ it('enhances unknown error codes', () => {
103
+ const fetchError = new TypeError('fetch failed');
104
+ fetchError.cause = {
105
+ code: 'UNKNOWN_ERROR',
106
+ message: 'Something went wrong',
107
+ };
108
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
109
+ expect(result.message).toContain('System error: UNKNOWN_ERROR');
110
+ expect(result.message).toContain('Details: Something went wrong');
111
+ });
112
+ it('uses errno if code is not present', () => {
113
+ const fetchError = new TypeError('fetch failed');
114
+ fetchError.cause = {
115
+ errno: -3008,
116
+ message: 'Network error',
117
+ };
118
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
119
+ expect(result.message).toContain('System error: -3008');
120
+ });
121
+ });
122
+ describe('fetch failures without specific error codes', () => {
123
+ it('provides general suggestions when no error code is available', () => {
124
+ const fetchError = new TypeError('fetch failed');
125
+ fetchError.cause = {
126
+ message: 'Generic network failure',
127
+ };
128
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
129
+ expect(result.message).toContain('Network request failed for GET https://example.com/api/test');
130
+ expect(result.message).toContain('Possible causes: network connectivity issues');
131
+ expect(result.message).toContain('DNS resolution failure');
132
+ expect(result.message).toContain('VPN/proxy configuration');
133
+ expect(result.message).toContain('firewall/certificate issues');
134
+ });
135
+ it('provides general suggestions when cause is missing entirely', () => {
136
+ const fetchError = new TypeError('fetch failed');
137
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
138
+ expect(result.message).toContain('Network request failed for GET https://example.com/api/test');
139
+ expect(result.message).toContain('Possible causes: network connectivity issues');
140
+ });
141
+ });
142
+ describe('cause chain preservation', () => {
143
+ it('preserves the original error as cause', () => {
144
+ const originalCause = {
145
+ code: 'ENOTFOUND',
146
+ message: 'DNS error',
147
+ };
148
+ const fetchError = new TypeError('fetch failed');
149
+ fetchError.cause = originalCause;
150
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
151
+ expect(result.cause).toBe(fetchError);
152
+ expect(fetchError.cause).toBe(originalCause);
153
+ });
154
+ });
155
+ describe('message formatting', () => {
156
+ it('includes HTTP method and URL in message', () => {
157
+ const fetchError = new TypeError('fetch failed');
158
+ fetchError.cause = { code: 'ENOTFOUND' };
159
+ const result = enhanceNetworkError(fetchError, 'POST', 'https://api.example.com/v1/users');
160
+ expect(result.message).toContain('POST');
161
+ expect(result.message).toContain('https://api.example.com/v1/users');
162
+ });
163
+ it('does not duplicate cause message if it matches error message', () => {
164
+ const fetchError = new TypeError('fetch failed');
165
+ fetchError.cause = {
166
+ code: 'ENOTFOUND',
167
+ message: 'fetch failed', // Same as error message
168
+ };
169
+ const result = enhanceNetworkError(fetchError, testMethod, testUrl);
170
+ // Should only appear once in the message
171
+ const matches = result.message.match(/fetch failed/g);
172
+ expect(matches).toBeNull(); // Neither should appear since we don't include them
173
+ });
174
+ });
175
+ });
176
+ /* eslint-enable @typescript-eslint/no-explicit-any */
177
+ //# 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"}
@@ -22,6 +22,22 @@ import { describe } from '@jest/globals';
22
22
  export const hasRequiredEnvVars = !!(process.env.SP_CLIENT_ID &&
23
23
  process.env.SP_CLIENT_SECRET &&
24
24
  process.env.SP_TENANT_ID);
25
+ // Report missing environment variables
26
+ if (!hasRequiredEnvVars) {
27
+ const missingVars = [];
28
+ if (!process.env.SP_CLIENT_ID) {
29
+ missingVars.push('SP_CLIENT_ID');
30
+ }
31
+ if (!process.env.SP_CLIENT_SECRET) {
32
+ missingVars.push('SP_CLIENT_SECRET');
33
+ }
34
+ if (!process.env.SP_TENANT_ID) {
35
+ missingVars.push('SP_TENANT_ID');
36
+ }
37
+ console.warn('\n E2E tests are being skipped due to missing environment variables:\n' +
38
+ ` Missing: ${missingVars.join(', ')}\n` +
39
+ ' Please set these variables to run E2E tests.\n');
40
+ }
25
41
  export const describeE2E = (() => {
26
42
  return (hasRequiredEnvVars ? describe : describe.skip);
27
43
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"e2eTestHelpers.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/e2eTestHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,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,MAAM,CAAC,MAAM,WAAW,GAAoB,CAAC,GAAG,EAAE;IAChD,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,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,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,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,kBAAkB,EAAE;IACvB,MAAM,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,eAAe,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACzC,mDAAmD,CACtD,CAAC;CACH;AAED,MAAM,CAAC,MAAM,WAAW,GAAoB,CAAC,GAAG,EAAE;IAChD,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,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,10 +94,123 @@ 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;
100
216
  //# sourceMappingURL=testHelpers.d.ts.map
@@ -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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"}