@microsoft/power-apps-cli 0.6.1 → 0.6.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.
- package/lib/ArgumentProvider.d.ts +9 -4
- package/lib/ArgumentProvider.d.ts.map +1 -1
- package/lib/ArgumentProvider.js +36 -15
- package/lib/ArgumentProvider.js.map +1 -1
- package/lib/Authentication/NodeMsalAuthenticationProvider.d.ts +2 -2
- package/lib/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -1
- package/lib/Authentication/NodeMsalAuthenticationProvider.js +2 -3
- package/lib/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
- package/lib/Authentication/PacCliAuthenticationProvider.d.ts +2 -1
- package/lib/Authentication/PacCliAuthenticationProvider.d.ts.map +1 -1
- package/lib/Authentication/PacCliAuthenticationProvider.js +1 -1
- package/lib/Authentication/PacCliAuthenticationProvider.js.map +1 -1
- package/lib/Authentication/ServicePrincipalAuthenticationProvider.d.ts +2 -2
- package/lib/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +1 -1
- package/lib/Authentication/ServicePrincipalAuthenticationProvider.js +3 -3
- package/lib/Authentication/ServicePrincipalAuthenticationProvider.js.map +1 -1
- package/lib/Cli.d.ts +0 -3
- package/lib/Cli.d.ts.map +1 -1
- package/lib/Cli.js +16 -30
- package/lib/Cli.js.map +1 -1
- package/lib/CliUtils.js +3 -3
- package/lib/CliUtils.js.map +1 -1
- package/lib/HttpClient/CliHttpClient.d.ts.map +1 -1
- package/lib/HttpClient/CliHttpClient.js +2 -1
- package/lib/HttpClient/CliHttpClient.js.map +1 -1
- package/lib/Logger/CliLogger.d.ts +7 -1
- package/lib/Logger/CliLogger.d.ts.map +1 -1
- package/lib/Logger/CliLogger.js +45 -24
- package/lib/Logger/CliLogger.js.map +1 -1
- package/lib/Types/Cli.types.d.ts +2 -2
- package/lib/Types/Cli.types.d.ts.map +1 -1
- package/lib/Utils/EnhanceNetworkError.d.ts +14 -0
- package/lib/Utils/EnhanceNetworkError.d.ts.map +1 -0
- package/lib/Utils/EnhanceNetworkError.js +59 -0
- package/lib/Utils/EnhanceNetworkError.js.map +1 -0
- package/lib/Verbs/AddDataSource.d.ts +1 -2
- package/lib/Verbs/AddDataSource.d.ts.map +1 -1
- package/lib/Verbs/AddDataSource.js +3 -1
- package/lib/Verbs/AddDataSource.js.map +1 -1
- package/lib/Verbs/DeleteDataSource.d.ts +1 -2
- package/lib/Verbs/DeleteDataSource.d.ts.map +1 -1
- package/lib/Verbs/DeleteDataSource.js +3 -1
- package/lib/Verbs/DeleteDataSource.js.map +1 -1
- package/lib/Verbs/Init.d.ts.map +1 -1
- package/lib/Verbs/Init.js +4 -1
- package/lib/Verbs/Init.js.map +1 -1
- package/lib/Verbs/ListConnectionReferences.d.ts +1 -2
- package/lib/Verbs/ListConnectionReferences.d.ts.map +1 -1
- package/lib/Verbs/ListConnectionReferences.js +3 -1
- package/lib/Verbs/ListConnectionReferences.js.map +1 -1
- package/lib/Verbs/ListDatasets.d.ts +1 -2
- package/lib/Verbs/ListDatasets.d.ts.map +1 -1
- package/lib/Verbs/ListDatasets.js +3 -1
- package/lib/Verbs/ListDatasets.js.map +1 -1
- package/lib/Verbs/ListEnvironmentVariables.d.ts +1 -2
- package/lib/Verbs/ListEnvironmentVariables.d.ts.map +1 -1
- package/lib/Verbs/ListEnvironmentVariables.js +3 -1
- package/lib/Verbs/ListEnvironmentVariables.js.map +1 -1
- package/lib/Verbs/ListSqlStoredProcedures.d.ts +1 -2
- package/lib/Verbs/ListSqlStoredProcedures.d.ts.map +1 -1
- package/lib/Verbs/ListSqlStoredProcedures.js +3 -1
- package/lib/Verbs/ListSqlStoredProcedures.js.map +1 -1
- package/lib/Verbs/ListTables.d.ts +1 -2
- package/lib/Verbs/ListTables.d.ts.map +1 -1
- package/lib/Verbs/ListTables.js +3 -1
- package/lib/Verbs/ListTables.js.map +1 -1
- package/lib/Verbs/Push.d.ts +1 -2
- package/lib/Verbs/Push.d.ts.map +1 -1
- package/lib/Verbs/Push.js +6 -4
- package/lib/Verbs/Push.js.map +1 -1
- package/lib/Verbs/Run.d.ts.map +1 -1
- package/lib/Verbs/Run.js +9 -8
- package/lib/Verbs/Run.js.map +1 -1
- package/lib/Verbs/VerbConstants.d.ts +19 -1
- package/lib/Verbs/VerbConstants.d.ts.map +1 -1
- package/lib/Verbs/VerbConstants.js +23 -5
- package/lib/Verbs/VerbConstants.js.map +1 -1
- package/lib/__tests__/E2eTests/basicSetup/loggingConfiguration.test.d.ts +5 -0
- package/lib/__tests__/E2eTests/basicSetup/loggingConfiguration.test.d.ts.map +1 -0
- package/lib/__tests__/E2eTests/basicSetup/loggingConfiguration.test.js +246 -0
- package/lib/__tests__/E2eTests/basicSetup/loggingConfiguration.test.js.map +1 -0
- package/lib/__tests__/E2eTests/cliUsability/cliHelp.test.d.ts +5 -0
- package/lib/__tests__/E2eTests/cliUsability/cliHelp.test.d.ts.map +1 -0
- package/lib/__tests__/E2eTests/cliUsability/cliHelp.test.js +162 -0
- package/lib/__tests__/E2eTests/cliUsability/cliHelp.test.js.map +1 -0
- package/lib/__tests__/E2eTests/cliUsability/logoutReauth.test.d.ts +5 -0
- package/lib/__tests__/E2eTests/cliUsability/logoutReauth.test.d.ts.map +1 -0
- package/lib/__tests__/E2eTests/cliUsability/logoutReauth.test.js +115 -0
- package/lib/__tests__/E2eTests/cliUsability/logoutReauth.test.js.map +1 -0
- package/lib/__tests__/E2eTests/cliUsability/missingParameters.test.d.ts +5 -0
- package/lib/__tests__/E2eTests/cliUsability/missingParameters.test.d.ts.map +1 -0
- package/lib/__tests__/E2eTests/cliUsability/missingParameters.test.js +189 -0
- package/lib/__tests__/E2eTests/cliUsability/missingParameters.test.js.map +1 -0
- package/lib/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js +8 -6
- package/lib/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js.map +1 -1
- package/lib/__tests__/E2eTests/e2eConfig.d.ts +95 -0
- package/lib/__tests__/E2eTests/e2eConfig.d.ts.map +1 -0
- package/lib/__tests__/E2eTests/e2eConfig.js +122 -0
- package/lib/__tests__/E2eTests/e2eConfig.js.map +1 -0
- package/lib/__tests__/UnitTests/CliLogger.test.js +34 -24
- package/lib/__tests__/UnitTests/CliLogger.test.js.map +1 -1
- package/lib/__tests__/UnitTests/CliUtils.spec.js +2 -2
- package/lib/__tests__/UnitTests/CliUtils.spec.js.map +1 -1
- package/lib/__tests__/UnitTests/ListEnvironmentVariables.spec.js +5 -5
- package/lib/__tests__/UnitTests/ListEnvironmentVariables.spec.js.map +1 -1
- package/lib/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.js +3 -3
- package/lib/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.js.map +1 -1
- package/lib/__tests__/UnitTests/enhanceNetworkError.test.d.ts +5 -0
- package/lib/__tests__/UnitTests/enhanceNetworkError.test.d.ts.map +1 -0
- package/lib/__tests__/UnitTests/enhanceNetworkError.test.js +177 -0
- package/lib/__tests__/UnitTests/enhanceNetworkError.test.js.map +1 -0
- package/lib/__tests__/helpers/e2eTestHelpers.d.ts.map +1 -1
- package/lib/__tests__/helpers/e2eTestHelpers.js +16 -0
- package/lib/__tests__/helpers/e2eTestHelpers.js.map +1 -1
- package/lib/__tests__/helpers/testHelpers.d.ts +146 -30
- package/lib/__tests__/helpers/testHelpers.d.ts.map +1 -1
- package/lib/__tests__/helpers/testHelpers.js +245 -74
- package/lib/__tests__/helpers/testHelpers.js.map +1 -1
- package/lib/__tests__/mocks/CliLogger.mocks.d.ts +7 -0
- package/lib/__tests__/mocks/CliLogger.mocks.d.ts.map +1 -0
- package/lib/__tests__/mocks/CliLogger.mocks.js +22 -0
- package/lib/__tests__/mocks/CliLogger.mocks.js.map +1 -0
- package/lib-cjs/ArgumentProvider.d.ts +9 -4
- package/lib-cjs/ArgumentProvider.d.ts.map +1 -1
- package/lib-cjs/ArgumentProvider.js +44 -16
- package/lib-cjs/ArgumentProvider.js.map +1 -1
- package/lib-cjs/Authentication/NodeMsalAuthenticationProvider.d.ts +2 -2
- package/lib-cjs/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -1
- package/lib-cjs/Authentication/NodeMsalAuthenticationProvider.js +3 -4
- package/lib-cjs/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
- package/lib-cjs/Authentication/PacCliAuthenticationProvider.d.ts +2 -1
- package/lib-cjs/Authentication/PacCliAuthenticationProvider.d.ts.map +1 -1
- package/lib-cjs/Authentication/PacCliAuthenticationProvider.js +1 -1
- package/lib-cjs/Authentication/PacCliAuthenticationProvider.js.map +1 -1
- package/lib-cjs/Authentication/ServicePrincipalAuthenticationProvider.d.ts +2 -2
- package/lib-cjs/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +1 -1
- package/lib-cjs/Authentication/ServicePrincipalAuthenticationProvider.js +3 -4
- package/lib-cjs/Authentication/ServicePrincipalAuthenticationProvider.js.map +1 -1
- package/lib-cjs/Cli.d.ts +0 -3
- package/lib-cjs/Cli.d.ts.map +1 -1
- package/lib-cjs/Cli.js +43 -63
- package/lib-cjs/Cli.js.map +1 -1
- package/lib-cjs/CliUtils.js +3 -3
- package/lib-cjs/CliUtils.js.map +1 -1
- package/lib-cjs/HttpClient/CliHttpClient.d.ts.map +1 -1
- package/lib-cjs/HttpClient/CliHttpClient.js +2 -1
- package/lib-cjs/HttpClient/CliHttpClient.js.map +1 -1
- package/lib-cjs/Logger/CliLogger.d.ts +7 -1
- package/lib-cjs/Logger/CliLogger.d.ts.map +1 -1
- package/lib-cjs/Logger/CliLogger.js +58 -30
- package/lib-cjs/Logger/CliLogger.js.map +1 -1
- package/lib-cjs/Types/Cli.types.d.ts +2 -2
- package/lib-cjs/Types/Cli.types.d.ts.map +1 -1
- package/lib-cjs/Utils/EnhanceNetworkError.d.ts +13 -0
- package/lib-cjs/Utils/EnhanceNetworkError.d.ts.map +1 -0
- package/lib-cjs/Utils/EnhanceNetworkError.js +63 -0
- package/lib-cjs/Utils/EnhanceNetworkError.js.map +1 -0
- package/lib-cjs/Verbs/AddDataSource.d.ts +1 -2
- package/lib-cjs/Verbs/AddDataSource.d.ts.map +1 -1
- package/lib-cjs/Verbs/AddDataSource.js +3 -2
- package/lib-cjs/Verbs/AddDataSource.js.map +1 -1
- package/lib-cjs/Verbs/DeleteDataSource.d.ts +1 -2
- package/lib-cjs/Verbs/DeleteDataSource.d.ts.map +1 -1
- package/lib-cjs/Verbs/DeleteDataSource.js +3 -2
- package/lib-cjs/Verbs/DeleteDataSource.js.map +1 -1
- package/lib-cjs/Verbs/Init.d.ts.map +1 -1
- package/lib-cjs/Verbs/Init.js +15 -9
- package/lib-cjs/Verbs/Init.js.map +1 -1
- package/lib-cjs/Verbs/ListConnectionReferences.d.ts +1 -2
- package/lib-cjs/Verbs/ListConnectionReferences.d.ts.map +1 -1
- package/lib-cjs/Verbs/ListConnectionReferences.js +3 -2
- package/lib-cjs/Verbs/ListConnectionReferences.js.map +1 -1
- package/lib-cjs/Verbs/ListDatasets.d.ts +1 -2
- package/lib-cjs/Verbs/ListDatasets.d.ts.map +1 -1
- package/lib-cjs/Verbs/ListDatasets.js +3 -2
- package/lib-cjs/Verbs/ListDatasets.js.map +1 -1
- package/lib-cjs/Verbs/ListEnvironmentVariables.d.ts +1 -2
- package/lib-cjs/Verbs/ListEnvironmentVariables.d.ts.map +1 -1
- package/lib-cjs/Verbs/ListEnvironmentVariables.js +3 -2
- package/lib-cjs/Verbs/ListEnvironmentVariables.js.map +1 -1
- package/lib-cjs/Verbs/ListSqlStoredProcedures.d.ts +1 -2
- package/lib-cjs/Verbs/ListSqlStoredProcedures.d.ts.map +1 -1
- package/lib-cjs/Verbs/ListSqlStoredProcedures.js +3 -2
- package/lib-cjs/Verbs/ListSqlStoredProcedures.js.map +1 -1
- package/lib-cjs/Verbs/ListTables.d.ts +1 -2
- package/lib-cjs/Verbs/ListTables.d.ts.map +1 -1
- package/lib-cjs/Verbs/ListTables.js +3 -2
- package/lib-cjs/Verbs/ListTables.js.map +1 -1
- package/lib-cjs/Verbs/Push.d.ts +1 -2
- package/lib-cjs/Verbs/Push.d.ts.map +1 -1
- package/lib-cjs/Verbs/Push.js +7 -5
- package/lib-cjs/Verbs/Push.js.map +1 -1
- package/lib-cjs/Verbs/Run.d.ts.map +1 -1
- package/lib-cjs/Verbs/Run.js +9 -8
- package/lib-cjs/Verbs/Run.js.map +1 -1
- package/lib-cjs/Verbs/VerbConstants.d.ts +19 -1
- package/lib-cjs/Verbs/VerbConstants.d.ts.map +1 -1
- package/lib-cjs/Verbs/VerbConstants.js +24 -6
- package/lib-cjs/Verbs/VerbConstants.js.map +1 -1
- package/lib-cjs/__tests__/E2eTests/basicSetup/loggingConfiguration.test.d.ts +4 -0
- package/lib-cjs/__tests__/E2eTests/basicSetup/loggingConfiguration.test.d.ts.map +1 -0
- package/lib-cjs/__tests__/E2eTests/basicSetup/loggingConfiguration.test.js +271 -0
- package/lib-cjs/__tests__/E2eTests/basicSetup/loggingConfiguration.test.js.map +1 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/cliHelp.test.d.ts +4 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/cliHelp.test.d.ts.map +1 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/cliHelp.test.js +187 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/cliHelp.test.js.map +1 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/logoutReauth.test.d.ts +4 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/logoutReauth.test.d.ts.map +1 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/logoutReauth.test.js +140 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/logoutReauth.test.js.map +1 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/missingParameters.test.d.ts +4 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/missingParameters.test.d.ts.map +1 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/missingParameters.test.js +191 -0
- package/lib-cjs/__tests__/E2eTests/cliUsability/missingParameters.test.js.map +1 -0
- package/lib-cjs/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js +5 -5
- package/lib-cjs/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.js.map +1 -1
- package/lib-cjs/__tests__/E2eTests/e2eConfig.d.ts +94 -0
- package/lib-cjs/__tests__/E2eTests/e2eConfig.d.ts.map +1 -0
- package/lib-cjs/__tests__/E2eTests/e2eConfig.js +149 -0
- package/lib-cjs/__tests__/E2eTests/e2eConfig.js.map +1 -0
- package/lib-cjs/__tests__/UnitTests/CliLogger.test.js +54 -24
- package/lib-cjs/__tests__/UnitTests/CliLogger.test.js.map +1 -1
- package/lib-cjs/__tests__/UnitTests/CliUtils.spec.js +2 -2
- package/lib-cjs/__tests__/UnitTests/CliUtils.spec.js.map +1 -1
- package/lib-cjs/__tests__/UnitTests/ListEnvironmentVariables.spec.js +5 -5
- package/lib-cjs/__tests__/UnitTests/ListEnvironmentVariables.spec.js.map +1 -1
- package/lib-cjs/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.js +3 -3
- package/lib-cjs/__tests__/UnitTests/ServicePrincipalAuthenticationProvider.spec.js.map +1 -1
- package/lib-cjs/__tests__/UnitTests/enhanceNetworkError.test.d.ts +4 -0
- package/lib-cjs/__tests__/UnitTests/enhanceNetworkError.test.d.ts.map +1 -0
- package/lib-cjs/__tests__/UnitTests/enhanceNetworkError.test.js +179 -0
- package/lib-cjs/__tests__/UnitTests/enhanceNetworkError.test.js.map +1 -0
- package/lib-cjs/__tests__/helpers/e2eTestHelpers.d.ts.map +1 -1
- package/lib-cjs/__tests__/helpers/e2eTestHelpers.js +16 -0
- package/lib-cjs/__tests__/helpers/e2eTestHelpers.js.map +1 -1
- package/lib-cjs/__tests__/helpers/testHelpers.d.ts +146 -30
- package/lib-cjs/__tests__/helpers/testHelpers.d.ts.map +1 -1
- package/lib-cjs/__tests__/helpers/testHelpers.js +242 -98
- package/lib-cjs/__tests__/helpers/testHelpers.js.map +1 -1
- package/lib-cjs/__tests__/mocks/CliLogger.mocks.d.ts +6 -0
- package/lib-cjs/__tests__/mocks/CliLogger.mocks.d.ts.map +1 -0
- package/lib-cjs/__tests__/mocks/CliLogger.mocks.js +26 -0
- package/lib-cjs/__tests__/mocks/CliLogger.mocks.js.map +1 -0
- package/node_modules/@microsoft/powerapps-data/package.json +3 -3
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/AddDataSource.js +8 -3
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/AddDataSource.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DeleteDataSource.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DeleteDataSource.js +7 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DeleteDataSource.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListTables.d.ts +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListTables.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListTables.js +11 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/ListTables.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.js +7 -3
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts +16 -290
- package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js +2266 -2244
- package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.js +11 -3
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/DeleteDataSource.spec.js +3 -5
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/DeleteDataSource.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js +110 -21
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.js +6 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/AddDataSource.js +7 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/AddDataSource.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DeleteDataSource.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DeleteDataSource.js +6 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DeleteDataSource.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListTables.d.ts +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListTables.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListTables.js +14 -5
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/ListTables.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.js +14 -10
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts +16 -290
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js +2787 -2765
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.js +10 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/DeleteDataSource.spec.js +2 -4
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/DeleteDataSource.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js +124 -19
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.js +5 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/package.json +3 -3
- package/node_modules/@pa-client/powerapps-player-services/lib/Services/Connectivity/__tests__/ApimService.spec.js +3 -0
- package/node_modules/@pa-client/powerapps-player-services/lib/Services/Connectivity/__tests__/ApimService.spec.js.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts +13 -0
- package/node_modules/@pa-client/powerapps-player-services/lib/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib/index.d.ts +2 -2
- package/node_modules/@pa-client/powerapps-player-services/lib/index.d.ts.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib/index.js +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib/index.js.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/Connectivity/__tests__/ApimService.spec.js +3 -0
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/Connectivity/__tests__/ApimService.spec.js.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts +13 -0
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.d.ts +2 -2
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.d.ts.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.js +8 -1
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.js.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/package.json +69 -69
- package/package.json +4 -4
- package/readme.md +286 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The goal of these tests is to verify that the CLI help output is shown correctly
|
|
6
|
+
* in various scenarios, including when no verb is provided, when the help verb
|
|
7
|
+
* is explicitly requested, and when help for a specific verb is requested.
|
|
8
|
+
*/
|
|
9
|
+
import { afterAll, beforeAll, beforeEach, describe, expect, it } from '@jest/globals';
|
|
10
|
+
import { HelpStrings } from '../../../Constants/HelpStrings';
|
|
11
|
+
import { VERB_HELP_REGISTRY } from '../../../Constants/VerbRegistry';
|
|
12
|
+
import { normalizeWhitespace, setupE2eTest } from '../../helpers/testHelpers';
|
|
13
|
+
import { describeE2E } from '../../helpers/e2eTestHelpers';
|
|
14
|
+
import { E2E_CONFIG } from '../e2eConfig';
|
|
15
|
+
const TEST_FOLDER_NAME = 'cliHelpTests';
|
|
16
|
+
// Central list of verbs whose --help we want to validate.
|
|
17
|
+
// '' represents "no verb" (top-level/global help).
|
|
18
|
+
const VERBS_UNDER_TEST = [
|
|
19
|
+
{
|
|
20
|
+
verb: '',
|
|
21
|
+
usage: 'Usage: power-apps [option] [command] [<args>]',
|
|
22
|
+
expectedText: HelpStrings.Global.ProgramDescription,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
verb: 'init',
|
|
26
|
+
usage: 'Usage: power-apps init',
|
|
27
|
+
expectedText: HelpStrings.Verbs.Init.Description,
|
|
28
|
+
options: HelpStrings.Verbs.Init.Options,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
verb: 'add-data-source',
|
|
32
|
+
usage: 'Usage: power-apps add-data-source',
|
|
33
|
+
expectedText: HelpStrings.Verbs['Add-data-source'].Description,
|
|
34
|
+
options: HelpStrings.Verbs['Add-data-source'].Options,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
verb: 'delete-data-source',
|
|
38
|
+
usage: 'Usage: power-apps delete-data-source',
|
|
39
|
+
expectedText: HelpStrings.Verbs['Delete-data-source'].Description,
|
|
40
|
+
options: HelpStrings.Verbs['Delete-data-source'].Options,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
verb: 'list-codeapps',
|
|
44
|
+
usage: 'Usage: power-apps list-codeapps',
|
|
45
|
+
expectedText: HelpStrings.Verbs['List-codeapps'].Description,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
verb: 'list-sqlStoredProcedures',
|
|
49
|
+
usage: 'Usage: power-apps list-sqlStoredProcedures',
|
|
50
|
+
expectedText: HelpStrings.Verbs['List-sqlStoredProcedures'].Description,
|
|
51
|
+
options: HelpStrings.Verbs['List-sqlStoredProcedures'].Options,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
verb: 'list-datasets',
|
|
55
|
+
usage: 'Usage: power-apps list-datasets',
|
|
56
|
+
expectedText: HelpStrings.Verbs['List-datasets'].Description,
|
|
57
|
+
options: HelpStrings.Verbs['List-datasets'].Options,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
verb: 'list-tables',
|
|
61
|
+
usage: 'Usage: power-apps list-tables',
|
|
62
|
+
expectedText: HelpStrings.Verbs['List-tables'].Description,
|
|
63
|
+
options: HelpStrings.Verbs['List-tables'].Options,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
verb: 'list-environment-variables',
|
|
67
|
+
usage: 'Usage: power-apps list-environment-variables',
|
|
68
|
+
expectedText: HelpStrings.Verbs['List-environment-variables'].Description,
|
|
69
|
+
options: HelpStrings.Verbs['List-environment-variables'].Options,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
verb: 'list-connection-references',
|
|
73
|
+
usage: 'Usage: power-apps list-connection-references',
|
|
74
|
+
expectedText: HelpStrings.Verbs['List-connection-references'].Description,
|
|
75
|
+
options: HelpStrings.Verbs['List-connection-references'].Options,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
verb: 'logout',
|
|
79
|
+
usage: 'Usage: power-apps logout',
|
|
80
|
+
expectedText: HelpStrings.Verbs.Logout.Description,
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
verb: 'push',
|
|
84
|
+
usage: 'Usage: power-apps push',
|
|
85
|
+
expectedText: HelpStrings.Verbs.Push.Description,
|
|
86
|
+
options: HelpStrings.Verbs.Push.Options,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
verb: 'run',
|
|
90
|
+
usage: 'Usage: power-apps run',
|
|
91
|
+
expectedText: HelpStrings.Verbs.Run.Description,
|
|
92
|
+
options: HelpStrings.Verbs.Run.Options,
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
describeE2E('power-apps help output', () => {
|
|
96
|
+
let testSetup;
|
|
97
|
+
const originalEnv = { ...process.env };
|
|
98
|
+
beforeEach(() => {
|
|
99
|
+
process.env = { ...originalEnv };
|
|
100
|
+
});
|
|
101
|
+
beforeAll(() => {
|
|
102
|
+
testSetup = setupE2eTest({
|
|
103
|
+
tempBaseDir: E2E_CONFIG.tempBaseDir,
|
|
104
|
+
testFolderName: TEST_FOLDER_NAME,
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
afterAll(() => {
|
|
108
|
+
process.env = originalEnv;
|
|
109
|
+
testSetup.cleanup();
|
|
110
|
+
});
|
|
111
|
+
it('shows help when no verb is passed', () => {
|
|
112
|
+
const { stdout, stderr } = testSetup.execute('', []);
|
|
113
|
+
expect(stderr).toBe('');
|
|
114
|
+
expect(stdout.length).toBeGreaterThan(0);
|
|
115
|
+
expect(normalizeWhitespace(stdout)).toContain(normalizeWhitespace(HelpStrings.Global.ProgramDescription));
|
|
116
|
+
});
|
|
117
|
+
it('global help includes global option descriptions', () => {
|
|
118
|
+
const { stdout } = testSetup.execute('', ['--help']);
|
|
119
|
+
const normalizedOutput = normalizeWhitespace(stdout);
|
|
120
|
+
expect(normalizedOutput).toContain(`Usage: power-apps [option] [command] [<args>]
|
|
121
|
+
|
|
122
|
+
Power Apps CLI for managing Power Apps code apps.
|
|
123
|
+
|
|
124
|
+
Options:
|
|
125
|
+
-v, --version output the current version
|
|
126
|
+
-h, --help display help for command`);
|
|
127
|
+
});
|
|
128
|
+
it('global help includes verb table with all verbs', () => {
|
|
129
|
+
const { stdout } = testSetup.execute('', ['--help']);
|
|
130
|
+
// Verify the "Available Commands:" header appears
|
|
131
|
+
expect(stdout).toContain('Available Commands:');
|
|
132
|
+
expect(stdout).toContain('Command');
|
|
133
|
+
expect(stdout).toContain('Description');
|
|
134
|
+
// Verify each verb from the registry appears in the help output
|
|
135
|
+
// Note: VERB_REGISTRY is guaranteed to be complete via compile-time type checks
|
|
136
|
+
Object.entries(VERB_HELP_REGISTRY).forEach(([verb, verbMetadata]) => {
|
|
137
|
+
expect(stdout).toContain(verb);
|
|
138
|
+
expect(stdout).toContain(verbMetadata.description);
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
describe('--help for each verb', () => {
|
|
142
|
+
it.each(VERBS_UNDER_TEST)('prints help for %s', ({ verb, usage, expectedText, options }) => {
|
|
143
|
+
const { stdout, stderr } = verb === '' ? testSetup.execute('', ['--help']) : testSetup.execute(verb, ['--help']);
|
|
144
|
+
expect(stderr).toBe('');
|
|
145
|
+
expect(stdout.length).toBeGreaterThan(0);
|
|
146
|
+
// Verify the expected usage line appears in help output.
|
|
147
|
+
expect(stdout).toContain(usage);
|
|
148
|
+
const normalizedOutput = normalizeWhitespace(stdout);
|
|
149
|
+
// Verify the expected description text appears in help output.
|
|
150
|
+
if (expectedText) {
|
|
151
|
+
expect(normalizedOutput).toContain(normalizeWhitespace(expectedText));
|
|
152
|
+
}
|
|
153
|
+
// Verify all option descriptions appear in help output.
|
|
154
|
+
if (options) {
|
|
155
|
+
Object.values(options).forEach((optionDesc) => {
|
|
156
|
+
expect(normalizedOutput).toContain(normalizeWhitespace(optionDesc));
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
//# sourceMappingURL=cliHelp.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliHelp.test.js","sourceRoot":"","sources":["../../../../src/__tests__/E2eTests/cliUsability/cliHelp.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logoutReauth.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/E2eTests/cliUsability/logoutReauth.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* E2E Tests: CLI Usability - Logout and Reauthentication
|
|
6
|
+
*
|
|
7
|
+
* Tests that the CLI properly handles logout and subsequent commands that require auth.
|
|
8
|
+
* Test Case: TC 35840928 - Logout Requires Reauthentication
|
|
9
|
+
*/
|
|
10
|
+
import { afterAll, beforeAll, describe, expect, it } from '@jest/globals';
|
|
11
|
+
import * as fs from 'fs';
|
|
12
|
+
import * as path from 'path';
|
|
13
|
+
import { describeE2E } from '../../helpers/e2eTestHelpers';
|
|
14
|
+
import { getAuthCachePath, setupE2eTest, writeMinimalConfig } from '../../helpers/testHelpers';
|
|
15
|
+
import { E2E_CONFIG } from '../e2eConfig';
|
|
16
|
+
const TEST_FOLDER_NAME = 'logoutReauthTests';
|
|
17
|
+
describeE2E('CLI Usability - Logout and Reauthentication (TC: 35840928)', () => {
|
|
18
|
+
let testSetup;
|
|
19
|
+
beforeAll(() => {
|
|
20
|
+
testSetup = setupE2eTest({
|
|
21
|
+
testFolderName: TEST_FOLDER_NAME,
|
|
22
|
+
tempBaseDir: E2E_CONFIG.tempBaseDir,
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
afterAll(() => {
|
|
26
|
+
testSetup.cleanup();
|
|
27
|
+
});
|
|
28
|
+
describe('logout command behavior', () => {
|
|
29
|
+
it('logout reports success or no user found', () => {
|
|
30
|
+
const result = testSetup.execute('logout', []);
|
|
31
|
+
// Logout should succeed with one of two messages
|
|
32
|
+
expect(result.stdout.includes('Successfully logged out') || result.stdout.includes('No user found')).toBe(true);
|
|
33
|
+
expect(result.stderr).toBe('');
|
|
34
|
+
});
|
|
35
|
+
it('logout is idempotent - running twice does not error', () => {
|
|
36
|
+
// First logout
|
|
37
|
+
const result1 = testSetup.execute('logout', []);
|
|
38
|
+
expect(result1.stderr).toBe('');
|
|
39
|
+
expect(result1.exitCode).toBe(0);
|
|
40
|
+
// Second logout should also succeed
|
|
41
|
+
const result2 = testSetup.execute('logout', []);
|
|
42
|
+
expect(result2.stderr).toBe('');
|
|
43
|
+
expect(result2.exitCode).toBe(0);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe('commands after logout require reauthentication', () => {
|
|
47
|
+
// with the CI setup using service principal auth, these commands should succeed automatically
|
|
48
|
+
beforeAll(() => {
|
|
49
|
+
// Ensure we're logged out
|
|
50
|
+
testSetup.execute('logout', []);
|
|
51
|
+
// Verify no user is cached by checking auth cache directory doesn't exist
|
|
52
|
+
const authCacheDir = getAuthCachePath(testSetup);
|
|
53
|
+
if (fs.existsSync(authCacheDir)) {
|
|
54
|
+
throw new Error(`Auth cache directory still exists after logout: ${authCacheDir}`);
|
|
55
|
+
}
|
|
56
|
+
// Create a power.config.json for commands that need it
|
|
57
|
+
writeMinimalConfig(testSetup, {
|
|
58
|
+
region: E2E_CONFIG.region,
|
|
59
|
+
environmentId: E2E_CONFIG.environmentId,
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
it('list-codeapps after logout succeeds with service principal', () => {
|
|
63
|
+
// After logout, list-codeapps should succeed if using service principal auth (E2E test mode)
|
|
64
|
+
const result = testSetup.execute('list-codeapps', []);
|
|
65
|
+
expect(result.exitCode).toBe(0);
|
|
66
|
+
expect(result.stderr).toBe('');
|
|
67
|
+
expect(result.stdout).toBe('');
|
|
68
|
+
});
|
|
69
|
+
it('add-data-source after logout succeeds with service principal', () => {
|
|
70
|
+
// After logout, add-data-source should succeed if using service principal auth (E2E test mode)
|
|
71
|
+
const result = testSetup.execute('add-data-source', [
|
|
72
|
+
'--apiId',
|
|
73
|
+
'dataverse',
|
|
74
|
+
'--resourceName',
|
|
75
|
+
'contact',
|
|
76
|
+
]);
|
|
77
|
+
expect(result.exitCode).toBe(0);
|
|
78
|
+
expect(result.stderr).toBe('');
|
|
79
|
+
expect(result.stdout).toBe('');
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe('logout clears cached credentials', () => {
|
|
83
|
+
it('auth cache directory is cleared after logout', () => {
|
|
84
|
+
// This test verifies the implementation detail from Logout.ts
|
|
85
|
+
// AUTH_CACHE_DIRECTORY is CLI_CONFIG_DIRECTORY/cache/auth
|
|
86
|
+
const authCacheDir = getAuthCachePath(testSetup);
|
|
87
|
+
// Create the auth cache directory to simulate a logged-in user
|
|
88
|
+
fs.mkdirSync(authCacheDir, { recursive: true });
|
|
89
|
+
// Add a dummy cache file
|
|
90
|
+
fs.writeFileSync(path.join(authCacheDir, 'token-cache.json'), '{}');
|
|
91
|
+
expect(fs.existsSync(authCacheDir)).toBe(true);
|
|
92
|
+
// Run logout - should clear the directory
|
|
93
|
+
const logoutResult = testSetup.execute('logout', []);
|
|
94
|
+
expect(logoutResult.stderr).toBe('');
|
|
95
|
+
expect(logoutResult.stdout.includes('Successfully logged out')).toBe(true);
|
|
96
|
+
// Verify the auth cache directory is removed
|
|
97
|
+
expect(fs.existsSync(authCacheDir)).toBe(false);
|
|
98
|
+
});
|
|
99
|
+
it('logout reports no user when auth cache does not exist', () => {
|
|
100
|
+
const authCacheDir = getAuthCachePath(testSetup);
|
|
101
|
+
// Ensure auth cache doesn't exist
|
|
102
|
+
if (fs.existsSync(authCacheDir)) {
|
|
103
|
+
fs.rmSync(authCacheDir, { recursive: true, force: true });
|
|
104
|
+
}
|
|
105
|
+
expect(fs.existsSync(authCacheDir)).toBe(false);
|
|
106
|
+
// Run logout - should report no user
|
|
107
|
+
const logoutResult = testSetup.execute('logout', []);
|
|
108
|
+
expect(logoutResult.stderr).toBe('');
|
|
109
|
+
expect(logoutResult.stdout.includes('No user found')).toBe(true);
|
|
110
|
+
// Directory should still not exist
|
|
111
|
+
expect(fs.existsSync(authCacheDir)).toBe(false);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=logoutReauth.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logoutReauth.test.js","sourceRoot":"","sources":["../../../../src/__tests__/E2eTests/cliUsability/logoutReauth.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missingParameters.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/E2eTests/cliUsability/missingParameters.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* E2E Tests: CLI Usability - Missing Parameters
|
|
6
|
+
*
|
|
7
|
+
* Tests that the CLI provides helpful error messages when required parameters are missing.
|
|
8
|
+
* These tests validate:
|
|
9
|
+
* - TC 35840929: Init Verb Missing Required Parameters
|
|
10
|
+
* - TC 35840931: Add Data Source With Missing Parameters
|
|
11
|
+
* - TC 35840932: List Datasets With Missing Parameters
|
|
12
|
+
* - TC 35840933: List Tables With Missing Parameters
|
|
13
|
+
* - TC 35840935: Delete Data Source With Missing Parameters
|
|
14
|
+
* - TC 35840936: List Environment Variables With Missing Parameters
|
|
15
|
+
*/
|
|
16
|
+
import { afterAll, beforeAll, describe, expect, it } from '@jest/globals';
|
|
17
|
+
import { describeE2E } from '../../helpers/e2eTestHelpers';
|
|
18
|
+
import { getCombinedOutput, setupE2eTest, withoutConfig, writeMinimalConfig, } from '../../helpers/testHelpers';
|
|
19
|
+
import { E2E_CONFIG } from '../e2eConfig';
|
|
20
|
+
const TEST_FOLDER_NAME = 'missingParamsTests';
|
|
21
|
+
describeE2E('CLI Usability - Missing Parameters', () => {
|
|
22
|
+
let testSetup;
|
|
23
|
+
beforeAll(() => {
|
|
24
|
+
testSetup = setupE2eTest({
|
|
25
|
+
testFolderName: TEST_FOLDER_NAME,
|
|
26
|
+
tempBaseDir: E2E_CONFIG.tempBaseDir,
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
afterAll(() => {
|
|
30
|
+
testSetup.cleanup();
|
|
31
|
+
});
|
|
32
|
+
describe('init verb - missing required parameters (TC: 35840929)', () => {
|
|
33
|
+
it('errors when --environmentId is not provided and no config exists', () => {
|
|
34
|
+
const result = testSetup.execute('init', ['--region', 'prod', '--displayName', 'Test App']);
|
|
35
|
+
const combinedOutput = getCombinedOutput(result);
|
|
36
|
+
expect(result.exitCode).not.toBe(0);
|
|
37
|
+
expect(combinedOutput).toContain('environment id is required');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
describe('add-data-source verb - missing required parameters (TC: 35840931)', () => {
|
|
41
|
+
beforeAll(() => {
|
|
42
|
+
writeMinimalConfig(testSetup, {
|
|
43
|
+
region: E2E_CONFIG.region,
|
|
44
|
+
environmentId: E2E_CONFIG.environmentId,
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
it('errors when --apiId is not provided for connector data source', () => {
|
|
48
|
+
const result = testSetup.execute('add-data-source', [
|
|
49
|
+
'--connectionId',
|
|
50
|
+
'some-connection-id',
|
|
51
|
+
'--resourceName',
|
|
52
|
+
'contact',
|
|
53
|
+
]);
|
|
54
|
+
expect(result.exitCode).not.toBe(0);
|
|
55
|
+
const combinedOutput = getCombinedOutput(result);
|
|
56
|
+
expect(combinedOutput).toContain('api_id argument is required for connector data sources');
|
|
57
|
+
});
|
|
58
|
+
it('errors when Dataverse table requires --resourceName but not provided', () => {
|
|
59
|
+
const result = testSetup.execute('add-data-source', ['--apiId', 'dataverse']);
|
|
60
|
+
expect(result.exitCode).not.toBe(0);
|
|
61
|
+
const combinedOutput = getCombinedOutput(result);
|
|
62
|
+
expect(combinedOutput).toContain('table argument is required for dataverse');
|
|
63
|
+
});
|
|
64
|
+
it('errors when connector requires --connectionId but not provided', () => {
|
|
65
|
+
const result = testSetup.execute('add-data-source', ['--apiId', 'shared_office365users']);
|
|
66
|
+
expect(result.exitCode).not.toBe(0);
|
|
67
|
+
const combinedOutput = getCombinedOutput(result);
|
|
68
|
+
expect(combinedOutput).toContain('connection_id argument is required for connector data sources');
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('delete-data-source verb - missing required parameters (TC: 35840935)', () => {
|
|
72
|
+
beforeAll(() => {
|
|
73
|
+
writeMinimalConfig(testSetup, {
|
|
74
|
+
region: E2E_CONFIG.region,
|
|
75
|
+
environmentId: E2E_CONFIG.environmentId,
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
it('errors when --dataSourceName is not provided for Dataverse', () => {
|
|
79
|
+
const result = testSetup.execute('delete-data-source', ['--apiId', 'dataverse']);
|
|
80
|
+
expect(result.exitCode).not.toBe(0);
|
|
81
|
+
const combinedOutput = getCombinedOutput(result);
|
|
82
|
+
expect(combinedOutput).toContain('table argument is required for dataverse data sources');
|
|
83
|
+
});
|
|
84
|
+
it('errors when --apiId is not provided', () => {
|
|
85
|
+
const result = testSetup.execute('delete-data-source', ['--dataSourceName', 'contacts']);
|
|
86
|
+
expect(result.exitCode).not.toBe(0);
|
|
87
|
+
const combinedOutput = getCombinedOutput(result);
|
|
88
|
+
expect(combinedOutput).toContain('api_id argument is required');
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
describe('list verbs - missing required parameters', () => {
|
|
92
|
+
beforeAll(() => {
|
|
93
|
+
writeMinimalConfig(testSetup, {
|
|
94
|
+
region: E2E_CONFIG.region,
|
|
95
|
+
environmentId: E2E_CONFIG.environmentId,
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
it('list-datasets errors when --apiId is not provided (TC: 35840932)', () => {
|
|
99
|
+
const result = testSetup.execute('list-datasets', ['--connectionId', 'some-id']);
|
|
100
|
+
expect(result.exitCode).not.toBe(0);
|
|
101
|
+
const combinedOutput = getCombinedOutput(result);
|
|
102
|
+
expect(combinedOutput).toContain('both apiid and connection id are required');
|
|
103
|
+
});
|
|
104
|
+
it('list-datasets errors when --connectionId is not provided (TC: 35840932)', () => {
|
|
105
|
+
const result = testSetup.execute('list-datasets', ['--apiId', 'shared_sql']);
|
|
106
|
+
expect(result.exitCode).not.toBe(0);
|
|
107
|
+
const combinedOutput = getCombinedOutput(result);
|
|
108
|
+
expect(combinedOutput).toContain('both apiid and connection id are required');
|
|
109
|
+
});
|
|
110
|
+
it('list-tables errors when --apiId is not provided (TC: 35840933)', () => {
|
|
111
|
+
const result = testSetup.execute('list-tables', [
|
|
112
|
+
'--connectionId',
|
|
113
|
+
'some-id',
|
|
114
|
+
'--dataset',
|
|
115
|
+
'some-dataset',
|
|
116
|
+
]);
|
|
117
|
+
expect(result.exitCode).not.toBe(0);
|
|
118
|
+
const combinedOutput = getCombinedOutput(result);
|
|
119
|
+
expect(combinedOutput).toContain('api id parameter is required to list tables');
|
|
120
|
+
});
|
|
121
|
+
it('list-tables errors when --connectionId is not provided (TC: 35840933)', () => {
|
|
122
|
+
const result = testSetup.execute('list-tables', ['--apiId', 'shared_sql', '--dataset', 'some-dataset']);
|
|
123
|
+
expect(result.exitCode).not.toBe(0);
|
|
124
|
+
const combinedOutput = getCombinedOutput(result);
|
|
125
|
+
expect(combinedOutput).toContain('connection id parameter is required to list tables');
|
|
126
|
+
});
|
|
127
|
+
it('list-tables errors when --dataset is not provided (TC: 35840933)', () => {
|
|
128
|
+
const result = testSetup.execute('list-tables', ['--apiId', 'shared_sql', '--connectionId', 'some-id']);
|
|
129
|
+
expect(result.exitCode).not.toBe(0);
|
|
130
|
+
const combinedOutput = getCombinedOutput(result);
|
|
131
|
+
expect(combinedOutput).toContain('dataset parameter is required to list tables');
|
|
132
|
+
});
|
|
133
|
+
// Skipped: ListSqlStoredProcedures action does not validate required parameters before attempting operations
|
|
134
|
+
// The action will fail with "Connection with name undefined not found" or similar generic errors
|
|
135
|
+
// instead of proper validation error messages for missing parameters.
|
|
136
|
+
// TODO: Add parameter validation in ListSqlStoredProcedures action, then enable these tests.
|
|
137
|
+
it.skip('list-sqlStoredProcedures errors when --connectionId is not provided (TC: 35840934)', () => {
|
|
138
|
+
const result = testSetup.execute('list-sqlStoredProcedures', ['--dataset', 'some-database']);
|
|
139
|
+
expect(result.exitCode).not.toBe(0);
|
|
140
|
+
const combinedOutput = getCombinedOutput(result);
|
|
141
|
+
expect(combinedOutput).toContain('connection id parameter is required to list sql stored procedures');
|
|
142
|
+
});
|
|
143
|
+
// Skipped: ListSqlStoredProcedures action does not validate required parameters.
|
|
144
|
+
// TODO: Add parameter validation in ListSqlStoredProcedures action, then enable this test.
|
|
145
|
+
it.skip('list-sqlStoredProcedures errors when --dataset is not provided (TC: 35840934)', () => {
|
|
146
|
+
const result = testSetup.execute('list-sqlStoredProcedures', ['--connectionId', 'some-id']);
|
|
147
|
+
expect(result.exitCode).not.toBe(0);
|
|
148
|
+
const combinedOutput = getCombinedOutput(result);
|
|
149
|
+
expect(combinedOutput).toContain('dataset parameter is required to list sql stored procedures');
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
describe('list-environment-variables - missing parameters (TC: 35840936)', () => {
|
|
153
|
+
it('errors when no environment context is available - no config and no parameter', () => {
|
|
154
|
+
withoutConfig(testSetup, () => {
|
|
155
|
+
const result = testSetup.execute('list-environment-variables', []);
|
|
156
|
+
expect(result.exitCode).not.toBe(0);
|
|
157
|
+
const combinedOutput = getCombinedOutput(result);
|
|
158
|
+
expect(combinedOutput).toContain('failed to read repository configuration');
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
// Skipped: ListConnectionReferences action does not validate required parameters before attempting operations.
|
|
163
|
+
// It will fail with generic error messages from the service (e.g., HTTP errors, undefined values)
|
|
164
|
+
// instead of user-friendly validation error messages indicating which parameter is missing.
|
|
165
|
+
// TODO: Add parameter validation in ListConnectionReferences action with clear error messages,
|
|
166
|
+
// then enable these tests to validate the error messages match expectations.
|
|
167
|
+
describe.skip('list-connection-references - missing parameters (TC: 35840937)', () => {
|
|
168
|
+
it('errors when environment URL is not provided', () => {
|
|
169
|
+
withoutConfig(testSetup, () => {
|
|
170
|
+
const result = testSetup.execute('list-connection-references', []);
|
|
171
|
+
expect(result.exitCode).not.toBe(0);
|
|
172
|
+
const combinedOutput = getCombinedOutput(result);
|
|
173
|
+
expect(combinedOutput).toContain('environment url parameter is required to list connection references');
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
it('errors when solution ID is not provided', () => {
|
|
177
|
+
withoutConfig(testSetup, () => {
|
|
178
|
+
const result = testSetup.execute('list-connection-references', [
|
|
179
|
+
'--envUrl',
|
|
180
|
+
'https://example.crm.dynamics.com',
|
|
181
|
+
]);
|
|
182
|
+
expect(result.exitCode).not.toBe(0);
|
|
183
|
+
const combinedOutput = getCombinedOutput(result);
|
|
184
|
+
expect(combinedOutput).toContain('solution id parameter is required to list connection references');
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
//# sourceMappingURL=missingParameters.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missingParameters.test.js","sourceRoot":"","sources":["../../../../src/__tests__/E2eTests/cliUsability/missingParameters.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { afterAll, beforeAll, describe, expect, it } from '@jest/globals';
|
|
5
5
|
import fs from 'fs';
|
|
6
6
|
import path from 'path';
|
|
7
|
-
import { cleanupE2eTestProject, createExecuteCodeCommand,
|
|
7
|
+
import { cleanupE2eTestProject, createExecuteCodeCommand, readConfig, setupE2eTestProject, } from '../helpers/testHelpers';
|
|
8
8
|
import { DATAVERSE_ENV_URL, ENVIRONMENT_ID, OFFICE365_USERS_CONNECTION_ID, REGION, SHAREPOINT_CONNECTION_ID, SHAREPOINT_DATA_SET_NAME, SHAREPOINT_TABLE_NAME, SOLUTION_ID, SQL_CONNECTION_ID, SQL_DATA_SET_NAME, } from './constants';
|
|
9
9
|
import { runNpmCommandInDirectory } from '../helpers/commandLineUtils';
|
|
10
10
|
const TEMP_BASE_DIR = 'C:\\tmp\\commonUserWorkflows';
|
|
@@ -35,7 +35,7 @@ describe('Common User Workflows', () => {
|
|
|
35
35
|
});
|
|
36
36
|
process.env = { ...originalEnv };
|
|
37
37
|
execute = createExecuteCodeCommand({ workingDirectory: projectRoot });
|
|
38
|
-
executeAllowFailure =
|
|
38
|
+
executeAllowFailure = createExecuteCodeCommand({ workingDirectory: projectRoot });
|
|
39
39
|
});
|
|
40
40
|
afterAll(() => {
|
|
41
41
|
process.env = originalEnv;
|
|
@@ -277,13 +277,15 @@ describe('Common User Workflows', () => {
|
|
|
277
277
|
});
|
|
278
278
|
const pushResult = execute('push');
|
|
279
279
|
expect(pushResult.stdout).toContain('App pushed successfully');
|
|
280
|
-
// Step 14: Log Out and
|
|
280
|
+
// Step 14: Log Out and Verify Auth Behavior
|
|
281
281
|
const listBeforeLogoutResult = execute('list-codeapps');
|
|
282
282
|
expect(listBeforeLogoutResult.stdout).toContain('Code Apps:');
|
|
283
283
|
const logoutResult = execute('logout', []);
|
|
284
|
-
expect(logoutResult.stdout).toContain('Successfully logged out
|
|
285
|
-
|
|
286
|
-
|
|
284
|
+
expect(logoutResult.stdout).toContain('Successfully logged out');
|
|
285
|
+
// After logout, commands should still succeed in CI environment with service principal auth
|
|
286
|
+
// User logout clears cached credentials, but service principal auth continues to work
|
|
287
|
+
const listAfterLogoutResult = execute('list-codeapps');
|
|
288
|
+
expect(listAfterLogoutResult.exitCode).toBe(0);
|
|
287
289
|
});
|
|
288
290
|
});
|
|
289
291
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonUserWorkflowSmokeTest.test.js","sourceRoot":"","sources":["../../../src/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"commonUserWorkflowSmokeTest.test.js","sourceRoot":"","sources":["../../../src/__tests__/E2eTests/commonUserWorkflowSmokeTest.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACV,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,6BAA6B,EAC7B,MAAM,EACN,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAErD,qEAAqE;AACrE,MAAM,cAAc,GAAG;IACrB,aAAa,EAAE,cAAc;IAC7B,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,kBAAkB;IAC/B,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,YAAY;IAC5B,MAAM,EAAE,uBAAuB;IAC/B,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,WAAmB,CAAC;IACxB,IAAI,OAAoD,CAAC;IACzD,IAAI,mBAAgE,CAAC;IAErE,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC9D,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,gBAAgB,GAAG,uCAAuC,CAAC;QAEjE,SAAS,CAAC,GAAG,EAAE;YACb,WAAW,GAAG,mBAAmB,CAAC;gBAChC,WAAW,EAAE,aAAa;gBAC1B,cAAc,EAAE,gBAAgB;gBAChC,sEAAsE;aACvE,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;YACjC,OAAO,GAAG,wBAAwB,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC;YACtE,mBAAmB,GAAG,wBAAwB,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;YAC1B,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;;YAClF,8BAA8B;YAC9B,MAAM,QAAQ,GAAG;gBACf,iBAAiB;gBACjB,cAAc,CAAC,aAAa;gBAC5B,eAAe;gBACf,cAAc,CAAC,WAAW;gBAC1B,eAAe;gBACf,cAAc,CAAC,WAAW;gBAC1B,UAAU;gBACV,cAAc,CAAC,MAAM;gBACrB,aAAa;gBACb,cAAc,CAAC,SAAS;gBACxB,kBAAkB;gBAClB,cAAc,CAAC,cAAc;gBAC7B,UAAU;gBACV,cAAc,CAAC,MAAM;gBACrB,YAAY;gBACZ,cAAc,CAAC,QAAQ;aACxB,CAAC;YACF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;YAE9E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAC/D,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,KAAK,EAAE,IAAI;gBACX,cAAc,EAAE,cAAc,CAAC,WAAW;gBAC1C,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,cAAc,CAAC,aAAa;gBAC3C,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,SAAS,EAAE,cAAc,CAAC,SAAS;gBACnC,eAAe,EAAE,cAAc,CAAC,cAAc;gBAC9C,WAAW,EAAE,cAAc,CAAC,MAAM;gBAClC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,oBAAoB,EAAE,EAAE;gBACxB,kBAAkB,EAAE,EAAE;aACvB,CAAC,CAAC;YAEH,uCAAuC;YACvC,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAChD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAC9D,kEAAkE;YAClE,mGAAmG;YACnG,oDAAoD;YACpD,2EAA2E;YAE3E,0DAA0D;YAC1D,MAAM,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE;gBAClD,IAAI;gBACJ,kBAAkB;gBAClB,IAAI;gBACJ,wBAAwB;aACzB,CAAC,CAAC;YACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;YAC7E,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAEtE,iDAAiD;YACjD,MAAM,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,EAAE;gBACpD,IAAI;gBACJ,WAAW;gBACX,IAAI;gBACJ,SAAS;gBACT,UAAU;gBACV,iBAAiB;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhD,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC;gBAC9C,aAAa,EAAE;oBACb,WAAW,EAAE;wBACX,QAAQ,EAAE;4BACR,aAAa,EAAE,UAAU;4BACzB,WAAW,EAAE,SAAS;yBACvB;qBACF;oBACD,uBAAuB,EAAE,EAAE;iBAC5B;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CACjG,IAAI,CACL,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAClG,IAAI,CACL,CAAC;YACF,MAAM,CACJ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,mDAAmD;YACnD,MAAM,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,EAAE;gBACpD,IAAI;gBACJ,gBAAgB;gBAChB,IAAI;gBACJ,6BAA6B;aAC9B,CAAC,CAAC;YACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhD,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;YAElD,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACtD;YACD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CACpE,CAAC,KAAK,EAAgC,EAAE,CACtC,KAAK,CAAC,EAAE,KAAK,2DAA2D,CAC3E,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC;gBACnC,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,CAAC,gBAAgB,CAAC;gBAC/B,WAAW,EAAE,kBAAkB;gBAC/B,EAAE,EAAE,2DAA2D;aAChE,CAAC,CAAC;YAEH,+CAA+C;YAC/C,MAAM,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE;gBACrD,IAAI;gBACJ,kBAAkB;gBAClB,IAAI;gBACJ,wBAAwB;gBACxB,IAAI;gBACJ,qBAAqB;gBACrB,IAAI;gBACJ,wBAAwB;aACzB,CAAC,CAAC;YACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAEjD,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;gBACxC,aAAa,EAAE;oBACb,WAAW,EAAE;wBACX,QAAQ,EAAE;4BACR,aAAa,EAAE,UAAU;4BACzB,WAAW,EAAE,SAAS;yBACvB;qBACF;oBACD,uBAAuB,EAAE,EAAE;iBAC5B;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACtD;YACD,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;gBACpE,MAAM,OAAO,GAAG,KAAK,CAAC;gBACtB,IAAI,OAAO,CAAC,EAAE,KAAK,6DAA6D,EAAE;oBAChF,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;wBAC1B,QAAQ,EAAE;4BACR,CAAC,wBAAwB,CAAC,EAAE;gCAC1B,WAAW,EAAE;oCACX,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,EAAE;wCACrC,SAAS,EAAE,qBAAqB;qCACjC;iCACF;6BACF;yBACF;wBACD,WAAW,EAAE,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;wBAClD,WAAW,EAAE,YAAY;wBACzB,EAAE,EAAE,6DAA6D;qBAClE,CAAC,CAAC;iBACJ;aACF;YAED,MAAM,CACJ,EAAE,CAAC,UAAU,CACX,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,qBAAqB,UAAU,CAAC,CACzF,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CACJ,EAAE,CAAC,UAAU,CACX,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,qBAAqB,YAAY,CAAC,CAC7F,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,8CAA8C;YAC9C,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,oBAAoB,EAAE;gBACvE,kBAAkB;gBAClB,gBAAgB;gBAChB,SAAS;gBACT,kBAAkB;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,sBAAsB,CAAC,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,SAAS,CAC7E,sCAAsC,CACvC,CAAC;YAEF,MAAM,uBAAuB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACxD,MAAM,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAExD,oDAAoD;YACpD,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB,EAAE;gBACjD,kBAAkB;gBAClB,UAAU;gBACV,SAAS;gBACT,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mDAAmD,CAAC,CAAC;YAE3F,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACpD;YACD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,CAAC,MAAA,MAAA,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,0CAAE,WAAW,0CAAE,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;YAExF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAClG,KAAK,CACN,CAAC;YACF,MAAM,CACJ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAC5F,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEd,+CAA+C;YAC/C,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,EAAE;gBAC9C,IAAI;gBACJ,kBAAkB;gBAClB,IAAI;gBACJ,wBAAwB;gBACxB,IAAI;gBACJ,wBAAwB;aACzB,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,uBAAuB,wBAAwB,EAAE,CAAC,CAAC;YAC7F,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;YAEvE,sCAAsC;YACtC,MAAM,qBAAqB,GAAG,OAAO,CAAC,0BAA0B,EAAE;gBAChE,IAAI;gBACJ,iBAAiB;gBACjB,IAAI;gBACJ,iBAAiB;aAClB,CAAC,CAAC;YACH,IAAI,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;gBACxE,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;aAC/E;iBAAM;gBACL,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kCAAkC,iBAAiB,EAAE,CAAC,CAAC;gBACtG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC/D,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACvD,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;aACxF;YAED,sCAAsC;YACtC,MAAM,iBAAiB,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;YACjG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACrE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC3D,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAE1D,sCAAsC;YACtC,MAAM,kBAAkB,GAAG,OAAO,CAAC,4BAA4B,EAAE;gBAC/D,IAAI;gBACJ,iBAAiB;gBACjB,IAAI;gBACJ,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACtE,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAC7D,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAE5D,qDAAqD;YACrD,MAAM,wBAAwB,CAAC,CAAC,SAAS,CAAC,EAAE;gBAC1C,gBAAgB,EAAE,WAAW;gBAC7B,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,MAAM,wBAAwB,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;gBAC/C,gBAAgB,EAAE,WAAW;gBAC7B,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;YAE/D,4CAA4C;YAC5C,MAAM,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YACxD,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAE9D,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;YAEjE,4FAA4F;YAC5F,sFAAsF;YACtF,MAAM,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YACvD,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|