@microsoft/power-apps-cli 0.5.4 → 0.6.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 (214) hide show
  1. package/lib/CliUtils.d.ts +1 -1
  2. package/lib/CliUtils.d.ts.map +1 -1
  3. package/lib/Constants/HelpStrings.d.ts +3 -3
  4. package/lib/Constants/HelpStrings.js +4 -4
  5. package/lib/Constants/HelpStrings.js.map +1 -1
  6. package/lib/HttpClient/CliHttpClient.d.ts +1 -1
  7. package/lib/HttpClient/CliHttpClient.d.ts.map +1 -1
  8. package/lib/HttpClient/CliHttpClient.js +8 -1
  9. package/lib/HttpClient/CliHttpClient.js.map +1 -1
  10. package/lib/Logger/CliLogger.d.ts +1 -2
  11. package/lib/Logger/CliLogger.d.ts.map +1 -1
  12. package/lib/Logger/CliLogger.js +1 -2
  13. package/lib/Logger/CliLogger.js.map +1 -1
  14. package/lib/Verbs/AddDataSource.d.ts.map +1 -1
  15. package/lib/Verbs/AddDataSource.js +7 -6
  16. package/lib/Verbs/AddDataSource.js.map +1 -1
  17. package/lib/Verbs/DeleteDataSource.d.ts.map +1 -1
  18. package/lib/Verbs/DeleteDataSource.js +6 -1
  19. package/lib/Verbs/DeleteDataSource.js.map +1 -1
  20. package/lib/Verbs/ListCodeApps.js +1 -1
  21. package/lib/Verbs/ListCodeApps.js.map +1 -1
  22. package/lib/Verbs/ListConnectionReferences.js +6 -6
  23. package/lib/Verbs/ListConnectionReferences.js.map +1 -1
  24. package/lib/Verbs/ListDatasets.js +1 -1
  25. package/lib/Verbs/ListDatasets.js.map +1 -1
  26. package/lib/Verbs/ListEnvironmentVariables.js +6 -6
  27. package/lib/Verbs/ListEnvironmentVariables.js.map +1 -1
  28. package/lib/Verbs/Push.js +7 -10
  29. package/lib/Verbs/Push.js.map +1 -1
  30. package/lib/Verbs/VerbConstants.d.ts +1 -1
  31. package/lib/Verbs/VerbConstants.js +3 -3
  32. package/lib/Verbs/VerbConstants.js.map +1 -1
  33. package/lib/__tests__/E2eTests/addAndDeleteDataverseDS.test.js +14 -17
  34. package/lib/__tests__/E2eTests/addAndDeleteDataverseDS.test.js.map +1 -1
  35. package/lib/__tests__/E2eTests/addTop10Datasources.test.js +97 -83
  36. package/lib/__tests__/E2eTests/addTop10Datasources.test.js.map +1 -1
  37. package/lib/__tests__/E2eTests/cliHelp.test.js +4 -11
  38. package/lib/__tests__/E2eTests/cliHelp.test.js.map +1 -1
  39. package/lib/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.d.ts +5 -0
  40. package/lib/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.d.ts.map +1 -0
  41. package/lib/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js +290 -0
  42. package/lib/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js.map +1 -0
  43. package/lib/__tests__/E2eTests/constants.d.ts +22 -0
  44. package/lib/__tests__/E2eTests/constants.d.ts.map +1 -0
  45. package/lib/__tests__/E2eTests/constants.js +35 -0
  46. package/lib/__tests__/E2eTests/constants.js.map +1 -0
  47. package/lib/__tests__/UnitTests/commandLineUtils.test.js +20 -21
  48. package/lib/__tests__/UnitTests/commandLineUtils.test.js.map +1 -1
  49. package/lib/__tests__/helpers/commandLineUtils.d.ts +1 -0
  50. package/lib/__tests__/helpers/commandLineUtils.d.ts.map +1 -1
  51. package/lib/__tests__/helpers/commandLineUtils.js +40 -52
  52. package/lib/__tests__/helpers/commandLineUtils.js.map +1 -1
  53. package/lib/__tests__/helpers/e2eTestHelpers.d.ts +24 -0
  54. package/lib/__tests__/helpers/e2eTestHelpers.d.ts.map +1 -0
  55. package/lib/__tests__/helpers/e2eTestHelpers.js +28 -0
  56. package/lib/__tests__/helpers/e2eTestHelpers.js.map +1 -0
  57. package/lib/__tests__/helpers/testHelpers.d.ts +9 -4
  58. package/lib/__tests__/helpers/testHelpers.d.ts.map +1 -1
  59. package/lib/__tests__/helpers/testHelpers.js +24 -5
  60. package/lib/__tests__/helpers/testHelpers.js.map +1 -1
  61. package/lib-cjs/CliUtils.d.ts +1 -1
  62. package/lib-cjs/CliUtils.d.ts.map +1 -1
  63. package/lib-cjs/Constants/HelpStrings.d.ts +3 -3
  64. package/lib-cjs/Constants/HelpStrings.js +4 -4
  65. package/lib-cjs/Constants/HelpStrings.js.map +1 -1
  66. package/lib-cjs/HttpClient/CliHttpClient.d.ts +1 -1
  67. package/lib-cjs/HttpClient/CliHttpClient.d.ts.map +1 -1
  68. package/lib-cjs/HttpClient/CliHttpClient.js +8 -2
  69. package/lib-cjs/HttpClient/CliHttpClient.js.map +1 -1
  70. package/lib-cjs/Logger/CliLogger.d.ts +1 -2
  71. package/lib-cjs/Logger/CliLogger.d.ts.map +1 -1
  72. package/lib-cjs/Logger/CliLogger.js +3 -4
  73. package/lib-cjs/Logger/CliLogger.js.map +1 -1
  74. package/lib-cjs/Verbs/AddDataSource.d.ts.map +1 -1
  75. package/lib-cjs/Verbs/AddDataSource.js +7 -6
  76. package/lib-cjs/Verbs/AddDataSource.js.map +1 -1
  77. package/lib-cjs/Verbs/DeleteDataSource.d.ts.map +1 -1
  78. package/lib-cjs/Verbs/DeleteDataSource.js +12 -5
  79. package/lib-cjs/Verbs/DeleteDataSource.js.map +1 -1
  80. package/lib-cjs/Verbs/ListCodeApps.js +2 -2
  81. package/lib-cjs/Verbs/ListCodeApps.js.map +1 -1
  82. package/lib-cjs/Verbs/ListConnectionReferences.js +6 -6
  83. package/lib-cjs/Verbs/ListConnectionReferences.js.map +1 -1
  84. package/lib-cjs/Verbs/ListDatasets.js +1 -1
  85. package/lib-cjs/Verbs/ListDatasets.js.map +1 -1
  86. package/lib-cjs/Verbs/ListEnvironmentVariables.js +6 -6
  87. package/lib-cjs/Verbs/ListEnvironmentVariables.js.map +1 -1
  88. package/lib-cjs/Verbs/Push.js +11 -16
  89. package/lib-cjs/Verbs/Push.js.map +1 -1
  90. package/lib-cjs/Verbs/VerbConstants.d.ts +1 -1
  91. package/lib-cjs/Verbs/VerbConstants.js +3 -3
  92. package/lib-cjs/Verbs/VerbConstants.js.map +1 -1
  93. package/lib-cjs/__tests__/E2eTests/addAndDeleteDataverseDS.test.js +10 -8
  94. package/lib-cjs/__tests__/E2eTests/addAndDeleteDataverseDS.test.js.map +1 -1
  95. package/lib-cjs/__tests__/E2eTests/addTop10Datasources.test.js +140 -157
  96. package/lib-cjs/__tests__/E2eTests/addTop10Datasources.test.js.map +1 -1
  97. package/lib-cjs/__tests__/E2eTests/cliHelp.test.js +4 -11
  98. package/lib-cjs/__tests__/E2eTests/cliHelp.test.js.map +1 -1
  99. package/{node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfo.js → lib-cjs/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.d.ts} +0 -1
  100. package/lib-cjs/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.d.ts.map +1 -0
  101. package/lib-cjs/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js +377 -0
  102. package/lib-cjs/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js.map +1 -0
  103. package/lib-cjs/__tests__/E2eTests/constants.d.ts +21 -0
  104. package/lib-cjs/__tests__/E2eTests/constants.d.ts.map +1 -0
  105. package/lib-cjs/__tests__/E2eTests/constants.js +38 -0
  106. package/lib-cjs/__tests__/E2eTests/constants.js.map +1 -0
  107. package/lib-cjs/__tests__/UnitTests/commandLineUtils.test.js +20 -21
  108. package/lib-cjs/__tests__/UnitTests/commandLineUtils.test.js.map +1 -1
  109. package/lib-cjs/__tests__/helpers/commandLineUtils.d.ts +1 -0
  110. package/lib-cjs/__tests__/helpers/commandLineUtils.d.ts.map +1 -1
  111. package/lib-cjs/__tests__/helpers/commandLineUtils.js +45 -59
  112. package/lib-cjs/__tests__/helpers/commandLineUtils.js.map +1 -1
  113. package/lib-cjs/__tests__/helpers/e2eTestHelpers.d.ts +23 -0
  114. package/lib-cjs/__tests__/helpers/e2eTestHelpers.d.ts.map +1 -0
  115. package/lib-cjs/__tests__/helpers/e2eTestHelpers.js +31 -0
  116. package/lib-cjs/__tests__/helpers/e2eTestHelpers.js.map +1 -0
  117. package/lib-cjs/__tests__/helpers/testHelpers.d.ts +9 -4
  118. package/lib-cjs/__tests__/helpers/testHelpers.d.ts.map +1 -1
  119. package/lib-cjs/__tests__/helpers/testHelpers.js +27 -6
  120. package/lib-cjs/__tests__/helpers/testHelpers.js.map +1 -1
  121. package/node_modules/@microsoft/powerapps-data/package.json +3 -3
  122. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListDatasets.d.ts +1 -1
  123. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListDatasets.d.ts.map +1 -1
  124. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListDatasets.js +1 -2
  125. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListDatasets.js.map +1 -1
  126. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.d.ts.map +1 -1
  127. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.js +32 -3
  128. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.js.map +1 -1
  129. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/codeGenUtils.d.ts +20 -0
  130. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/codeGenUtils.d.ts.map +1 -1
  131. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/codeGenUtils.js +79 -0
  132. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/codeGenUtils.js.map +1 -1
  133. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/dataSourceInfoProcessor.d.ts +2 -2
  134. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/dataSourceInfoProcessor.d.ts.map +1 -1
  135. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/dataSourceInfoProcessor.js +27 -68
  136. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/dataSourceInfoProcessor.js.map +1 -1
  137. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts +0 -59
  138. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts.map +1 -1
  139. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js +69 -281
  140. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js.map +1 -1
  141. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/nameUtility.d.ts +26 -0
  142. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/nameUtility.d.ts.map +1 -1
  143. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/nameUtility.js +153 -0
  144. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/nameUtility.js.map +1 -1
  145. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.d.ts +5 -0
  146. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.d.ts.map +1 -0
  147. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.js +93 -0
  148. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.js.map +1 -0
  149. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/DataSourceInfoProcessor.spec.js +897 -2
  150. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/DataSourceInfoProcessor.spec.js.map +1 -1
  151. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js +1 -17
  152. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js.map +1 -1
  153. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.d.ts +5 -0
  154. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.d.ts.map +1 -0
  155. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.js +63 -0
  156. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.js.map +1 -0
  157. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListDatasets.d.ts +1 -1
  158. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListDatasets.d.ts.map +1 -1
  159. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListDatasets.js +4 -5
  160. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListDatasets.js.map +1 -1
  161. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.d.ts.map +1 -1
  162. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.js +42 -4
  163. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.js.map +1 -1
  164. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/codeGenUtils.d.ts +20 -0
  165. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/codeGenUtils.d.ts.map +1 -1
  166. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/codeGenUtils.js +86 -1
  167. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/codeGenUtils.js.map +1 -1
  168. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/dataSourceInfoProcessor.d.ts +2 -2
  169. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/dataSourceInfoProcessor.d.ts.map +1 -1
  170. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/dataSourceInfoProcessor.js +25 -67
  171. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/dataSourceInfoProcessor.js.map +1 -1
  172. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts +0 -59
  173. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts.map +1 -1
  174. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js +65 -279
  175. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js.map +1 -1
  176. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/nameUtility.d.ts +26 -0
  177. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/nameUtility.d.ts.map +1 -1
  178. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/nameUtility.js +161 -1
  179. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/nameUtility.js.map +1 -1
  180. package/node_modules/@microsoft/{powerapps-data/lib/__tests__/dataSourceInfoProcessor.test.d.ts → powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.d.ts} +0 -1
  181. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.d.ts.map +1 -0
  182. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.js +206 -0
  183. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.js.map +1 -0
  184. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/DataSourceInfoProcessor.spec.js +1277 -1
  185. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/DataSourceInfoProcessor.spec.js.map +1 -1
  186. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js +0 -32
  187. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js.map +1 -1
  188. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.d.ts +4 -0
  189. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.d.ts.map +1 -0
  190. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.js +171 -0
  191. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.js.map +1 -0
  192. package/node_modules/@microsoft/powerapps-player-actions/package.json +2 -2
  193. package/node_modules/@pa-client/powerapps-player-services/lib/Services/PowerAppsRp/PowerAppsRpService.types.d.ts +3 -1
  194. package/node_modules/@pa-client/powerapps-player-services/lib/Services/PowerAppsRp/PowerAppsRpService.types.d.ts.map +1 -1
  195. package/node_modules/@pa-client/powerapps-player-services/lib/index.d.ts +2 -1
  196. package/node_modules/@pa-client/powerapps-player-services/lib/index.d.ts.map +1 -1
  197. package/node_modules/@pa-client/powerapps-player-services/lib/index.js.map +1 -1
  198. package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/PowerAppsRp/PowerAppsRpService.types.d.ts +3 -1
  199. package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/PowerAppsRp/PowerAppsRpService.types.d.ts.map +1 -1
  200. package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.d.ts +2 -1
  201. package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.d.ts.map +1 -1
  202. package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.js.map +1 -1
  203. package/node_modules/@pa-client/powerapps-player-services/package.json +69 -69
  204. package/package.json +4 -4
  205. package/node_modules/@microsoft/powerapps-data/lib/__tests__/dataSourceInfoProcessor.test.d.ts.map +0 -1
  206. package/node_modules/@microsoft/powerapps-data/lib/__tests__/dataSourceInfoProcessor.test.js +0 -782
  207. package/node_modules/@microsoft/powerapps-data/lib/__tests__/dataSourceInfoProcessor.test.js.map +0 -1
  208. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfo.d.ts +0 -28
  209. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfo.d.ts.map +0 -1
  210. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfo.js.map +0 -1
  211. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfoProcessor.d.ts +0 -10
  212. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfoProcessor.d.ts.map +0 -1
  213. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfoProcessor.js +0 -530
  214. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfoProcessor.js.map +0 -1
