tm1npm 1.0.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.
- package/.env.example +16 -0
- package/.eslintrc.js +28 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- package/.github/ISSUE_TEMPLATE/question.md +24 -0
- package/.github/workflows/publish-npm.yml +53 -0
- package/.github/workflows/test-on-tag.yml +172 -0
- package/DEVELOPMENT_GUIDE.md +587 -0
- package/LICENSE +21 -0
- package/README.md +580 -0
- package/jest.ci.config.js +83 -0
- package/jest.config.js +68 -0
- package/lib/exceptions/TM1Exception.d.ts +17 -0
- package/lib/exceptions/TM1Exception.d.ts.map +1 -0
- package/lib/exceptions/TM1Exception.js +36 -0
- package/lib/exceptions/TM1RestException.d.ts +10 -0
- package/lib/exceptions/TM1RestException.d.ts.map +1 -0
- package/lib/exceptions/TM1RestException.js +17 -0
- package/lib/exceptions/TM1TimeoutException.d.ts +9 -0
- package/lib/exceptions/TM1TimeoutException.d.ts.map +1 -0
- package/lib/exceptions/TM1TimeoutException.js +16 -0
- package/lib/index.d.ts +41 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +132 -0
- package/lib/objects/Annotation.d.ts +36 -0
- package/lib/objects/Annotation.d.ts.map +1 -0
- package/lib/objects/Annotation.js +134 -0
- package/lib/objects/Application.d.ts +67 -0
- package/lib/objects/Application.d.ts.map +1 -0
- package/lib/objects/Application.js +125 -0
- package/lib/objects/Axis.d.ts +36 -0
- package/lib/objects/Axis.d.ts.map +1 -0
- package/lib/objects/Axis.js +103 -0
- package/lib/objects/Chore.d.ts +43 -0
- package/lib/objects/Chore.d.ts.map +1 -0
- package/lib/objects/Chore.js +129 -0
- package/lib/objects/ChoreFrequency.d.ts +23 -0
- package/lib/objects/ChoreFrequency.d.ts.map +1 -0
- package/lib/objects/ChoreFrequency.js +61 -0
- package/lib/objects/ChoreStartTime.d.ts +15 -0
- package/lib/objects/ChoreStartTime.d.ts.map +1 -0
- package/lib/objects/ChoreStartTime.js +85 -0
- package/lib/objects/ChoreTask.d.ts +28 -0
- package/lib/objects/ChoreTask.d.ts.map +1 -0
- package/lib/objects/ChoreTask.js +66 -0
- package/lib/objects/Cube.d.ts +26 -0
- package/lib/objects/Cube.d.ts.map +1 -0
- package/lib/objects/Cube.js +109 -0
- package/lib/objects/Dimension.d.ts +26 -0
- package/lib/objects/Dimension.d.ts.map +1 -0
- package/lib/objects/Dimension.js +86 -0
- package/lib/objects/Element.d.ts +35 -0
- package/lib/objects/Element.d.ts.map +1 -0
- package/lib/objects/Element.js +115 -0
- package/lib/objects/ElementAttribute.d.ts +28 -0
- package/lib/objects/ElementAttribute.d.ts.map +1 -0
- package/lib/objects/ElementAttribute.js +97 -0
- package/lib/objects/Git.d.ts +21 -0
- package/lib/objects/Git.d.ts.map +1 -0
- package/lib/objects/Git.js +49 -0
- package/lib/objects/GitCommit.d.ts +12 -0
- package/lib/objects/GitCommit.d.ts.map +1 -0
- package/lib/objects/GitCommit.js +26 -0
- package/lib/objects/GitPlan.d.ts +35 -0
- package/lib/objects/GitPlan.d.ts.map +1 -0
- package/lib/objects/GitPlan.js +78 -0
- package/lib/objects/GitRemote.d.ts +12 -0
- package/lib/objects/GitRemote.d.ts.map +1 -0
- package/lib/objects/GitRemote.js +26 -0
- package/lib/objects/Hierarchy.d.ts +47 -0
- package/lib/objects/Hierarchy.d.ts.map +1 -0
- package/lib/objects/Hierarchy.js +165 -0
- package/lib/objects/MDXView.d.ts +19 -0
- package/lib/objects/MDXView.d.ts.map +1 -0
- package/lib/objects/MDXView.js +67 -0
- package/lib/objects/NativeView.d.ts +39 -0
- package/lib/objects/NativeView.d.ts.map +1 -0
- package/lib/objects/NativeView.js +209 -0
- package/lib/objects/Process.d.ts +70 -0
- package/lib/objects/Process.d.ts.map +1 -0
- package/lib/objects/Process.js +210 -0
- package/lib/objects/ProcessDebugBreakpoint.d.ts +60 -0
- package/lib/objects/ProcessDebugBreakpoint.d.ts.map +1 -0
- package/lib/objects/ProcessDebugBreakpoint.js +168 -0
- package/lib/objects/ProcessParameter.d.ts +23 -0
- package/lib/objects/ProcessParameter.d.ts.map +1 -0
- package/lib/objects/ProcessParameter.js +55 -0
- package/lib/objects/ProcessVariable.d.ts +26 -0
- package/lib/objects/ProcessVariable.d.ts.map +1 -0
- package/lib/objects/ProcessVariable.js +63 -0
- package/lib/objects/Rules.d.ts +30 -0
- package/lib/objects/Rules.d.ts.map +1 -0
- package/lib/objects/Rules.js +103 -0
- package/lib/objects/Sandbox.d.ts +21 -0
- package/lib/objects/Sandbox.d.ts.map +1 -0
- package/lib/objects/Sandbox.js +64 -0
- package/lib/objects/Server.d.ts +27 -0
- package/lib/objects/Server.d.ts.map +1 -0
- package/lib/objects/Server.js +26 -0
- package/lib/objects/Subset.d.ts +44 -0
- package/lib/objects/Subset.d.ts.map +1 -0
- package/lib/objects/Subset.js +222 -0
- package/lib/objects/TM1Object.d.ts +8 -0
- package/lib/objects/TM1Object.d.ts.map +1 -0
- package/lib/objects/TM1Object.js +17 -0
- package/lib/objects/TM1Project.d.ts +74 -0
- package/lib/objects/TM1Project.d.ts.map +1 -0
- package/lib/objects/TM1Project.js +409 -0
- package/lib/objects/User.d.ts +42 -0
- package/lib/objects/User.d.ts.map +1 -0
- package/lib/objects/User.js +157 -0
- package/lib/objects/View.d.ts +19 -0
- package/lib/objects/View.d.ts.map +1 -0
- package/lib/objects/View.js +33 -0
- package/lib/objects/index.d.ts +30 -0
- package/lib/objects/index.d.ts.map +1 -0
- package/lib/objects/index.js +68 -0
- package/lib/services/AnnotationService.d.ts +17 -0
- package/lib/services/AnnotationService.d.ts.map +1 -0
- package/lib/services/AnnotationService.js +91 -0
- package/lib/services/ApplicationService.d.ts +21 -0
- package/lib/services/ApplicationService.d.ts.map +1 -0
- package/lib/services/ApplicationService.js +227 -0
- package/lib/services/AuditLogService.d.ts +15 -0
- package/lib/services/AuditLogService.d.ts.map +1 -0
- package/lib/services/AuditLogService.js +153 -0
- package/lib/services/CellService.d.ts +191 -0
- package/lib/services/CellService.d.ts.map +1 -0
- package/lib/services/CellService.js +597 -0
- package/lib/services/ChoreService.d.ts +24 -0
- package/lib/services/ChoreService.d.ts.map +1 -0
- package/lib/services/ChoreService.js +219 -0
- package/lib/services/ConfigurationService.d.ts +18 -0
- package/lib/services/ConfigurationService.d.ts.map +1 -0
- package/lib/services/ConfigurationService.js +60 -0
- package/lib/services/CubeService.d.ts +43 -0
- package/lib/services/CubeService.d.ts.map +1 -0
- package/lib/services/CubeService.js +296 -0
- package/lib/services/DimensionService.d.ts +21 -0
- package/lib/services/DimensionService.d.ts.map +1 -0
- package/lib/services/DimensionService.js +146 -0
- package/lib/services/ElementService.d.ts +132 -0
- package/lib/services/ElementService.d.ts.map +1 -0
- package/lib/services/ElementService.js +579 -0
- package/lib/services/FileService.d.ts +14 -0
- package/lib/services/FileService.d.ts.map +1 -0
- package/lib/services/FileService.js +65 -0
- package/lib/services/GitService.d.ts +23 -0
- package/lib/services/GitService.d.ts.map +1 -0
- package/lib/services/GitService.js +225 -0
- package/lib/services/HierarchyService.d.ts +32 -0
- package/lib/services/HierarchyService.d.ts.map +1 -0
- package/lib/services/HierarchyService.js +235 -0
- package/lib/services/JobService.d.ts +13 -0
- package/lib/services/JobService.d.ts.map +1 -0
- package/lib/services/JobService.js +83 -0
- package/lib/services/LoggerService.d.ts +16 -0
- package/lib/services/LoggerService.d.ts.map +1 -0
- package/lib/services/LoggerService.js +101 -0
- package/lib/services/ManageService.d.ts +47 -0
- package/lib/services/ManageService.d.ts.map +1 -0
- package/lib/services/ManageService.js +221 -0
- package/lib/services/MessageLogService.d.ts +13 -0
- package/lib/services/MessageLogService.d.ts.map +1 -0
- package/lib/services/MessageLogService.js +175 -0
- package/lib/services/MonitoringService.d.ts +29 -0
- package/lib/services/MonitoringService.d.ts.map +1 -0
- package/lib/services/MonitoringService.js +86 -0
- package/lib/services/ObjectService.d.ts +8 -0
- package/lib/services/ObjectService.d.ts.map +1 -0
- package/lib/services/ObjectService.js +20 -0
- package/lib/services/PowerBiService.d.ts +13 -0
- package/lib/services/PowerBiService.d.ts.map +1 -0
- package/lib/services/PowerBiService.js +52 -0
- package/lib/services/ProcessService.d.ts +57 -0
- package/lib/services/ProcessService.d.ts.map +1 -0
- package/lib/services/ProcessService.js +499 -0
- package/lib/services/RestService.d.ts +68 -0
- package/lib/services/RestService.d.ts.map +1 -0
- package/lib/services/RestService.js +166 -0
- package/lib/services/SandboxService.d.ts +28 -0
- package/lib/services/SandboxService.d.ts.map +1 -0
- package/lib/services/SandboxService.js +197 -0
- package/lib/services/SecurityService.d.ts +33 -0
- package/lib/services/SecurityService.d.ts.map +1 -0
- package/lib/services/SecurityService.js +249 -0
- package/lib/services/ServerService.d.ts +55 -0
- package/lib/services/ServerService.d.ts.map +1 -0
- package/lib/services/ServerService.js +247 -0
- package/lib/services/SessionService.d.ts +15 -0
- package/lib/services/SessionService.d.ts.map +1 -0
- package/lib/services/SessionService.js +68 -0
- package/lib/services/SubsetService.d.ts +13 -0
- package/lib/services/SubsetService.d.ts.map +1 -0
- package/lib/services/SubsetService.js +46 -0
- package/lib/services/TM1Service.d.ts +39 -0
- package/lib/services/TM1Service.d.ts.map +1 -0
- package/lib/services/TM1Service.js +94 -0
- package/lib/services/ThreadService.d.ts +15 -0
- package/lib/services/ThreadService.d.ts.map +1 -0
- package/lib/services/ThreadService.js +104 -0
- package/lib/services/TransactionLogService.d.ts +11 -0
- package/lib/services/TransactionLogService.d.ts.map +1 -0
- package/lib/services/TransactionLogService.js +124 -0
- package/lib/services/UserService.d.ts +14 -0
- package/lib/services/UserService.d.ts.map +1 -0
- package/lib/services/UserService.js +103 -0
- package/lib/services/ViewService.d.ts +30 -0
- package/lib/services/ViewService.d.ts.map +1 -0
- package/lib/services/ViewService.js +331 -0
- package/lib/services/index.d.ts +26 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +56 -0
- package/lib/tests/100PercentParityCheck.test.d.ts +6 -0
- package/lib/tests/100PercentParityCheck.test.d.ts.map +1 -0
- package/lib/tests/100PercentParityCheck.test.js +143 -0
- package/lib/tests/basic.test.d.ts +6 -0
- package/lib/tests/basic.test.d.ts.map +1 -0
- package/lib/tests/basic.test.js +52 -0
- package/lib/tests/cellService.test.d.ts +6 -0
- package/lib/tests/cellService.test.d.ts.map +1 -0
- package/lib/tests/cellService.test.js +311 -0
- package/lib/tests/ciSetup.d.ts +6 -0
- package/lib/tests/ciSetup.d.ts.map +1 -0
- package/lib/tests/ciSetup.js +23 -0
- package/lib/tests/comprehensive.service.test.d.ts +6 -0
- package/lib/tests/comprehensive.service.test.d.ts.map +1 -0
- package/lib/tests/comprehensive.service.test.js +507 -0
- package/lib/tests/connection.test.d.ts +6 -0
- package/lib/tests/connection.test.d.ts.map +1 -0
- package/lib/tests/connection.test.js +89 -0
- package/lib/tests/cubeService.test.d.ts +6 -0
- package/lib/tests/cubeService.test.d.ts.map +1 -0
- package/lib/tests/cubeService.test.js +368 -0
- package/lib/tests/dimensionService.comprehensive.test.d.ts +7 -0
- package/lib/tests/dimensionService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/dimensionService.comprehensive.test.js +614 -0
- package/lib/tests/dimensionService.test.d.ts +6 -0
- package/lib/tests/dimensionService.test.d.ts.map +1 -0
- package/lib/tests/dimensionService.test.js +293 -0
- package/lib/tests/edgeCases.test.d.ts +6 -0
- package/lib/tests/edgeCases.test.d.ts.map +1 -0
- package/lib/tests/edgeCases.test.js +301 -0
- package/lib/tests/elementService.comprehensive.test.d.ts +7 -0
- package/lib/tests/elementService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/elementService.comprehensive.test.js +846 -0
- package/lib/tests/elementService.test.d.ts +6 -0
- package/lib/tests/elementService.test.d.ts.map +1 -0
- package/lib/tests/elementService.test.js +350 -0
- package/lib/tests/enhancedCellService.test.d.ts +2 -0
- package/lib/tests/enhancedCellService.test.d.ts.map +1 -0
- package/lib/tests/enhancedCellService.test.js +152 -0
- package/lib/tests/enhancedCubeService.test.d.ts +2 -0
- package/lib/tests/enhancedCubeService.test.d.ts.map +1 -0
- package/lib/tests/enhancedCubeService.test.js +246 -0
- package/lib/tests/enhancedElementService.test.d.ts +2 -0
- package/lib/tests/enhancedElementService.test.d.ts.map +1 -0
- package/lib/tests/enhancedElementService.test.js +199 -0
- package/lib/tests/enhancedViewService.test.d.ts +2 -0
- package/lib/tests/enhancedViewService.test.d.ts.map +1 -0
- package/lib/tests/enhancedViewService.test.js +260 -0
- package/lib/tests/errorHandling.test.d.ts +6 -0
- package/lib/tests/errorHandling.test.d.ts.map +1 -0
- package/lib/tests/errorHandling.test.js +227 -0
- package/lib/tests/exceptions.test.d.ts +7 -0
- package/lib/tests/exceptions.test.d.ts.map +1 -0
- package/lib/tests/exceptions.test.js +257 -0
- package/lib/tests/hierarchyService.test.d.ts +6 -0
- package/lib/tests/hierarchyService.test.d.ts.map +1 -0
- package/lib/tests/hierarchyService.test.js +294 -0
- package/lib/tests/index.test.d.ts +6 -0
- package/lib/tests/index.test.d.ts.map +1 -0
- package/lib/tests/index.test.js +346 -0
- package/lib/tests/integration.test.d.ts +6 -0
- package/lib/tests/integration.test.d.ts.map +1 -0
- package/lib/tests/integration.test.js +302 -0
- package/lib/tests/integrationTests.test.d.ts +2 -0
- package/lib/tests/integrationTests.test.d.ts.map +1 -0
- package/lib/tests/integrationTests.test.js +252 -0
- package/lib/tests/mdx.advanced.test.d.ts +6 -0
- package/lib/tests/mdx.advanced.test.d.ts.map +1 -0
- package/lib/tests/mdx.advanced.test.js +437 -0
- package/lib/tests/objects.improved.test.d.ts +7 -0
- package/lib/tests/objects.improved.test.d.ts.map +1 -0
- package/lib/tests/objects.improved.test.js +302 -0
- package/lib/tests/performance.test.d.ts +6 -0
- package/lib/tests/performance.test.d.ts.map +1 -0
- package/lib/tests/performance.test.js +264 -0
- package/lib/tests/processService.comprehensive.test.d.ts +7 -0
- package/lib/tests/processService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/processService.comprehensive.test.js +656 -0
- package/lib/tests/processService.test.d.ts +6 -0
- package/lib/tests/processService.test.d.ts.map +1 -0
- package/lib/tests/processService.test.js +322 -0
- package/lib/tests/restService.test.d.ts +6 -0
- package/lib/tests/restService.test.d.ts.map +1 -0
- package/lib/tests/restService.test.js +177 -0
- package/lib/tests/security.advanced.test.d.ts +6 -0
- package/lib/tests/security.advanced.test.d.ts.map +1 -0
- package/lib/tests/security.advanced.test.js +407 -0
- package/lib/tests/security.test.d.ts +6 -0
- package/lib/tests/security.test.d.ts.map +1 -0
- package/lib/tests/security.test.js +204 -0
- package/lib/tests/securityService.comprehensive.test.d.ts +7 -0
- package/lib/tests/securityService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/securityService.comprehensive.test.js +457 -0
- package/lib/tests/setup.d.ts +4 -0
- package/lib/tests/setup.d.ts.map +1 -0
- package/lib/tests/setup.js +40 -0
- package/lib/tests/simpleCoverage.test.d.ts +6 -0
- package/lib/tests/simpleCoverage.test.d.ts.map +1 -0
- package/lib/tests/simpleCoverage.test.js +236 -0
- package/lib/tests/stress.performance.test.d.ts +6 -0
- package/lib/tests/stress.performance.test.d.ts.map +1 -0
- package/lib/tests/stress.performance.test.js +423 -0
- package/lib/tests/subsetService.test.d.ts +6 -0
- package/lib/tests/subsetService.test.d.ts.map +1 -0
- package/lib/tests/subsetService.test.js +271 -0
- package/lib/tests/testConfig.d.ts +18 -0
- package/lib/tests/testConfig.d.ts.map +1 -0
- package/lib/tests/testConfig.js +38 -0
- package/lib/tests/testUtils.d.ts +9 -0
- package/lib/tests/testUtils.d.ts.map +1 -0
- package/lib/tests/testUtils.js +100 -0
- package/lib/tests/tm1Service.test.d.ts +7 -0
- package/lib/tests/tm1Service.test.d.ts.map +1 -0
- package/lib/tests/tm1Service.test.js +290 -0
- package/lib/tests/viewService.test.d.ts +6 -0
- package/lib/tests/viewService.test.d.ts.map +1 -0
- package/lib/tests/viewService.test.js +240 -0
- package/lib/utils/Utils.d.ts +90 -0
- package/lib/utils/Utils.d.ts.map +1 -0
- package/lib/utils/Utils.js +379 -0
- package/package.json +81 -0
- package/run-all-tests.js +296 -0
- package/src/exceptions/TM1Exception.ts +38 -0
- package/src/exceptions/TM1RestException.ts +17 -0
- package/src/exceptions/TM1TimeoutException.ts +15 -0
- package/src/index.ts +94 -0
- package/src/objects/Annotation.ts +194 -0
- package/src/objects/Application.ts +146 -0
- package/src/objects/Axis.ts +149 -0
- package/src/objects/Chore.ts +174 -0
- package/src/objects/ChoreFrequency.ts +83 -0
- package/src/objects/ChoreStartTime.ts +111 -0
- package/src/objects/ChoreTask.ts +92 -0
- package/src/objects/Cube.ts +125 -0
- package/src/objects/Dimension.ts +107 -0
- package/src/objects/Element.ts +153 -0
- package/src/objects/ElementAttribute.ts +115 -0
- package/src/objects/Git.ts +86 -0
- package/src/objects/GitCommit.ts +31 -0
- package/src/objects/GitPlan.ts +121 -0
- package/src/objects/GitRemote.ts +31 -0
- package/src/objects/Hierarchy.ts +229 -0
- package/src/objects/MDXView.ts +91 -0
- package/src/objects/NativeView.ts +268 -0
- package/src/objects/Process.ts +320 -0
- package/src/objects/ProcessDebugBreakpoint.ts +239 -0
- package/src/objects/ProcessParameter.ts +76 -0
- package/src/objects/ProcessVariable.ts +89 -0
- package/src/objects/Rules.ts +117 -0
- package/src/objects/Sandbox.ts +90 -0
- package/src/objects/Server.ts +45 -0
- package/src/objects/Subset.ts +323 -0
- package/src/objects/TM1Object.ts +17 -0
- package/src/objects/TM1Project.ts +587 -0
- package/src/objects/User.ts +198 -0
- package/src/objects/View.ts +43 -0
- package/src/objects/index.ts +36 -0
- package/src/services/AnnotationService.ts +107 -0
- package/src/services/ApplicationService.ts +279 -0
- package/src/services/AuditLogService.ts +172 -0
- package/src/services/CellService.ts +814 -0
- package/src/services/ChoreService.ts +219 -0
- package/src/services/ConfigurationService.ts +69 -0
- package/src/services/CubeService.ts +338 -0
- package/src/services/DimensionService.ts +168 -0
- package/src/services/ElementService.ts +966 -0
- package/src/services/FileService.ts +67 -0
- package/src/services/GitService.ts +324 -0
- package/src/services/HierarchyService.ts +284 -0
- package/src/services/JobService.ts +59 -0
- package/src/services/LoggerService.ts +118 -0
- package/src/services/ManageService.ts +322 -0
- package/src/services/MessageLogService.ts +211 -0
- package/src/services/MonitoringService.ts +105 -0
- package/src/services/ObjectService.ts +21 -0
- package/src/services/PowerBiService.ts +85 -0
- package/src/services/ProcessService.ts +589 -0
- package/src/services/RestService.ts +224 -0
- package/src/services/SandboxService.ts +217 -0
- package/src/services/SecurityService.ts +284 -0
- package/src/services/ServerService.ts +313 -0
- package/src/services/SessionService.ts +81 -0
- package/src/services/SubsetService.ts +52 -0
- package/src/services/TM1Service.ts +133 -0
- package/src/services/ThreadService.ts +83 -0
- package/src/services/TransactionLogService.ts +148 -0
- package/src/services/UserService.ts +77 -0
- package/src/services/ViewService.ts +398 -0
- package/src/services/index.ts +28 -0
- package/src/tests/100PercentParityCheck.test.ts +166 -0
- package/src/tests/basic.test.ts +59 -0
- package/src/tests/cellService.test.ts +405 -0
- package/src/tests/ciSetup.ts +26 -0
- package/src/tests/comprehensive.service.test.ts +653 -0
- package/src/tests/config.ini.template +23 -0
- package/src/tests/connection.test.ts +90 -0
- package/src/tests/cubeService.test.ts +458 -0
- package/src/tests/dimensionService.comprehensive.test.ts +786 -0
- package/src/tests/dimensionService.test.ts +373 -0
- package/src/tests/edgeCases.test.ts +358 -0
- package/src/tests/elementService.comprehensive.test.ts +1190 -0
- package/src/tests/elementService.test.ts +472 -0
- package/src/tests/enhancedCellService.test.ts +237 -0
- package/src/tests/enhancedCubeService.test.ts +384 -0
- package/src/tests/enhancedElementService.test.ts +301 -0
- package/src/tests/enhancedViewService.test.ts +373 -0
- package/src/tests/errorHandling.test.ts +264 -0
- package/src/tests/exceptions.test.ts +313 -0
- package/src/tests/hierarchyService.test.ts +386 -0
- package/src/tests/index.test.ts +376 -0
- package/src/tests/integration.test.ts +333 -0
- package/src/tests/integrationTests.test.ts +302 -0
- package/src/tests/mdx.advanced.test.ts +513 -0
- package/src/tests/objects.improved.test.ts +385 -0
- package/src/tests/performance.test.ts +314 -0
- package/src/tests/processService.comprehensive.test.ts +933 -0
- package/src/tests/processService.test.ts +409 -0
- package/src/tests/restService.test.ts +218 -0
- package/src/tests/security.advanced.test.ts +464 -0
- package/src/tests/security.test.ts +233 -0
- package/src/tests/securityService.comprehensive.test.ts +582 -0
- package/src/tests/setup.ts +42 -0
- package/src/tests/simpleCoverage.test.ts +287 -0
- package/src/tests/stress.performance.test.ts +531 -0
- package/src/tests/subsetService.test.ts +350 -0
- package/src/tests/testConfig.ts +53 -0
- package/src/tests/testUtils.ts +94 -0
- package/src/tests/tm1Service.test.ts +361 -0
- package/src/tests/viewService.test.ts +324 -0
- package/src/utils/Utils.ts +395 -0
- package/tests/README.md +57 -0
- package/tests/connection/test-connection.ts +86 -0
- package/tests/edge-cases/edge-cases-test.ts +244 -0
- package/tests/integration/working-test.ts +193 -0
- package/tests/performance/performance-test.ts +133 -0
- package/tests/run-all-tests.sh +106 -0
- package/tests/security/security-test.ts +103 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { GitCommit } from './GitCommit';
|
|
2
|
+
|
|
3
|
+
export class GitPlan {
|
|
4
|
+
/** Base GitPlan abstraction
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
private _planId: string;
|
|
8
|
+
private _branch: string;
|
|
9
|
+
private _force: boolean;
|
|
10
|
+
|
|
11
|
+
constructor(planId: string, branch: string, force: boolean) {
|
|
12
|
+
/** Initialize GitPlan object
|
|
13
|
+
* :param plan_id: id of the Plan
|
|
14
|
+
* :param branch: current branch
|
|
15
|
+
* :param force: force git context reset
|
|
16
|
+
*/
|
|
17
|
+
this._planId = planId;
|
|
18
|
+
this._branch = branch;
|
|
19
|
+
this._force = force;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public get planId(): string {
|
|
23
|
+
return this._planId;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public get branch(): string {
|
|
27
|
+
return this._branch;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public get force(): boolean {
|
|
31
|
+
return this._force;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
export class GitPushPlan extends GitPlan {
|
|
37
|
+
/** GitPushPlan abstraction based on GitPlan
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
private _newBranch: string;
|
|
41
|
+
private _newCommit: GitCommit;
|
|
42
|
+
private _parentCommit: GitCommit;
|
|
43
|
+
private _sourceFiles: string[];
|
|
44
|
+
|
|
45
|
+
constructor(
|
|
46
|
+
planId: string,
|
|
47
|
+
branch: string,
|
|
48
|
+
force: boolean,
|
|
49
|
+
newBranch: string,
|
|
50
|
+
newCommit: GitCommit,
|
|
51
|
+
parentCommit: GitCommit,
|
|
52
|
+
sourceFiles: string[]
|
|
53
|
+
) {
|
|
54
|
+
/** Initialize GitPushPlan object
|
|
55
|
+
* :param plan_id: id of the PushPlan
|
|
56
|
+
* :param branch: current branch to base the pushplan on
|
|
57
|
+
* :param force: force git context reset
|
|
58
|
+
* :param new_branch: the new branch that will be pushed to
|
|
59
|
+
* :param new_commit: GitCommit of the new commit
|
|
60
|
+
* :param parent_commit: The current commit in the branch
|
|
61
|
+
* :param source_files: list of included files in the push
|
|
62
|
+
*/
|
|
63
|
+
super(planId, branch, force);
|
|
64
|
+
this._newBranch = newBranch;
|
|
65
|
+
this._newCommit = newCommit;
|
|
66
|
+
this._parentCommit = parentCommit;
|
|
67
|
+
this._sourceFiles = sourceFiles;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
public get newBranch(): string {
|
|
71
|
+
return this._newBranch;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public get newCommit(): GitCommit {
|
|
75
|
+
return this._newCommit;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public get parentCommit(): GitCommit {
|
|
79
|
+
return this._parentCommit;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
public get sourceFiles(): string[] {
|
|
83
|
+
return this._sourceFiles;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
export class GitPullPlan extends GitPlan {
|
|
89
|
+
/** GitPushPlan abstraction based on GitPlan
|
|
90
|
+
*/
|
|
91
|
+
|
|
92
|
+
private _commit: GitCommit;
|
|
93
|
+
private _operations: string[];
|
|
94
|
+
|
|
95
|
+
constructor(
|
|
96
|
+
planId: string,
|
|
97
|
+
branch: string,
|
|
98
|
+
force: boolean,
|
|
99
|
+
commit: GitCommit,
|
|
100
|
+
operations: string[]
|
|
101
|
+
) {
|
|
102
|
+
/** Initialize GitPushPlan object
|
|
103
|
+
* :param plan_id: id of the PullPlan
|
|
104
|
+
* :param branch: current branch to base the pullplan on
|
|
105
|
+
* :param force: force git context reset
|
|
106
|
+
* :param commit: GitCommit of the commit to pull
|
|
107
|
+
* :param operations: list of changes made upon pulling
|
|
108
|
+
*/
|
|
109
|
+
super(planId, branch, force);
|
|
110
|
+
this._commit = commit;
|
|
111
|
+
this._operations = operations;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
public get commit(): GitCommit {
|
|
115
|
+
return this._commit;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
public get operations(): string[] {
|
|
119
|
+
return this._operations;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export class GitRemote {
|
|
2
|
+
/** Abstraction of GitRemote
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
private _connected: boolean;
|
|
6
|
+
private _branches: string[];
|
|
7
|
+
private _tags: string[];
|
|
8
|
+
|
|
9
|
+
constructor(connected: boolean, branches: string[], tags: string[]) {
|
|
10
|
+
/** Initialize GitRemote object
|
|
11
|
+
* :param connected: is Git connected to remote
|
|
12
|
+
* :param branches: list of remote branches
|
|
13
|
+
* :param tags: list of remote tags
|
|
14
|
+
*/
|
|
15
|
+
this._connected = connected;
|
|
16
|
+
this._branches = branches;
|
|
17
|
+
this._tags = tags;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public get connected(): boolean {
|
|
21
|
+
return this._connected;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public get branches(): string[] {
|
|
25
|
+
return this._branches;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public get tags(): string[] {
|
|
29
|
+
return this._tags;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { TM1Object } from './TM1Object';
|
|
2
|
+
import { Element } from './Element';
|
|
3
|
+
import { ElementAttribute } from './ElementAttribute';
|
|
4
|
+
|
|
5
|
+
export class Hierarchy extends TM1Object {
|
|
6
|
+
private _name: string;
|
|
7
|
+
private _dimensionName: string;
|
|
8
|
+
private _elements: Map<string, Element> = new Map();
|
|
9
|
+
private _elementAttributes: ElementAttribute[] = [];
|
|
10
|
+
private _edges: Map<string, number> = new Map();
|
|
11
|
+
private _subsets: string[] = [];
|
|
12
|
+
private _balanced: boolean = false;
|
|
13
|
+
private _defaultMember?: string;
|
|
14
|
+
|
|
15
|
+
constructor(
|
|
16
|
+
name: string,
|
|
17
|
+
dimensionName: string,
|
|
18
|
+
elements?: Element[],
|
|
19
|
+
elementAttributes?: ElementAttribute[],
|
|
20
|
+
edges?: Map<string, number>,
|
|
21
|
+
subsets?: string[],
|
|
22
|
+
structure?: number,
|
|
23
|
+
defaultMember?: string
|
|
24
|
+
) {
|
|
25
|
+
super();
|
|
26
|
+
this._name = name;
|
|
27
|
+
this._dimensionName = dimensionName;
|
|
28
|
+
|
|
29
|
+
if (elements) {
|
|
30
|
+
for (const elem of elements) {
|
|
31
|
+
this._elements.set(elem.name.toLowerCase(), elem);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
this._elementAttributes = elementAttributes ? [...elementAttributes] : [];
|
|
36
|
+
this._edges = edges ? new Map(edges) : new Map();
|
|
37
|
+
this._subsets = subsets ? [...subsets] : [];
|
|
38
|
+
this._balanced = structure !== undefined ? structure === 0 : false;
|
|
39
|
+
this._defaultMember = defaultMember;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public static fromDict(hierarchyAsDict: any, dimensionName: string): Hierarchy {
|
|
43
|
+
const elements = hierarchyAsDict.Elements ?
|
|
44
|
+
hierarchyAsDict.Elements.map((e: any) => Element.fromDict(e)) : [];
|
|
45
|
+
|
|
46
|
+
const elementAttributes = hierarchyAsDict.ElementAttributes ?
|
|
47
|
+
hierarchyAsDict.ElementAttributes.map((ea: any) => ElementAttribute.fromDict(ea)) : [];
|
|
48
|
+
|
|
49
|
+
const edges = new Map<string, number>();
|
|
50
|
+
if (hierarchyAsDict.Edges) {
|
|
51
|
+
for (const edge of hierarchyAsDict.Edges) {
|
|
52
|
+
const key = `${edge.ParentName}:${edge.ComponentName}`;
|
|
53
|
+
edges.set(key, edge.Weight || 1);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return new Hierarchy(
|
|
58
|
+
hierarchyAsDict.Name,
|
|
59
|
+
dimensionName,
|
|
60
|
+
elements,
|
|
61
|
+
elementAttributes,
|
|
62
|
+
edges,
|
|
63
|
+
hierarchyAsDict.Subsets,
|
|
64
|
+
hierarchyAsDict.Structure,
|
|
65
|
+
hierarchyAsDict.DefaultMember
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public get name(): string {
|
|
70
|
+
return this._name;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public set name(value: string) {
|
|
74
|
+
this._name = value;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public get dimensionName(): string {
|
|
78
|
+
return this._dimensionName;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
public set dimensionName(value: string) {
|
|
82
|
+
this._dimensionName = value;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public get uniqueName(): string {
|
|
86
|
+
return `[${this._dimensionName}].[${this._name}]`;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
public get elements(): Element[] {
|
|
90
|
+
return Array.from(this._elements.values());
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public get elementNames(): string[] {
|
|
94
|
+
return Array.from(this._elements.keys());
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
public get elementAttributes(): ElementAttribute[] {
|
|
98
|
+
return this._elementAttributes;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
public get edges(): Map<string, number> {
|
|
102
|
+
return this._edges;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public get subsets(): string[] {
|
|
106
|
+
return this._subsets;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
public get balanced(): boolean {
|
|
110
|
+
return this._balanced;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
public set balanced(value: boolean) {
|
|
114
|
+
this._balanced = value;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
public get defaultMember(): string | undefined {
|
|
118
|
+
return this._defaultMember;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
public set defaultMember(value: string | undefined) {
|
|
122
|
+
this._defaultMember = value;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
public get body(): string {
|
|
126
|
+
return JSON.stringify(this.constructBody());
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
public get bodyAsDict(): any {
|
|
130
|
+
return this.constructBody();
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
private constructBody(): any {
|
|
134
|
+
const body: any = {
|
|
135
|
+
Name: this._name,
|
|
136
|
+
Elements: this.elements.map(e => e.bodyAsDict),
|
|
137
|
+
ElementAttributes: this._elementAttributes.map(ea => ea.bodyAsDict),
|
|
138
|
+
Edges: this.constructEdges(),
|
|
139
|
+
Subsets: this._subsets
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
if (this._defaultMember !== undefined) {
|
|
143
|
+
body.DefaultMember = this._defaultMember;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
body.Structure = this._balanced ? 0 : 1;
|
|
147
|
+
|
|
148
|
+
return body;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
private constructEdges(): any[] {
|
|
152
|
+
const edges: any[] = [];
|
|
153
|
+
|
|
154
|
+
for (const [key, weight] of this._edges) {
|
|
155
|
+
const [parentName, componentName] = key.split(':');
|
|
156
|
+
edges.push({
|
|
157
|
+
ParentName: parentName,
|
|
158
|
+
ComponentName: componentName,
|
|
159
|
+
Weight: weight
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return edges;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
public addElement(element: Element): void {
|
|
167
|
+
this._elements.set(element.name.toLowerCase(), element);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
public removeElement(elementName: string): boolean {
|
|
171
|
+
return this._elements.delete(elementName.toLowerCase());
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
public getElement(elementName: string): Element | undefined {
|
|
175
|
+
return this._elements.get(elementName.toLowerCase());
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
public hasElement(elementName: string): boolean {
|
|
179
|
+
return this._elements.has(elementName.toLowerCase());
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
public addEdge(parentName: string, componentName: string, weight: number = 1): void {
|
|
183
|
+
const key = `${parentName}:${componentName}`;
|
|
184
|
+
this._edges.set(key, weight);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
public removeEdge(parentName: string, componentName: string): boolean {
|
|
188
|
+
const key = `${parentName}:${componentName}`;
|
|
189
|
+
return this._edges.delete(key);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
public getEdgeWeight(parentName: string, componentName: string): number | undefined {
|
|
193
|
+
const key = `${parentName}:${componentName}`;
|
|
194
|
+
return this._edges.get(key);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
public addElementAttribute(elementAttribute: ElementAttribute): void {
|
|
198
|
+
this._elementAttributes.push(elementAttribute);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
public removeElementAttribute(attributeName: string): boolean {
|
|
202
|
+
const index = this._elementAttributes.findIndex(ea =>
|
|
203
|
+
ea.name.toLowerCase() === attributeName.toLowerCase());
|
|
204
|
+
|
|
205
|
+
if (index !== -1) {
|
|
206
|
+
this._elementAttributes.splice(index, 1);
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
public getElementAttribute(attributeName: string): ElementAttribute | undefined {
|
|
213
|
+
return this._elementAttributes.find(ea =>
|
|
214
|
+
ea.name.toLowerCase() === attributeName.toLowerCase());
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
public hasElementAttribute(attributeName: string): boolean {
|
|
218
|
+
return this._elementAttributes.some(ea =>
|
|
219
|
+
ea.name.toLowerCase() === attributeName.toLowerCase());
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
public *[Symbol.iterator](): Iterator<Element> {
|
|
223
|
+
yield* this._elements.values();
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
public get length(): number {
|
|
227
|
+
return this._elements.size;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { View } from './View';
|
|
2
|
+
import { caseAndSpaceInsensitiveEquals } from '../utils/Utils';
|
|
3
|
+
|
|
4
|
+
export class MDXView extends View {
|
|
5
|
+
/** Abstraction on TM1 MDX view
|
|
6
|
+
*
|
|
7
|
+
* IMPORTANT. MDXViews can't be seen through the old TM1 clients (Archict, Perspectives). They do exist though!
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
private _mdx: string;
|
|
11
|
+
|
|
12
|
+
constructor(cubeName: string, viewName: string, MDX: string) {
|
|
13
|
+
super(cubeName, viewName);
|
|
14
|
+
this._mdx = MDX;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
public get mdx(): string {
|
|
18
|
+
return this._mdx;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public set mdx(value: string) {
|
|
22
|
+
this._mdx = value;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public get MDX(): string {
|
|
26
|
+
return this._mdx;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public set MDX(value: string) {
|
|
30
|
+
this._mdx = value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public get body(): string {
|
|
34
|
+
return this.constructBody();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public substituteTitle(dimension: string, hierarchy: string, element: string): void {
|
|
38
|
+
/** dimension and hierarchy name are space sensitive!
|
|
39
|
+
*
|
|
40
|
+
* :param dimension:
|
|
41
|
+
* :param hierarchy:
|
|
42
|
+
* :param element:
|
|
43
|
+
* :return:
|
|
44
|
+
*/
|
|
45
|
+
let pattern = new RegExp(`\\[${dimension}\\]\\.\\[${hierarchy}\\]\\.\\[(.*?)\\]`, 'gi');
|
|
46
|
+
let findings = this._mdx.match(pattern);
|
|
47
|
+
|
|
48
|
+
if (findings) {
|
|
49
|
+
this._mdx = this._mdx.replace(
|
|
50
|
+
pattern,
|
|
51
|
+
`[${dimension}].[${hierarchy}].[${element}]`
|
|
52
|
+
);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (!hierarchy || caseAndSpaceInsensitiveEquals(dimension, hierarchy)) {
|
|
57
|
+
pattern = new RegExp(`\\[${dimension}\\]\\.\\[(.*?)\\]`, 'gi');
|
|
58
|
+
findings = this._mdx.match(pattern);
|
|
59
|
+
if (findings) {
|
|
60
|
+
this._mdx = this._mdx.replace(
|
|
61
|
+
pattern,
|
|
62
|
+
`[${dimension}].[${element}]`
|
|
63
|
+
);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
throw new Error(`No selection in title with dimension: '${dimension}' and hierarchy: '${hierarchy}'`);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
public static fromJSON(viewAsJson: string, cubeName?: string): MDXView {
|
|
72
|
+
const viewAsDict = JSON.parse(viewAsJson);
|
|
73
|
+
return MDXView.fromDict(viewAsDict, cubeName);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
public static fromDict(viewAsDict: any, cubeName?: string): MDXView {
|
|
77
|
+
return new MDXView(
|
|
78
|
+
viewAsDict.Cube?.Name || cubeName!,
|
|
79
|
+
viewAsDict.Name,
|
|
80
|
+
viewAsDict.MDX
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
private constructBody(): string {
|
|
85
|
+
const mdxViewAsDict: any = {};
|
|
86
|
+
mdxViewAsDict['@odata.type'] = 'ibm.tm1.api.v1.MDXView';
|
|
87
|
+
mdxViewAsDict['Name'] = this._name;
|
|
88
|
+
mdxViewAsDict['MDX'] = this._mdx;
|
|
89
|
+
return JSON.stringify(mdxViewAsDict);
|
|
90
|
+
}
|
|
91
|
+
}
|