@microsoft/power-apps-cli 0.5.4 → 0.5.7

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 (138) hide show
  1. package/lib/Constants/HelpStrings.d.ts +3 -3
  2. package/lib/Constants/HelpStrings.js +3 -3
  3. package/lib/Constants/HelpStrings.js.map +1 -1
  4. package/lib/HttpClient/CliHttpClient.d.ts.map +1 -1
  5. package/lib/HttpClient/CliHttpClient.js +8 -1
  6. package/lib/HttpClient/CliHttpClient.js.map +1 -1
  7. package/lib/Verbs/AddDataSource.d.ts.map +1 -1
  8. package/lib/Verbs/AddDataSource.js +7 -6
  9. package/lib/Verbs/AddDataSource.js.map +1 -1
  10. package/lib/Verbs/DeleteDataSource.d.ts +1 -1
  11. package/lib/Verbs/DeleteDataSource.d.ts.map +1 -1
  12. package/lib/Verbs/DeleteDataSource.js +2 -1
  13. package/lib/Verbs/DeleteDataSource.js.map +1 -1
  14. package/lib/Verbs/ListConnectionReferences.js +6 -6
  15. package/lib/Verbs/ListConnectionReferences.js.map +1 -1
  16. package/lib/Verbs/ListEnvironmentVariables.js +6 -6
  17. package/lib/Verbs/ListEnvironmentVariables.js.map +1 -1
  18. package/lib/Verbs/Push.js +7 -10
  19. package/lib/Verbs/Push.js.map +1 -1
  20. package/lib/Verbs/VerbConstants.d.ts +1 -1
  21. package/lib/Verbs/VerbConstants.js +3 -3
  22. package/lib/Verbs/VerbConstants.js.map +1 -1
  23. package/lib/__tests__/E2eTests/addAndDeleteDataverseDS.test.js +4 -3
  24. package/lib/__tests__/E2eTests/addAndDeleteDataverseDS.test.js.map +1 -1
  25. package/lib/__tests__/E2eTests/addTop10Datasources.test.js +3 -2
  26. package/lib/__tests__/E2eTests/addTop10Datasources.test.js.map +1 -1
  27. package/lib/__tests__/E2eTests/cliHelp.test.js +4 -11
  28. package/lib/__tests__/E2eTests/cliHelp.test.js.map +1 -1
  29. package/lib/__tests__/helpers/e2eTestHelpers.d.ts +24 -0
  30. package/lib/__tests__/helpers/e2eTestHelpers.d.ts.map +1 -0
  31. package/lib/__tests__/helpers/e2eTestHelpers.js +28 -0
  32. package/lib/__tests__/helpers/e2eTestHelpers.js.map +1 -0
  33. package/lib-cjs/Constants/HelpStrings.d.ts +3 -3
  34. package/lib-cjs/Constants/HelpStrings.js +3 -3
  35. package/lib-cjs/Constants/HelpStrings.js.map +1 -1
  36. package/lib-cjs/HttpClient/CliHttpClient.d.ts.map +1 -1
  37. package/lib-cjs/HttpClient/CliHttpClient.js +8 -2
  38. package/lib-cjs/HttpClient/CliHttpClient.js.map +1 -1
  39. package/lib-cjs/Verbs/AddDataSource.d.ts.map +1 -1
  40. package/lib-cjs/Verbs/AddDataSource.js +7 -6
  41. package/lib-cjs/Verbs/AddDataSource.js.map +1 -1
  42. package/lib-cjs/Verbs/DeleteDataSource.d.ts +1 -1
  43. package/lib-cjs/Verbs/DeleteDataSource.d.ts.map +1 -1
  44. package/lib-cjs/Verbs/DeleteDataSource.js +5 -1
  45. package/lib-cjs/Verbs/DeleteDataSource.js.map +1 -1
  46. package/lib-cjs/Verbs/ListConnectionReferences.js +6 -6
  47. package/lib-cjs/Verbs/ListConnectionReferences.js.map +1 -1
  48. package/lib-cjs/Verbs/ListEnvironmentVariables.js +6 -6
  49. package/lib-cjs/Verbs/ListEnvironmentVariables.js.map +1 -1
  50. package/lib-cjs/Verbs/Push.js +11 -16
  51. package/lib-cjs/Verbs/Push.js.map +1 -1
  52. package/lib-cjs/Verbs/VerbConstants.d.ts +1 -1
  53. package/lib-cjs/Verbs/VerbConstants.js +3 -3
  54. package/lib-cjs/Verbs/VerbConstants.js.map +1 -1
  55. package/lib-cjs/__tests__/E2eTests/addAndDeleteDataverseDS.test.js +3 -2
  56. package/lib-cjs/__tests__/E2eTests/addAndDeleteDataverseDS.test.js.map +1 -1
  57. package/lib-cjs/__tests__/E2eTests/addTop10Datasources.test.js +2 -1
  58. package/lib-cjs/__tests__/E2eTests/addTop10Datasources.test.js.map +1 -1
  59. package/lib-cjs/__tests__/E2eTests/cliHelp.test.js +4 -11
  60. package/lib-cjs/__tests__/E2eTests/cliHelp.test.js.map +1 -1
  61. package/lib-cjs/__tests__/helpers/e2eTestHelpers.d.ts +23 -0
  62. package/lib-cjs/__tests__/helpers/e2eTestHelpers.d.ts.map +1 -0
  63. package/lib-cjs/__tests__/helpers/e2eTestHelpers.js +31 -0
  64. package/lib-cjs/__tests__/helpers/e2eTestHelpers.js.map +1 -0
  65. package/node_modules/@microsoft/powerapps-data/package.json +2 -2
  66. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.js +10 -3
  67. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.js.map +1 -1
  68. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/codeGenUtils.d.ts +20 -0
  69. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/codeGenUtils.d.ts.map +1 -1
  70. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/codeGenUtils.js +79 -0
  71. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/codeGenUtils.js.map +1 -1
  72. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/dataSourceInfoProcessor.d.ts +2 -2
  73. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/dataSourceInfoProcessor.d.ts.map +1 -1
  74. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/dataSourceInfoProcessor.js +27 -68
  75. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/dataSourceInfoProcessor.js.map +1 -1
  76. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts +0 -59
  77. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts.map +1 -1
  78. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js +69 -281
  79. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js.map +1 -1
  80. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/nameUtility.d.ts +26 -0
  81. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/nameUtility.d.ts.map +1 -1
  82. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/nameUtility.js +153 -0
  83. package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/nameUtility.js.map +1 -1
  84. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.d.ts +5 -0
  85. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.d.ts.map +1 -0
  86. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.js +93 -0
  87. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.js.map +1 -0
  88. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/DataSourceInfoProcessor.spec.js +897 -2
  89. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/DataSourceInfoProcessor.spec.js.map +1 -1
  90. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js +1 -17
  91. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js.map +1 -1
  92. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.d.ts +5 -0
  93. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.d.ts.map +1 -0
  94. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.js +63 -0
  95. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.js.map +1 -0
  96. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.js +9 -4
  97. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.js.map +1 -1
  98. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/codeGenUtils.d.ts +20 -0
  99. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/codeGenUtils.d.ts.map +1 -1
  100. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/codeGenUtils.js +86 -1
  101. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/codeGenUtils.js.map +1 -1
  102. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/dataSourceInfoProcessor.d.ts +2 -2
  103. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/dataSourceInfoProcessor.d.ts.map +1 -1
  104. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/dataSourceInfoProcessor.js +25 -67
  105. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/dataSourceInfoProcessor.js.map +1 -1
  106. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts +0 -59
  107. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts.map +1 -1
  108. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js +65 -279
  109. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js.map +1 -1
  110. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/nameUtility.d.ts +26 -0
  111. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/nameUtility.d.ts.map +1 -1
  112. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/nameUtility.js +161 -1
  113. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/nameUtility.js.map +1 -1
  114. package/node_modules/@microsoft/{powerapps-data/lib/components/codeGen/dataSourceInfo.js → powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.d.ts} +0 -1
  115. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.d.ts.map +1 -0
  116. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.js +206 -0
  117. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.js.map +1 -0
  118. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/DataSourceInfoProcessor.spec.js +1277 -1
  119. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/DataSourceInfoProcessor.spec.js.map +1 -1
  120. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js +0 -32
  121. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js.map +1 -1
  122. package/node_modules/@microsoft/{powerapps-data/lib/__tests__/dataSourceInfoProcessor.test.d.ts → powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.d.ts} +0 -1
  123. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.d.ts.map +1 -0
  124. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.js +171 -0
  125. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.js.map +1 -0
  126. package/node_modules/@microsoft/powerapps-player-actions/package.json +2 -2
  127. package/node_modules/@pa-client/powerapps-player-services/package.json +1 -1
  128. package/package.json +4 -4
  129. package/node_modules/@microsoft/powerapps-data/lib/__tests__/dataSourceInfoProcessor.test.d.ts.map +0 -1
  130. package/node_modules/@microsoft/powerapps-data/lib/__tests__/dataSourceInfoProcessor.test.js +0 -782
  131. package/node_modules/@microsoft/powerapps-data/lib/__tests__/dataSourceInfoProcessor.test.js.map +0 -1
  132. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfo.d.ts +0 -28
  133. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfo.d.ts.map +0 -1
  134. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfo.js.map +0 -1
  135. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfoProcessor.d.ts +0 -10
  136. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfoProcessor.d.ts.map +0 -1
  137. package/node_modules/@microsoft/powerapps-data/lib/components/codeGen/dataSourceInfoProcessor.js +0 -530
  138. 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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"}