@@ -0,0 +1,93 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { afterEach, beforeAll, beforeEach, describe, expect, it } from '@jest/globals';
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { ModelServiceGenerator } from '../CodeGen/modelServiceGenerator';
8
+ import { clearVfs, setVfs } from '../VfsManager';
9
+ import mockVfs from './mocks/mockVfs';
10
+ import { extractDeclaration, hasValidTypeScriptSyntax } from './Utils';
11
+ import { getMockLogger } from './mocks/Logger.mock';
12
+ const mockLogger = getMockLogger();
13
+ // Helper function to load Azure DevOps schema into mockVfs
14
+ async function setupAzureDevOpsSchema() {
15
+ mockVfs.reset();
16
+ const basePath = path.resolve('src/__tests__/mocks/schemas');
17
+ const azureDevOpsSchema = await fs.promises.readFile(path.join(basePath, 'azuredevops', 'azuredevops.Schema.json'), 'utf-8');
18
+ await mockVfs.mkdir('./src/__tests__/mocks/schemas/azuredevops', { recursive: true });
19
+ await mockVfs.writeFile('./src/__tests__/mocks/schemas/azuredevops/azuredevops.Schema.json', azureDevOpsSchema);
20
+ }
21
+ const localFilePaths = {
22
+ powerConfigPath: 'tmp/azuredevops-test/power.config.json',
23
+ schemaPath: 'tmp/azuredevops-test/schema',
24
+ codeGenPath: 'tmp/azuredevops-test/src',
25
+ };
26
+ describe('AzureDevOps ModelServiceGenerator', () => {
27
+ beforeAll(async () => {
28
+ await setupAzureDevOpsSchema();
29
+ }, 30000);
30
+ beforeEach(() => {
31
+ setVfs(mockVfs);
32
+ });
33
+ afterEach(() => {
34
+ clearVfs();
35
+ });
36
+ it('should generate the correct model service for azure devops', async () => {
37
+ const schemaContent = await mockVfs.readFile('./src/__tests__/mocks/schemas/azuredevops/azuredevops.Schema.json');
38
+ const schemaFileName = 'azuredevops.Schema.json';
39
+ await mockVfs.mkdir(localFilePaths.schemaPath, { recursive: true });
40
+ await mockVfs.writeFile(mockVfs.join(localFilePaths.schemaPath, schemaFileName), schemaContent);
41
+ // run the model service generator
42
+ await ModelServiceGenerator.run([localFilePaths.schemaPath, localFilePaths.codeGenPath], mockLogger);
43
+ // read the generated model file and verify it contains the expected interfaces
44
+ const generatedModelFilePath = mockVfs.join(localFilePaths.codeGenPath, 'generated', 'models', 'AzureDevOpsModel.ts');
45
+ const generatedModelFileContent = await mockVfs.readFile(generatedModelFilePath);
46
+ expect(extractDeclaration(generatedModelFileContent, 'ReleaseReferenceReason')).toMatchInlineSnapshot(`"export type ReleaseReferenceReason = 'None'|'Manual'|'ContinuousIntegration'|'Schedule'|'IndividualCI'|'BatchedCI';"`);
47
+ // validate that the model file is valid TS
48
+ expect(hasValidTypeScriptSyntax(generatedModelFileContent)).toBe(true);
49
+ });
50
+ it('should generate the correct parameters for HttpRequest method', async () => {
51
+ const schemaContent = await mockVfs.readFile('./src/__tests__/mocks/schemas/azuredevops/azuredevops.Schema.json');
52
+ const schemaFileName = 'azuredevops.Schema.json';
53
+ await mockVfs.mkdir(localFilePaths.schemaPath, { recursive: true });
54
+ await mockVfs.writeFile(mockVfs.join(localFilePaths.schemaPath, schemaFileName), schemaContent);
55
+ // run the model service generator
56
+ await ModelServiceGenerator.run([localFilePaths.schemaPath, localFilePaths.codeGenPath], mockLogger);
57
+ // read the generated model file and verify VstsHttpRequestBodyParameters interface
58
+ const generatedModelFilePath = mockVfs.join(localFilePaths.codeGenPath, 'generated', 'models', 'AzureDevOpsModel.ts');
59
+ const generatedModelFileContent = await mockVfs.readFile(generatedModelFilePath);
60
+ // Verify VstsHttpRequestBodyParameters has the correct properties
61
+ const bodyParamsInterface = extractDeclaration(generatedModelFileContent, 'VstsHttpRequestBodyParameters');
62
+ expect(bodyParamsInterface).toBeDefined();
63
+ expect(bodyParamsInterface).toContain('Method');
64
+ expect(bodyParamsInterface).toContain('Uri');
65
+ expect(bodyParamsInterface).toContain('Headers');
66
+ expect(bodyParamsInterface).toContain('Body');
67
+ expect(bodyParamsInterface).toContain('IsBase64');
68
+ // read the generated service file and verify HttpRequest method signature
69
+ const generatedServiceFilePath = mockVfs.join(localFilePaths.codeGenPath, 'generated', 'services', 'AzureDevOpsService.ts');
70
+ const generatedServiceFileContent = await mockVfs.readFile(generatedServiceFilePath);
71
+ // Verify the HttpRequest method exists and has the correct parameters
72
+ // The method should accept: account (query param) and parameters (body param with VstsHttpRequestBodyParameters type)
73
+ expect(generatedServiceFileContent).toContain('HttpRequest');
74
+ expect(generatedServiceFileContent).toContain('account');
75
+ expect(generatedServiceFileContent).toContain('parameters');
76
+ expect(generatedServiceFileContent).toContain('VstsHttpRequestBodyParameters');
77
+ // Extract the HttpRequest method to verify its signature
78
+ // The method should have parameters: account: string, parameters: VstsHttpRequestBodyParameters
79
+ const httpRequestMethodMatch = generatedServiceFileContent.match(/public static async HttpRequest\([^)]+\)[^{]+\{[\s\S]*?^\s{2}\}/m);
80
+ expect(httpRequestMethodMatch).not.toBeNull();
81
+ // Verify method signature: account (query) + parameters (body param)
82
+ // The generated service passes the body param by its swagger name ("parameters").
83
+ // At runtime, the executor extracts the body param value and sends it directly (unwrapped).
84
+ const httpRequestMethod = httpRequestMethodMatch[0];
85
+ expect(httpRequestMethod).toContain('account: string');
86
+ expect(httpRequestMethod).toContain('parameters: VstsHttpRequestBodyParameters');
87
+ expect(httpRequestMethod).toContain('const params: { account: string, parameters: VstsHttpRequestBodyParameters }');
88
+ expect(httpRequestMethod).toContain('parameters: params');
89
+ // Verify the service file is valid TypeScript
90
+ expect(hasValidTypeScriptSyntax(generatedServiceFileContent)).toBe(true);
91
+ });
92
+ });
93
+ //# sourceMappingURL=AzureDevOpsModelServiceGenerator.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AzureDevOpsModelServiceGenerator.spec.js","sourceRoot":"","sources":["../../src/__tests__/AzureDevOpsModelServiceGenerator.spec.ts"],"names":[],"mappings":"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"}