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,376 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main Index Export Tests
|
|
3
|
+
* Comprehensive test suite for main module exports
|
|
4
|
+
* Target: Improve coverage from 0% to 50%+ for src/index.ts
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
describe('Main Module Exports', () => {
|
|
8
|
+
let tm1npm: any;
|
|
9
|
+
|
|
10
|
+
beforeAll(async () => {
|
|
11
|
+
// Import the main module
|
|
12
|
+
tm1npm = await import('../index');
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
describe('Core Service Exports', () => {
|
|
16
|
+
test('should export TM1Service', () => {
|
|
17
|
+
expect(tm1npm.TM1Service).toBeDefined();
|
|
18
|
+
expect(typeof tm1npm.TM1Service).toBe('function');
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
test('should export RestService and AuthenticationMode', () => {
|
|
22
|
+
expect(tm1npm.RestService).toBeDefined();
|
|
23
|
+
expect(tm1npm.AuthenticationMode).toBeDefined();
|
|
24
|
+
expect(typeof tm1npm.RestService).toBe('function');
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test('should export basic service classes', () => {
|
|
28
|
+
const basicServices = [
|
|
29
|
+
'DimensionService',
|
|
30
|
+
'HierarchyService',
|
|
31
|
+
'SubsetService',
|
|
32
|
+
'ObjectService'
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
basicServices.forEach(serviceName => {
|
|
36
|
+
expect(tm1npm[serviceName]).toBeDefined();
|
|
37
|
+
expect(typeof tm1npm[serviceName]).toBe('function');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
describe('Additional Service Exports', () => {
|
|
43
|
+
test('should export all additional services from services index', () => {
|
|
44
|
+
const additionalServices = [
|
|
45
|
+
'CubeService', 'ElementService', 'CellService', 'ProcessService',
|
|
46
|
+
'ViewService', 'SecurityService', 'FileService', 'SessionService',
|
|
47
|
+
'ConfigurationService', 'ServerService', 'MonitoringService',
|
|
48
|
+
'AnnotationService', 'ApplicationService', 'AuditLogService',
|
|
49
|
+
'ChoreService', 'GitService', 'JobService', 'LoggerService',
|
|
50
|
+
'ManageService', 'MessageLogService', 'PowerBiService',
|
|
51
|
+
'SandboxService', 'ThreadService', 'TransactionLogService',
|
|
52
|
+
'UserService'
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
additionalServices.forEach(serviceName => {
|
|
56
|
+
expect(tm1npm[serviceName]).toBeDefined();
|
|
57
|
+
expect(typeof tm1npm[serviceName]).toBe('function');
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
test('should export service classes that can be instantiated', () => {
|
|
62
|
+
// Test a few key services can be instantiated
|
|
63
|
+
const mockRest = {} as any;
|
|
64
|
+
|
|
65
|
+
expect(() => new tm1npm.DimensionService(mockRest)).not.toThrow();
|
|
66
|
+
expect(() => new tm1npm.CubeService(mockRest)).not.toThrow();
|
|
67
|
+
expect(() => new tm1npm.ElementService(mockRest)).not.toThrow();
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
describe('Object Model Exports', () => {
|
|
72
|
+
test('should export core TM1 object classes', () => {
|
|
73
|
+
const coreObjects = [
|
|
74
|
+
'TM1Object', 'Dimension', 'Hierarchy', 'Element', 'ElementAttribute'
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
coreObjects.forEach(objectName => {
|
|
78
|
+
expect(tm1npm[objectName]).toBeDefined();
|
|
79
|
+
expect(typeof tm1npm[objectName]).toBe('function');
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
test('should export additional object classes', () => {
|
|
84
|
+
const additionalObjects = [
|
|
85
|
+
'Annotation', 'Application', 'Chore', 'ChoreFrequency',
|
|
86
|
+
'ChoreStartTime', 'ChoreTask', 'Cube', 'Git', 'GitCommit',
|
|
87
|
+
'GitPlan', 'GitPushPlan', 'GitPullPlan', 'GitRemote',
|
|
88
|
+
'Process', 'ProcessDebugBreakpoint', 'Rules', 'Sandbox',
|
|
89
|
+
'Server', 'Subset', 'AnonymousSubset', 'TM1Project',
|
|
90
|
+
'TM1ProjectTask', 'TM1ProjectDeployment', 'User', 'View',
|
|
91
|
+
'MDXView', 'NativeView', 'ViewAxisSelection', 'ViewTitleSelection'
|
|
92
|
+
];
|
|
93
|
+
|
|
94
|
+
additionalObjects.forEach(objectName => {
|
|
95
|
+
expect(tm1npm[objectName]).toBeDefined();
|
|
96
|
+
expect(typeof tm1npm[objectName]).toBe('function');
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
test('should export enums and types correctly', () => {
|
|
101
|
+
// Element types
|
|
102
|
+
expect(tm1npm.ElementType).toBeDefined();
|
|
103
|
+
expect(typeof tm1npm.ElementType).toBe('object');
|
|
104
|
+
|
|
105
|
+
// Element attribute types
|
|
106
|
+
expect(tm1npm.ElementAttributeType).toBeDefined();
|
|
107
|
+
expect(typeof tm1npm.ElementAttributeType).toBe('object');
|
|
108
|
+
|
|
109
|
+
// Process debug breakpoint types
|
|
110
|
+
expect(tm1npm.HitMode).toBeDefined();
|
|
111
|
+
expect(tm1npm.BreakPointType).toBeDefined();
|
|
112
|
+
|
|
113
|
+
// Enum exports - Note: ChoreTaskParameter is a TypeScript interface, not runtime object
|
|
114
|
+
// expect(tm1npm.ChoreTaskParameter).toBeDefined(); // This is a TypeScript interface
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
test('should export LogLevel enum', () => {
|
|
118
|
+
expect(tm1npm.LogLevel).toBeDefined();
|
|
119
|
+
expect(typeof tm1npm.LogLevel).toBe('object');
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
describe('Exception Exports', () => {
|
|
124
|
+
test('should export all exception classes', () => {
|
|
125
|
+
const exceptions = [
|
|
126
|
+
'TM1Exception',
|
|
127
|
+
'TM1RestException',
|
|
128
|
+
'TM1TimeoutException',
|
|
129
|
+
'TM1VersionDeprecationException'
|
|
130
|
+
];
|
|
131
|
+
|
|
132
|
+
exceptions.forEach(exceptionName => {
|
|
133
|
+
expect(tm1npm[exceptionName]).toBeDefined();
|
|
134
|
+
expect(typeof tm1npm[exceptionName]).toBe('function');
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
test('should export exception classes that can be instantiated', () => {
|
|
139
|
+
expect(() => new tm1npm.TM1Exception('test')).not.toThrow();
|
|
140
|
+
expect(() => new tm1npm.TM1RestException('test', 500)).not.toThrow();
|
|
141
|
+
expect(() => new tm1npm.TM1TimeoutException('test', 1000)).not.toThrow();
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
test('should export exceptions that inherit correctly', () => {
|
|
145
|
+
const restEx = new tm1npm.TM1RestException('test', 500);
|
|
146
|
+
const timeoutEx = new tm1npm.TM1TimeoutException('test', 1000);
|
|
147
|
+
|
|
148
|
+
expect(restEx).toBeInstanceOf(tm1npm.TM1Exception);
|
|
149
|
+
expect(restEx).toBeInstanceOf(Error);
|
|
150
|
+
expect(timeoutEx).toBeInstanceOf(tm1npm.TM1Exception);
|
|
151
|
+
expect(timeoutEx).toBeInstanceOf(Error);
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
describe('Utility Exports', () => {
|
|
156
|
+
test('should export Utils class and utility functions', () => {
|
|
157
|
+
expect(tm1npm.Utils).toBeDefined();
|
|
158
|
+
expect(typeof tm1npm.Utils).toBe('object'); // Utils is exported as object, not class
|
|
159
|
+
|
|
160
|
+
// Utility functions
|
|
161
|
+
expect(tm1npm.CaseAndSpaceInsensitiveMap).toBeDefined();
|
|
162
|
+
expect(tm1npm.CaseAndSpaceInsensitiveSet).toBeDefined();
|
|
163
|
+
expect(tm1npm.caseAndSpaceInsensitiveEquals).toBeDefined();
|
|
164
|
+
expect(tm1npm.lowerAndDropSpaces).toBeDefined();
|
|
165
|
+
expect(tm1npm.formatUrl).toBeDefined();
|
|
166
|
+
|
|
167
|
+
expect(typeof tm1npm.caseAndSpaceInsensitiveEquals).toBe('function');
|
|
168
|
+
expect(typeof tm1npm.lowerAndDropSpaces).toBe('function');
|
|
169
|
+
expect(typeof tm1npm.formatUrl).toBe('function');
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
test('should export utility functions that work correctly', () => {
|
|
173
|
+
// Test case and space insensitive equals
|
|
174
|
+
expect(tm1npm.caseAndSpaceInsensitiveEquals('Hello World', 'hello world')).toBe(true);
|
|
175
|
+
expect(tm1npm.caseAndSpaceInsensitiveEquals('Test', 'Different')).toBe(false);
|
|
176
|
+
|
|
177
|
+
// Test lower and drop spaces
|
|
178
|
+
expect(tm1npm.lowerAndDropSpaces('Hello World')).toBe('helloworld');
|
|
179
|
+
expect(tm1npm.lowerAndDropSpaces('TEST STRING')).toBe('teststring');
|
|
180
|
+
|
|
181
|
+
// Test format URL - it URL-encodes parameters, doesn't add quotes
|
|
182
|
+
expect(tm1npm.formatUrl('test {}' , 'param')).toBe('test param');
|
|
183
|
+
expect(tm1npm.formatUrl('test {} {}', 'param1', 'param2')).toBe('test param1 param2');
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
test('should export utility classes that can be instantiated', () => {
|
|
187
|
+
expect(() => new tm1npm.CaseAndSpaceInsensitiveMap()).not.toThrow();
|
|
188
|
+
expect(() => new tm1npm.CaseAndSpaceInsensitiveSet()).not.toThrow();
|
|
189
|
+
|
|
190
|
+
// Test basic functionality
|
|
191
|
+
const map = new tm1npm.CaseAndSpaceInsensitiveMap();
|
|
192
|
+
map.set('Test Key', 'value');
|
|
193
|
+
expect(map.get('test key')).toBe('value');
|
|
194
|
+
expect(map.get('TESTKEY')).toBe('value');
|
|
195
|
+
|
|
196
|
+
const set = new tm1npm.CaseAndSpaceInsensitiveSet();
|
|
197
|
+
set.add('Test Item');
|
|
198
|
+
expect(set.has('test item')).toBe(true);
|
|
199
|
+
expect(set.has('TESTITEM')).toBe(true);
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
describe('Type Exports', () => {
|
|
204
|
+
test('should export TypeScript type definitions', () => {
|
|
205
|
+
// These are TypeScript types, so we can't directly test them at runtime
|
|
206
|
+
// But we can verify they don't cause import errors and the module loads
|
|
207
|
+
expect(tm1npm).toBeDefined();
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
describe('Version Export', () => {
|
|
212
|
+
test('should export version string', () => {
|
|
213
|
+
expect(tm1npm.version).toBeDefined();
|
|
214
|
+
expect(typeof tm1npm.version).toBe('string');
|
|
215
|
+
expect(tm1npm.version).toMatch(/^\d+\.\d+\.\d+$/); // Semver pattern
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
test('should export current version', () => {
|
|
219
|
+
expect(tm1npm.version).toBe('2.1.0');
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
describe('Module Integration', () => {
|
|
224
|
+
test('should export all expected properties', () => {
|
|
225
|
+
const expectedExports = [
|
|
226
|
+
// Core services
|
|
227
|
+
'TM1Service', 'RestService', 'AuthenticationMode',
|
|
228
|
+
'DimensionService', 'HierarchyService', 'SubsetService', 'ObjectService',
|
|
229
|
+
|
|
230
|
+
// Additional services (sample)
|
|
231
|
+
'CubeService', 'ElementService', 'CellService', 'ProcessService',
|
|
232
|
+
'ViewService', 'SecurityService', 'ServerService',
|
|
233
|
+
|
|
234
|
+
// Core objects
|
|
235
|
+
'TM1Object', 'Dimension', 'Hierarchy', 'Element', 'ElementAttribute',
|
|
236
|
+
'Cube', 'Process', 'User', 'View',
|
|
237
|
+
|
|
238
|
+
// Exceptions
|
|
239
|
+
'TM1Exception', 'TM1RestException', 'TM1TimeoutException',
|
|
240
|
+
|
|
241
|
+
// Utils
|
|
242
|
+
'Utils', 'CaseAndSpaceInsensitiveMap', 'formatUrl',
|
|
243
|
+
|
|
244
|
+
// Version
|
|
245
|
+
'version'
|
|
246
|
+
];
|
|
247
|
+
|
|
248
|
+
expectedExports.forEach(exportName => {
|
|
249
|
+
expect(tm1npm[exportName]).toBeDefined();
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
test('should not export unexpected properties', () => {
|
|
254
|
+
const unexpectedExports = [
|
|
255
|
+
'internalFunction', 'privateClass', '__dirname', '__filename'
|
|
256
|
+
];
|
|
257
|
+
|
|
258
|
+
unexpectedExports.forEach(unexpectedName => {
|
|
259
|
+
expect(tm1npm[unexpectedName]).toBeUndefined();
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
test('should allow creating a TM1Service instance with all services', () => {
|
|
264
|
+
const config = {
|
|
265
|
+
address: 'localhost',
|
|
266
|
+
port: 8879,
|
|
267
|
+
user: 'admin',
|
|
268
|
+
password: 'password',
|
|
269
|
+
ssl: false
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
expect(() => new tm1npm.TM1Service(config)).not.toThrow();
|
|
273
|
+
|
|
274
|
+
const tm1 = new tm1npm.TM1Service(config);
|
|
275
|
+
|
|
276
|
+
// Verify all services are available
|
|
277
|
+
expect(tm1.dimensions).toBeDefined();
|
|
278
|
+
expect(tm1.cubes).toBeDefined();
|
|
279
|
+
expect(tm1.elements).toBeDefined();
|
|
280
|
+
expect(tm1.cells).toBeDefined();
|
|
281
|
+
expect(tm1.processes).toBeDefined();
|
|
282
|
+
expect(tm1.views).toBeDefined();
|
|
283
|
+
expect(tm1.security).toBeDefined();
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
describe('Error Handling and Edge Cases', () => {
|
|
288
|
+
test('should handle invalid configurations gracefully', () => {
|
|
289
|
+
// This tests that the classes can be imported and instantiated
|
|
290
|
+
// Error handling for invalid configs would be in the actual service classes
|
|
291
|
+
expect(() => {
|
|
292
|
+
const invalidConfig = {} as any;
|
|
293
|
+
new tm1npm.TM1Service(invalidConfig);
|
|
294
|
+
}).not.toThrow(); // Constructor should not throw, connection would fail later
|
|
295
|
+
});
|
|
296
|
+
|
|
297
|
+
test('should handle missing dependencies gracefully', () => {
|
|
298
|
+
// Test that services can be created even if some dependencies are missing
|
|
299
|
+
expect(() => new tm1npm.DimensionService(null as any)).not.toThrow();
|
|
300
|
+
expect(() => new tm1npm.CubeService(undefined as any)).not.toThrow();
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
test('should export consistent API surface', () => {
|
|
304
|
+
// Verify that all exported classes follow consistent patterns
|
|
305
|
+
const serviceClasses = [
|
|
306
|
+
'DimensionService', 'CubeService', 'ElementService',
|
|
307
|
+
'CellService', 'ProcessService', 'ViewService'
|
|
308
|
+
];
|
|
309
|
+
|
|
310
|
+
serviceClasses.forEach(serviceName => {
|
|
311
|
+
const ServiceClass = tm1npm[serviceName];
|
|
312
|
+
expect(ServiceClass).toBeDefined();
|
|
313
|
+
expect(typeof ServiceClass).toBe('function');
|
|
314
|
+
expect(ServiceClass.prototype).toBeDefined();
|
|
315
|
+
});
|
|
316
|
+
});
|
|
317
|
+
});
|
|
318
|
+
|
|
319
|
+
describe('Backward Compatibility', () => {
|
|
320
|
+
test('should maintain backward compatible exports', () => {
|
|
321
|
+
// Test that commonly used exports are still available
|
|
322
|
+
const commonExports = [
|
|
323
|
+
'TM1Service', 'RestService', 'TM1Exception',
|
|
324
|
+
'Dimension', 'Cube', 'Process', 'Element',
|
|
325
|
+
'DimensionService', 'CubeService', 'ProcessService'
|
|
326
|
+
];
|
|
327
|
+
|
|
328
|
+
commonExports.forEach(exportName => {
|
|
329
|
+
expect(tm1npm[exportName]).toBeDefined();
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
|
|
333
|
+
test('should export types and enums for TypeScript users', () => {
|
|
334
|
+
// Verify important enums are exported
|
|
335
|
+
expect(tm1npm.ElementType).toBeDefined();
|
|
336
|
+
expect(tm1npm.ElementAttributeType).toBeDefined();
|
|
337
|
+
expect(tm1npm.AuthenticationMode).toBeDefined();
|
|
338
|
+
});
|
|
339
|
+
});
|
|
340
|
+
|
|
341
|
+
describe('Module Loading Performance', () => {
|
|
342
|
+
test('should load module exports efficiently', async () => {
|
|
343
|
+
const startTime = Date.now();
|
|
344
|
+
|
|
345
|
+
// Re-import to test loading performance
|
|
346
|
+
const freshImport = await import('../index');
|
|
347
|
+
|
|
348
|
+
const loadTime = Date.now() - startTime;
|
|
349
|
+
|
|
350
|
+
expect(freshImport).toBeDefined();
|
|
351
|
+
expect(loadTime).toBeLessThan(1000); // Should load in less than 1 second
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
test('should not load all services immediately', () => {
|
|
355
|
+
// This ensures lazy loading is working properly
|
|
356
|
+
// Heavy services should not be instantiated just from importing
|
|
357
|
+
const memoryBefore = process.memoryUsage();
|
|
358
|
+
|
|
359
|
+
const config = {
|
|
360
|
+
address: 'localhost',
|
|
361
|
+
port: 8879,
|
|
362
|
+
user: 'admin',
|
|
363
|
+
password: 'password',
|
|
364
|
+
ssl: false
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
const tm1 = new tm1npm.TM1Service(config);
|
|
368
|
+
|
|
369
|
+
const memoryAfter = process.memoryUsage();
|
|
370
|
+
const memoryIncrease = memoryAfter.heapUsed - memoryBefore.heapUsed;
|
|
371
|
+
|
|
372
|
+
// Memory increase should be reasonable (less than 10MB)
|
|
373
|
+
expect(memoryIncrease).toBeLessThan(10 * 1024 * 1024);
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
});
|