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.
Files changed (451) hide show
  1. package/.env.example +16 -0
  2. package/.eslintrc.js +28 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. package/.github/ISSUE_TEMPLATE/question.md +24 -0
  6. package/.github/workflows/publish-npm.yml +53 -0
  7. package/.github/workflows/test-on-tag.yml +172 -0
  8. package/DEVELOPMENT_GUIDE.md +587 -0
  9. package/LICENSE +21 -0
  10. package/README.md +580 -0
  11. package/jest.ci.config.js +83 -0
  12. package/jest.config.js +68 -0
  13. package/lib/exceptions/TM1Exception.d.ts +17 -0
  14. package/lib/exceptions/TM1Exception.d.ts.map +1 -0
  15. package/lib/exceptions/TM1Exception.js +36 -0
  16. package/lib/exceptions/TM1RestException.d.ts +10 -0
  17. package/lib/exceptions/TM1RestException.d.ts.map +1 -0
  18. package/lib/exceptions/TM1RestException.js +17 -0
  19. package/lib/exceptions/TM1TimeoutException.d.ts +9 -0
  20. package/lib/exceptions/TM1TimeoutException.d.ts.map +1 -0
  21. package/lib/exceptions/TM1TimeoutException.js +16 -0
  22. package/lib/index.d.ts +41 -0
  23. package/lib/index.d.ts.map +1 -0
  24. package/lib/index.js +132 -0
  25. package/lib/objects/Annotation.d.ts +36 -0
  26. package/lib/objects/Annotation.d.ts.map +1 -0
  27. package/lib/objects/Annotation.js +134 -0
  28. package/lib/objects/Application.d.ts +67 -0
  29. package/lib/objects/Application.d.ts.map +1 -0
  30. package/lib/objects/Application.js +125 -0
  31. package/lib/objects/Axis.d.ts +36 -0
  32. package/lib/objects/Axis.d.ts.map +1 -0
  33. package/lib/objects/Axis.js +103 -0
  34. package/lib/objects/Chore.d.ts +43 -0
  35. package/lib/objects/Chore.d.ts.map +1 -0
  36. package/lib/objects/Chore.js +129 -0
  37. package/lib/objects/ChoreFrequency.d.ts +23 -0
  38. package/lib/objects/ChoreFrequency.d.ts.map +1 -0
  39. package/lib/objects/ChoreFrequency.js +61 -0
  40. package/lib/objects/ChoreStartTime.d.ts +15 -0
  41. package/lib/objects/ChoreStartTime.d.ts.map +1 -0
  42. package/lib/objects/ChoreStartTime.js +85 -0
  43. package/lib/objects/ChoreTask.d.ts +28 -0
  44. package/lib/objects/ChoreTask.d.ts.map +1 -0
  45. package/lib/objects/ChoreTask.js +66 -0
  46. package/lib/objects/Cube.d.ts +26 -0
  47. package/lib/objects/Cube.d.ts.map +1 -0
  48. package/lib/objects/Cube.js +109 -0
  49. package/lib/objects/Dimension.d.ts +26 -0
  50. package/lib/objects/Dimension.d.ts.map +1 -0
  51. package/lib/objects/Dimension.js +86 -0
  52. package/lib/objects/Element.d.ts +35 -0
  53. package/lib/objects/Element.d.ts.map +1 -0
  54. package/lib/objects/Element.js +115 -0
  55. package/lib/objects/ElementAttribute.d.ts +28 -0
  56. package/lib/objects/ElementAttribute.d.ts.map +1 -0
  57. package/lib/objects/ElementAttribute.js +97 -0
  58. package/lib/objects/Git.d.ts +21 -0
  59. package/lib/objects/Git.d.ts.map +1 -0
  60. package/lib/objects/Git.js +49 -0
  61. package/lib/objects/GitCommit.d.ts +12 -0
  62. package/lib/objects/GitCommit.d.ts.map +1 -0
  63. package/lib/objects/GitCommit.js +26 -0
  64. package/lib/objects/GitPlan.d.ts +35 -0
  65. package/lib/objects/GitPlan.d.ts.map +1 -0
  66. package/lib/objects/GitPlan.js +78 -0
  67. package/lib/objects/GitRemote.d.ts +12 -0
  68. package/lib/objects/GitRemote.d.ts.map +1 -0
  69. package/lib/objects/GitRemote.js +26 -0
  70. package/lib/objects/Hierarchy.d.ts +47 -0
  71. package/lib/objects/Hierarchy.d.ts.map +1 -0
  72. package/lib/objects/Hierarchy.js +165 -0
  73. package/lib/objects/MDXView.d.ts +19 -0
  74. package/lib/objects/MDXView.d.ts.map +1 -0
  75. package/lib/objects/MDXView.js +67 -0
  76. package/lib/objects/NativeView.d.ts +39 -0
  77. package/lib/objects/NativeView.d.ts.map +1 -0
  78. package/lib/objects/NativeView.js +209 -0
  79. package/lib/objects/Process.d.ts +70 -0
  80. package/lib/objects/Process.d.ts.map +1 -0
  81. package/lib/objects/Process.js +210 -0
  82. package/lib/objects/ProcessDebugBreakpoint.d.ts +60 -0
  83. package/lib/objects/ProcessDebugBreakpoint.d.ts.map +1 -0
  84. package/lib/objects/ProcessDebugBreakpoint.js +168 -0
  85. package/lib/objects/ProcessParameter.d.ts +23 -0
  86. package/lib/objects/ProcessParameter.d.ts.map +1 -0
  87. package/lib/objects/ProcessParameter.js +55 -0
  88. package/lib/objects/ProcessVariable.d.ts +26 -0
  89. package/lib/objects/ProcessVariable.d.ts.map +1 -0
  90. package/lib/objects/ProcessVariable.js +63 -0
  91. package/lib/objects/Rules.d.ts +30 -0
  92. package/lib/objects/Rules.d.ts.map +1 -0
  93. package/lib/objects/Rules.js +103 -0
  94. package/lib/objects/Sandbox.d.ts +21 -0
  95. package/lib/objects/Sandbox.d.ts.map +1 -0
  96. package/lib/objects/Sandbox.js +64 -0
  97. package/lib/objects/Server.d.ts +27 -0
  98. package/lib/objects/Server.d.ts.map +1 -0
  99. package/lib/objects/Server.js +26 -0
  100. package/lib/objects/Subset.d.ts +44 -0
  101. package/lib/objects/Subset.d.ts.map +1 -0
  102. package/lib/objects/Subset.js +222 -0
  103. package/lib/objects/TM1Object.d.ts +8 -0
  104. package/lib/objects/TM1Object.d.ts.map +1 -0
  105. package/lib/objects/TM1Object.js +17 -0
  106. package/lib/objects/TM1Project.d.ts +74 -0
  107. package/lib/objects/TM1Project.d.ts.map +1 -0
  108. package/lib/objects/TM1Project.js +409 -0
  109. package/lib/objects/User.d.ts +42 -0
  110. package/lib/objects/User.d.ts.map +1 -0
  111. package/lib/objects/User.js +157 -0
  112. package/lib/objects/View.d.ts +19 -0
  113. package/lib/objects/View.d.ts.map +1 -0
  114. package/lib/objects/View.js +33 -0
  115. package/lib/objects/index.d.ts +30 -0
  116. package/lib/objects/index.d.ts.map +1 -0
  117. package/lib/objects/index.js +68 -0
  118. package/lib/services/AnnotationService.d.ts +17 -0
  119. package/lib/services/AnnotationService.d.ts.map +1 -0
  120. package/lib/services/AnnotationService.js +91 -0
  121. package/lib/services/ApplicationService.d.ts +21 -0
  122. package/lib/services/ApplicationService.d.ts.map +1 -0
  123. package/lib/services/ApplicationService.js +227 -0
  124. package/lib/services/AuditLogService.d.ts +15 -0
  125. package/lib/services/AuditLogService.d.ts.map +1 -0
  126. package/lib/services/AuditLogService.js +153 -0
  127. package/lib/services/CellService.d.ts +191 -0
  128. package/lib/services/CellService.d.ts.map +1 -0
  129. package/lib/services/CellService.js +597 -0
  130. package/lib/services/ChoreService.d.ts +24 -0
  131. package/lib/services/ChoreService.d.ts.map +1 -0
  132. package/lib/services/ChoreService.js +219 -0
  133. package/lib/services/ConfigurationService.d.ts +18 -0
  134. package/lib/services/ConfigurationService.d.ts.map +1 -0
  135. package/lib/services/ConfigurationService.js +60 -0
  136. package/lib/services/CubeService.d.ts +43 -0
  137. package/lib/services/CubeService.d.ts.map +1 -0
  138. package/lib/services/CubeService.js +296 -0
  139. package/lib/services/DimensionService.d.ts +21 -0
  140. package/lib/services/DimensionService.d.ts.map +1 -0
  141. package/lib/services/DimensionService.js +146 -0
  142. package/lib/services/ElementService.d.ts +132 -0
  143. package/lib/services/ElementService.d.ts.map +1 -0
  144. package/lib/services/ElementService.js +579 -0
  145. package/lib/services/FileService.d.ts +14 -0
  146. package/lib/services/FileService.d.ts.map +1 -0
  147. package/lib/services/FileService.js +65 -0
  148. package/lib/services/GitService.d.ts +23 -0
  149. package/lib/services/GitService.d.ts.map +1 -0
  150. package/lib/services/GitService.js +225 -0
  151. package/lib/services/HierarchyService.d.ts +32 -0
  152. package/lib/services/HierarchyService.d.ts.map +1 -0
  153. package/lib/services/HierarchyService.js +235 -0
  154. package/lib/services/JobService.d.ts +13 -0
  155. package/lib/services/JobService.d.ts.map +1 -0
  156. package/lib/services/JobService.js +83 -0
  157. package/lib/services/LoggerService.d.ts +16 -0
  158. package/lib/services/LoggerService.d.ts.map +1 -0
  159. package/lib/services/LoggerService.js +101 -0
  160. package/lib/services/ManageService.d.ts +47 -0
  161. package/lib/services/ManageService.d.ts.map +1 -0
  162. package/lib/services/ManageService.js +221 -0
  163. package/lib/services/MessageLogService.d.ts +13 -0
  164. package/lib/services/MessageLogService.d.ts.map +1 -0
  165. package/lib/services/MessageLogService.js +175 -0
  166. package/lib/services/MonitoringService.d.ts +29 -0
  167. package/lib/services/MonitoringService.d.ts.map +1 -0
  168. package/lib/services/MonitoringService.js +86 -0
  169. package/lib/services/ObjectService.d.ts +8 -0
  170. package/lib/services/ObjectService.d.ts.map +1 -0
  171. package/lib/services/ObjectService.js +20 -0
  172. package/lib/services/PowerBiService.d.ts +13 -0
  173. package/lib/services/PowerBiService.d.ts.map +1 -0
  174. package/lib/services/PowerBiService.js +52 -0
  175. package/lib/services/ProcessService.d.ts +57 -0
  176. package/lib/services/ProcessService.d.ts.map +1 -0
  177. package/lib/services/ProcessService.js +499 -0
  178. package/lib/services/RestService.d.ts +68 -0
  179. package/lib/services/RestService.d.ts.map +1 -0
  180. package/lib/services/RestService.js +166 -0
  181. package/lib/services/SandboxService.d.ts +28 -0
  182. package/lib/services/SandboxService.d.ts.map +1 -0
  183. package/lib/services/SandboxService.js +197 -0
  184. package/lib/services/SecurityService.d.ts +33 -0
  185. package/lib/services/SecurityService.d.ts.map +1 -0
  186. package/lib/services/SecurityService.js +249 -0
  187. package/lib/services/ServerService.d.ts +55 -0
  188. package/lib/services/ServerService.d.ts.map +1 -0
  189. package/lib/services/ServerService.js +247 -0
  190. package/lib/services/SessionService.d.ts +15 -0
  191. package/lib/services/SessionService.d.ts.map +1 -0
  192. package/lib/services/SessionService.js +68 -0
  193. package/lib/services/SubsetService.d.ts +13 -0
  194. package/lib/services/SubsetService.d.ts.map +1 -0
  195. package/lib/services/SubsetService.js +46 -0
  196. package/lib/services/TM1Service.d.ts +39 -0
  197. package/lib/services/TM1Service.d.ts.map +1 -0
  198. package/lib/services/TM1Service.js +94 -0
  199. package/lib/services/ThreadService.d.ts +15 -0
  200. package/lib/services/ThreadService.d.ts.map +1 -0
  201. package/lib/services/ThreadService.js +104 -0
  202. package/lib/services/TransactionLogService.d.ts +11 -0
  203. package/lib/services/TransactionLogService.d.ts.map +1 -0
  204. package/lib/services/TransactionLogService.js +124 -0
  205. package/lib/services/UserService.d.ts +14 -0
  206. package/lib/services/UserService.d.ts.map +1 -0
  207. package/lib/services/UserService.js +103 -0
  208. package/lib/services/ViewService.d.ts +30 -0
  209. package/lib/services/ViewService.d.ts.map +1 -0
  210. package/lib/services/ViewService.js +331 -0
  211. package/lib/services/index.d.ts +26 -0
  212. package/lib/services/index.d.ts.map +1 -0
  213. package/lib/services/index.js +56 -0
  214. package/lib/tests/100PercentParityCheck.test.d.ts +6 -0
  215. package/lib/tests/100PercentParityCheck.test.d.ts.map +1 -0
  216. package/lib/tests/100PercentParityCheck.test.js +143 -0
  217. package/lib/tests/basic.test.d.ts +6 -0
  218. package/lib/tests/basic.test.d.ts.map +1 -0
  219. package/lib/tests/basic.test.js +52 -0
  220. package/lib/tests/cellService.test.d.ts +6 -0
  221. package/lib/tests/cellService.test.d.ts.map +1 -0
  222. package/lib/tests/cellService.test.js +311 -0
  223. package/lib/tests/ciSetup.d.ts +6 -0
  224. package/lib/tests/ciSetup.d.ts.map +1 -0
  225. package/lib/tests/ciSetup.js +23 -0
  226. package/lib/tests/comprehensive.service.test.d.ts +6 -0
  227. package/lib/tests/comprehensive.service.test.d.ts.map +1 -0
  228. package/lib/tests/comprehensive.service.test.js +507 -0
  229. package/lib/tests/connection.test.d.ts +6 -0
  230. package/lib/tests/connection.test.d.ts.map +1 -0
  231. package/lib/tests/connection.test.js +89 -0
  232. package/lib/tests/cubeService.test.d.ts +6 -0
  233. package/lib/tests/cubeService.test.d.ts.map +1 -0
  234. package/lib/tests/cubeService.test.js +368 -0
  235. package/lib/tests/dimensionService.comprehensive.test.d.ts +7 -0
  236. package/lib/tests/dimensionService.comprehensive.test.d.ts.map +1 -0
  237. package/lib/tests/dimensionService.comprehensive.test.js +614 -0
  238. package/lib/tests/dimensionService.test.d.ts +6 -0
  239. package/lib/tests/dimensionService.test.d.ts.map +1 -0
  240. package/lib/tests/dimensionService.test.js +293 -0
  241. package/lib/tests/edgeCases.test.d.ts +6 -0
  242. package/lib/tests/edgeCases.test.d.ts.map +1 -0
  243. package/lib/tests/edgeCases.test.js +301 -0
  244. package/lib/tests/elementService.comprehensive.test.d.ts +7 -0
  245. package/lib/tests/elementService.comprehensive.test.d.ts.map +1 -0
  246. package/lib/tests/elementService.comprehensive.test.js +846 -0
  247. package/lib/tests/elementService.test.d.ts +6 -0
  248. package/lib/tests/elementService.test.d.ts.map +1 -0
  249. package/lib/tests/elementService.test.js +350 -0
  250. package/lib/tests/enhancedCellService.test.d.ts +2 -0
  251. package/lib/tests/enhancedCellService.test.d.ts.map +1 -0
  252. package/lib/tests/enhancedCellService.test.js +152 -0
  253. package/lib/tests/enhancedCubeService.test.d.ts +2 -0
  254. package/lib/tests/enhancedCubeService.test.d.ts.map +1 -0
  255. package/lib/tests/enhancedCubeService.test.js +246 -0
  256. package/lib/tests/enhancedElementService.test.d.ts +2 -0
  257. package/lib/tests/enhancedElementService.test.d.ts.map +1 -0
  258. package/lib/tests/enhancedElementService.test.js +199 -0
  259. package/lib/tests/enhancedViewService.test.d.ts +2 -0
  260. package/lib/tests/enhancedViewService.test.d.ts.map +1 -0
  261. package/lib/tests/enhancedViewService.test.js +260 -0
  262. package/lib/tests/errorHandling.test.d.ts +6 -0
  263. package/lib/tests/errorHandling.test.d.ts.map +1 -0
  264. package/lib/tests/errorHandling.test.js +227 -0
  265. package/lib/tests/exceptions.test.d.ts +7 -0
  266. package/lib/tests/exceptions.test.d.ts.map +1 -0
  267. package/lib/tests/exceptions.test.js +257 -0
  268. package/lib/tests/hierarchyService.test.d.ts +6 -0
  269. package/lib/tests/hierarchyService.test.d.ts.map +1 -0
  270. package/lib/tests/hierarchyService.test.js +294 -0
  271. package/lib/tests/index.test.d.ts +6 -0
  272. package/lib/tests/index.test.d.ts.map +1 -0
  273. package/lib/tests/index.test.js +346 -0
  274. package/lib/tests/integration.test.d.ts +6 -0
  275. package/lib/tests/integration.test.d.ts.map +1 -0
  276. package/lib/tests/integration.test.js +302 -0
  277. package/lib/tests/integrationTests.test.d.ts +2 -0
  278. package/lib/tests/integrationTests.test.d.ts.map +1 -0
  279. package/lib/tests/integrationTests.test.js +252 -0
  280. package/lib/tests/mdx.advanced.test.d.ts +6 -0
  281. package/lib/tests/mdx.advanced.test.d.ts.map +1 -0
  282. package/lib/tests/mdx.advanced.test.js +437 -0
  283. package/lib/tests/objects.improved.test.d.ts +7 -0
  284. package/lib/tests/objects.improved.test.d.ts.map +1 -0
  285. package/lib/tests/objects.improved.test.js +302 -0
  286. package/lib/tests/performance.test.d.ts +6 -0
  287. package/lib/tests/performance.test.d.ts.map +1 -0
  288. package/lib/tests/performance.test.js +264 -0
  289. package/lib/tests/processService.comprehensive.test.d.ts +7 -0
  290. package/lib/tests/processService.comprehensive.test.d.ts.map +1 -0
  291. package/lib/tests/processService.comprehensive.test.js +656 -0
  292. package/lib/tests/processService.test.d.ts +6 -0
  293. package/lib/tests/processService.test.d.ts.map +1 -0
  294. package/lib/tests/processService.test.js +322 -0
  295. package/lib/tests/restService.test.d.ts +6 -0
  296. package/lib/tests/restService.test.d.ts.map +1 -0
  297. package/lib/tests/restService.test.js +177 -0
  298. package/lib/tests/security.advanced.test.d.ts +6 -0
  299. package/lib/tests/security.advanced.test.d.ts.map +1 -0
  300. package/lib/tests/security.advanced.test.js +407 -0
  301. package/lib/tests/security.test.d.ts +6 -0
  302. package/lib/tests/security.test.d.ts.map +1 -0
  303. package/lib/tests/security.test.js +204 -0
  304. package/lib/tests/securityService.comprehensive.test.d.ts +7 -0
  305. package/lib/tests/securityService.comprehensive.test.d.ts.map +1 -0
  306. package/lib/tests/securityService.comprehensive.test.js +457 -0
  307. package/lib/tests/setup.d.ts +4 -0
  308. package/lib/tests/setup.d.ts.map +1 -0
  309. package/lib/tests/setup.js +40 -0
  310. package/lib/tests/simpleCoverage.test.d.ts +6 -0
  311. package/lib/tests/simpleCoverage.test.d.ts.map +1 -0
  312. package/lib/tests/simpleCoverage.test.js +236 -0
  313. package/lib/tests/stress.performance.test.d.ts +6 -0
  314. package/lib/tests/stress.performance.test.d.ts.map +1 -0
  315. package/lib/tests/stress.performance.test.js +423 -0
  316. package/lib/tests/subsetService.test.d.ts +6 -0
  317. package/lib/tests/subsetService.test.d.ts.map +1 -0
  318. package/lib/tests/subsetService.test.js +271 -0
  319. package/lib/tests/testConfig.d.ts +18 -0
  320. package/lib/tests/testConfig.d.ts.map +1 -0
  321. package/lib/tests/testConfig.js +38 -0
  322. package/lib/tests/testUtils.d.ts +9 -0
  323. package/lib/tests/testUtils.d.ts.map +1 -0
  324. package/lib/tests/testUtils.js +100 -0
  325. package/lib/tests/tm1Service.test.d.ts +7 -0
  326. package/lib/tests/tm1Service.test.d.ts.map +1 -0
  327. package/lib/tests/tm1Service.test.js +290 -0
  328. package/lib/tests/viewService.test.d.ts +6 -0
  329. package/lib/tests/viewService.test.d.ts.map +1 -0
  330. package/lib/tests/viewService.test.js +240 -0
  331. package/lib/utils/Utils.d.ts +90 -0
  332. package/lib/utils/Utils.d.ts.map +1 -0
  333. package/lib/utils/Utils.js +379 -0
  334. package/package.json +81 -0
  335. package/run-all-tests.js +296 -0
  336. package/src/exceptions/TM1Exception.ts +38 -0
  337. package/src/exceptions/TM1RestException.ts +17 -0
  338. package/src/exceptions/TM1TimeoutException.ts +15 -0
  339. package/src/index.ts +94 -0
  340. package/src/objects/Annotation.ts +194 -0
  341. package/src/objects/Application.ts +146 -0
  342. package/src/objects/Axis.ts +149 -0
  343. package/src/objects/Chore.ts +174 -0
  344. package/src/objects/ChoreFrequency.ts +83 -0
  345. package/src/objects/ChoreStartTime.ts +111 -0
  346. package/src/objects/ChoreTask.ts +92 -0
  347. package/src/objects/Cube.ts +125 -0
  348. package/src/objects/Dimension.ts +107 -0
  349. package/src/objects/Element.ts +153 -0
  350. package/src/objects/ElementAttribute.ts +115 -0
  351. package/src/objects/Git.ts +86 -0
  352. package/src/objects/GitCommit.ts +31 -0
  353. package/src/objects/GitPlan.ts +121 -0
  354. package/src/objects/GitRemote.ts +31 -0
  355. package/src/objects/Hierarchy.ts +229 -0
  356. package/src/objects/MDXView.ts +91 -0
  357. package/src/objects/NativeView.ts +268 -0
  358. package/src/objects/Process.ts +320 -0
  359. package/src/objects/ProcessDebugBreakpoint.ts +239 -0
  360. package/src/objects/ProcessParameter.ts +76 -0
  361. package/src/objects/ProcessVariable.ts +89 -0
  362. package/src/objects/Rules.ts +117 -0
  363. package/src/objects/Sandbox.ts +90 -0
  364. package/src/objects/Server.ts +45 -0
  365. package/src/objects/Subset.ts +323 -0
  366. package/src/objects/TM1Object.ts +17 -0
  367. package/src/objects/TM1Project.ts +587 -0
  368. package/src/objects/User.ts +198 -0
  369. package/src/objects/View.ts +43 -0
  370. package/src/objects/index.ts +36 -0
  371. package/src/services/AnnotationService.ts +107 -0
  372. package/src/services/ApplicationService.ts +279 -0
  373. package/src/services/AuditLogService.ts +172 -0
  374. package/src/services/CellService.ts +814 -0
  375. package/src/services/ChoreService.ts +219 -0
  376. package/src/services/ConfigurationService.ts +69 -0
  377. package/src/services/CubeService.ts +338 -0
  378. package/src/services/DimensionService.ts +168 -0
  379. package/src/services/ElementService.ts +966 -0
  380. package/src/services/FileService.ts +67 -0
  381. package/src/services/GitService.ts +324 -0
  382. package/src/services/HierarchyService.ts +284 -0
  383. package/src/services/JobService.ts +59 -0
  384. package/src/services/LoggerService.ts +118 -0
  385. package/src/services/ManageService.ts +322 -0
  386. package/src/services/MessageLogService.ts +211 -0
  387. package/src/services/MonitoringService.ts +105 -0
  388. package/src/services/ObjectService.ts +21 -0
  389. package/src/services/PowerBiService.ts +85 -0
  390. package/src/services/ProcessService.ts +589 -0
  391. package/src/services/RestService.ts +224 -0
  392. package/src/services/SandboxService.ts +217 -0
  393. package/src/services/SecurityService.ts +284 -0
  394. package/src/services/ServerService.ts +313 -0
  395. package/src/services/SessionService.ts +81 -0
  396. package/src/services/SubsetService.ts +52 -0
  397. package/src/services/TM1Service.ts +133 -0
  398. package/src/services/ThreadService.ts +83 -0
  399. package/src/services/TransactionLogService.ts +148 -0
  400. package/src/services/UserService.ts +77 -0
  401. package/src/services/ViewService.ts +398 -0
  402. package/src/services/index.ts +28 -0
  403. package/src/tests/100PercentParityCheck.test.ts +166 -0
  404. package/src/tests/basic.test.ts +59 -0
  405. package/src/tests/cellService.test.ts +405 -0
  406. package/src/tests/ciSetup.ts +26 -0
  407. package/src/tests/comprehensive.service.test.ts +653 -0
  408. package/src/tests/config.ini.template +23 -0
  409. package/src/tests/connection.test.ts +90 -0
  410. package/src/tests/cubeService.test.ts +458 -0
  411. package/src/tests/dimensionService.comprehensive.test.ts +786 -0
  412. package/src/tests/dimensionService.test.ts +373 -0
  413. package/src/tests/edgeCases.test.ts +358 -0
  414. package/src/tests/elementService.comprehensive.test.ts +1190 -0
  415. package/src/tests/elementService.test.ts +472 -0
  416. package/src/tests/enhancedCellService.test.ts +237 -0
  417. package/src/tests/enhancedCubeService.test.ts +384 -0
  418. package/src/tests/enhancedElementService.test.ts +301 -0
  419. package/src/tests/enhancedViewService.test.ts +373 -0
  420. package/src/tests/errorHandling.test.ts +264 -0
  421. package/src/tests/exceptions.test.ts +313 -0
  422. package/src/tests/hierarchyService.test.ts +386 -0
  423. package/src/tests/index.test.ts +376 -0
  424. package/src/tests/integration.test.ts +333 -0
  425. package/src/tests/integrationTests.test.ts +302 -0
  426. package/src/tests/mdx.advanced.test.ts +513 -0
  427. package/src/tests/objects.improved.test.ts +385 -0
  428. package/src/tests/performance.test.ts +314 -0
  429. package/src/tests/processService.comprehensive.test.ts +933 -0
  430. package/src/tests/processService.test.ts +409 -0
  431. package/src/tests/restService.test.ts +218 -0
  432. package/src/tests/security.advanced.test.ts +464 -0
  433. package/src/tests/security.test.ts +233 -0
  434. package/src/tests/securityService.comprehensive.test.ts +582 -0
  435. package/src/tests/setup.ts +42 -0
  436. package/src/tests/simpleCoverage.test.ts +287 -0
  437. package/src/tests/stress.performance.test.ts +531 -0
  438. package/src/tests/subsetService.test.ts +350 -0
  439. package/src/tests/testConfig.ts +53 -0
  440. package/src/tests/testUtils.ts +94 -0
  441. package/src/tests/tm1Service.test.ts +361 -0
  442. package/src/tests/viewService.test.ts +324 -0
  443. package/src/utils/Utils.ts +395 -0
  444. package/tests/README.md +57 -0
  445. package/tests/connection/test-connection.ts +86 -0
  446. package/tests/edge-cases/edge-cases-test.ts +244 -0
  447. package/tests/integration/working-test.ts +193 -0
  448. package/tests/performance/performance-test.ts +133 -0
  449. package/tests/run-all-tests.sh +106 -0
  450. package/tests/security/security-test.ts +103 -0
  451. package/tsconfig.json +20 -0
@@ -0,0 +1,368 @@
1
+ "use strict";
2
+ /**
3
+ * CubeService Tests for tm1npm
4
+ * Comprehensive tests for TM1 Cube operations with proper mocking
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const CubeService_1 = require("../services/CubeService");
8
+ const Cube_1 = require("../objects/Cube");
9
+ const TM1Exception_1 = require("../exceptions/TM1Exception");
10
+ // Helper function to create mock AxiosResponse
11
+ const createMockResponse = (data, status = 200) => ({
12
+ data,
13
+ status,
14
+ statusText: status === 200 ? 'OK' : status === 201 ? 'Created' : status === 204 ? 'No Content' : 'Error',
15
+ headers: {},
16
+ config: {}
17
+ });
18
+ describe('CubeService Tests', () => {
19
+ let cubeService;
20
+ let mockRestService;
21
+ beforeEach(() => {
22
+ // Create comprehensive mock for RestService
23
+ mockRestService = {
24
+ get: jest.fn(),
25
+ post: jest.fn(),
26
+ patch: jest.fn(),
27
+ delete: jest.fn(),
28
+ put: jest.fn(),
29
+ config: {},
30
+ rest: {},
31
+ buildBaseUrl: jest.fn(),
32
+ extractErrorMessage: jest.fn()
33
+ };
34
+ cubeService = new CubeService_1.CubeService(mockRestService);
35
+ });
36
+ describe('Cube Retrieval Operations', () => {
37
+ test('should get all cube names', async () => {
38
+ mockRestService.get.mockResolvedValue(createMockResponse({
39
+ value: [
40
+ { Name: 'SalesCube', Dimensions: [{ Name: 'Time' }, { Name: 'Account' }] },
41
+ { Name: 'BudgetCube', Dimensions: [{ Name: 'Time' }, { Name: 'Version' }] },
42
+ { Name: 'ActualsCube', Dimensions: [{ Name: 'Time' }, { Name: 'Product' }] }
43
+ ]
44
+ }));
45
+ const cubes = await cubeService.getAll();
46
+ expect(Array.isArray(cubes)).toBe(true);
47
+ expect(cubes.length).toBe(3);
48
+ expect(cubes[0].name).toBe('SalesCube');
49
+ expect(cubes[1].name).toBe('BudgetCube');
50
+ expect(cubes[2].name).toBe('ActualsCube');
51
+ expect(mockRestService.get).toHaveBeenCalledWith("/Cubes?$expand=Dimensions($select=Name)");
52
+ console.log('✅ Cube names retrieved successfully');
53
+ });
54
+ test('should get all cubes with skip control cubes', async () => {
55
+ mockRestService.get.mockResolvedValue(createMockResponse({
56
+ value: [
57
+ { Name: 'SalesCube', Dimensions: [{ Name: 'Time' }, { Name: 'Account' }] },
58
+ { Name: 'BudgetCube', Dimensions: [{ Name: 'Time' }, { Name: 'Version' }] }
59
+ ]
60
+ }));
61
+ const cubes = await cubeService.getModelCubes(); // skip control cubes
62
+ expect(Array.isArray(cubes)).toBe(true);
63
+ expect(cubes.length).toBe(2);
64
+ expect(cubes[0].name).toBe('SalesCube');
65
+ expect(cubes[1].name).toBe('BudgetCube');
66
+ expect(mockRestService.get).toHaveBeenCalledWith("/ModelCubes()?$expand=Dimensions($select=Name)");
67
+ console.log('✅ Model cubes retrieved successfully');
68
+ });
69
+ test('should get a specific cube if it exists', async () => {
70
+ mockRestService.get.mockResolvedValueOnce(createMockResponse({
71
+ value: [{
72
+ Name: 'SalesCube',
73
+ Dimensions: [{ Name: 'Time' }, { Name: 'Product' }, { Name: 'Measure' }]
74
+ }]
75
+ }));
76
+ mockRestService.get.mockResolvedValueOnce(createMockResponse({
77
+ Name: 'SalesCube',
78
+ Dimensions: [{ Name: 'Time' }, { Name: 'Product' }, { Name: 'Measure' }]
79
+ }));
80
+ const cubes = await cubeService.getAll();
81
+ expect(cubes.length).toBe(1);
82
+ const cube = await cubeService.get('SalesCube');
83
+ expect(cube).toBeDefined();
84
+ expect(cube.name).toBe('SalesCube');
85
+ expect(cube.dimensions.length).toBe(3);
86
+ console.log('✅ Specific cube retrieved successfully');
87
+ });
88
+ test('should check if a cube exists', async () => {
89
+ // Test existing cube by trying to get it
90
+ mockRestService.get.mockResolvedValue(createMockResponse({
91
+ Name: 'SalesCube',
92
+ Dimensions: [{ Name: 'Time' }, { Name: 'Account' }]
93
+ }));
94
+ try {
95
+ const cube = await cubeService.get('SalesCube');
96
+ expect(cube).toBeDefined();
97
+ expect(cube.name).toBe('SalesCube');
98
+ console.log('✅ Cube existence check working via get method');
99
+ }
100
+ catch (error) {
101
+ fail('Cube should exist');
102
+ }
103
+ });
104
+ test('should check if a cube does not exist', async () => {
105
+ // Test non-existing cube by checking for 404 error
106
+ const mockError = new TM1Exception_1.TM1RestException('Cube not found', 404, { status: 404 });
107
+ mockRestService.get.mockRejectedValue(mockError);
108
+ try {
109
+ await cubeService.get('NonExistentCube');
110
+ fail('Should have thrown an error for non-existent cube');
111
+ }
112
+ catch (error) {
113
+ expect(error).toBeInstanceOf(TM1Exception_1.TM1RestException);
114
+ expect(error.status).toBe(404);
115
+ console.log('✅ Cube non-existence check working via error handling');
116
+ }
117
+ });
118
+ });
119
+ describe('Cube Dimension Operations', () => {
120
+ test('should get dimensions for existing cubes', async () => {
121
+ mockRestService.get.mockResolvedValue(createMockResponse({
122
+ value: [
123
+ {
124
+ Name: 'SalesCube',
125
+ Dimensions: [
126
+ { Name: 'Time' },
127
+ { Name: 'Product' },
128
+ { Name: 'Measure' }
129
+ ]
130
+ }
131
+ ]
132
+ }));
133
+ const cubes = await cubeService.getModelCubes();
134
+ expect(cubes[0].dimensions).toBeDefined();
135
+ expect(cubes[0].dimensions.length).toBe(3);
136
+ expect(cubes[0].dimensions[0]).toBe('Time');
137
+ console.log('✅ Cube dimensions retrieved successfully');
138
+ });
139
+ test('should get dimension names for cube', async () => {
140
+ mockRestService.get.mockResolvedValue(createMockResponse({
141
+ Name: 'SalesCube',
142
+ Dimensions: [
143
+ { Name: 'Time' },
144
+ { Name: 'Product' },
145
+ { Name: 'Account' },
146
+ { Name: 'Measure' }
147
+ ]
148
+ }));
149
+ const cube = await cubeService.get('SalesCube');
150
+ expect(cube.dimensions.includes('Time')).toBe(true);
151
+ expect(cube.dimensions.includes('Product')).toBe(true);
152
+ expect(cube.dimensions.includes('Account')).toBe(true);
153
+ expect(cube.dimensions.includes('Measure')).toBe(true);
154
+ console.log('✅ Dimension names for cube working');
155
+ });
156
+ test('should get measure dimension for cube', async () => {
157
+ mockRestService.get.mockResolvedValue(createMockResponse({
158
+ Name: 'SalesCube',
159
+ Dimensions: [
160
+ { Name: 'Time' },
161
+ { Name: 'Product' },
162
+ { Name: 'Measure' }
163
+ ]
164
+ }));
165
+ const measureDimension = await cubeService.getMeasureDimension('SalesCube');
166
+ expect(measureDimension).toBe('Measure');
167
+ console.log('✅ Measure dimension retrieval working');
168
+ });
169
+ });
170
+ describe('Cube Data Operations', () => {
171
+ test('should handle cube cell operations', async () => {
172
+ // Mock cube retrieval for context
173
+ mockRestService.get.mockResolvedValue(createMockResponse({
174
+ Name: 'SalesCube',
175
+ Dimensions: [{ Name: 'Time' }, { Name: 'Account' }, { Name: 'Measure' }]
176
+ }));
177
+ const cube = await cubeService.get('SalesCube');
178
+ expect(cube.name).toBe('SalesCube');
179
+ expect(cube.dimensions.length).toBe(3);
180
+ // CellService operations would be tested separately
181
+ console.log('✅ Cube cell operations context working');
182
+ });
183
+ test('should get cube size information', async () => {
184
+ // Mock cube count
185
+ mockRestService.get.mockResolvedValue(createMockResponse('25'));
186
+ const cubeCount = await cubeService.getNumberOfCubes();
187
+ expect(typeof cubeCount).toBe('number');
188
+ expect(cubeCount).toBe(25);
189
+ console.log('✅ Cube size information working');
190
+ });
191
+ test('should get model cubes count', async () => {
192
+ // Mock model cubes count
193
+ mockRestService.get.mockResolvedValue(createMockResponse({
194
+ '@odata.count': '15'
195
+ }));
196
+ const modelCubeCount = await cubeService.getNumberOfCubes(true);
197
+ expect(typeof modelCubeCount).toBe('number');
198
+ expect(modelCubeCount).toBe(15);
199
+ console.log('✅ Model cubes count working');
200
+ });
201
+ });
202
+ describe('Cube Rule Operations', () => {
203
+ test('should handle cube rules retrieval', async () => {
204
+ // Mock cube with rules context
205
+ mockRestService.get.mockResolvedValue(createMockResponse({
206
+ Name: 'SalesCube',
207
+ Dimensions: [{ Name: 'Time' }, { Name: 'Account' }, { Name: 'Measure' }]
208
+ }));
209
+ const cube = await cubeService.get('SalesCube');
210
+ expect(cube.name).toBe('SalesCube');
211
+ expect(cube.hasRules).toBeDefined(); // Rules are handled by the Cube object
212
+ console.log('✅ Cube rules context working');
213
+ });
214
+ });
215
+ describe('Cube Error Handling', () => {
216
+ test('should handle invalid cube names gracefully', async () => {
217
+ mockRestService.get.mockRejectedValue({
218
+ response: { status: 400, statusText: 'Bad Request' }
219
+ });
220
+ await expect(cubeService.get('')).rejects.toMatchObject({
221
+ response: { status: 400 }
222
+ });
223
+ console.log('✅ Invalid cube names handled gracefully');
224
+ });
225
+ test('should handle network errors gracefully', async () => {
226
+ mockRestService.get.mockRejectedValue({
227
+ code: 'ECONNREFUSED'
228
+ });
229
+ await expect(cubeService.getAll()).rejects.toMatchObject({
230
+ code: 'ECONNREFUSED'
231
+ });
232
+ console.log('✅ Network errors handled gracefully');
233
+ });
234
+ test('should handle authentication errors', async () => {
235
+ mockRestService.get.mockRejectedValue({
236
+ response: { status: 401, statusText: 'Unauthorized' }
237
+ });
238
+ await expect(cubeService.getAll()).rejects.toMatchObject({
239
+ response: { status: 401 }
240
+ });
241
+ console.log('✅ Authentication errors handled gracefully');
242
+ });
243
+ });
244
+ describe('Cube Service Edge Cases', () => {
245
+ test('should handle empty cube lists', async () => {
246
+ mockRestService.get.mockResolvedValue(createMockResponse({
247
+ value: []
248
+ }));
249
+ const cubes = await cubeService.getAll();
250
+ expect(Array.isArray(cubes)).toBe(true);
251
+ expect(cubes.length).toBe(0);
252
+ console.log('✅ Empty cube lists handled correctly');
253
+ });
254
+ test('should handle concurrent cube operations', async () => {
255
+ mockRestService.get.mockResolvedValue(createMockResponse({
256
+ value: [{ Name: 'TestCube', Dimensions: [{ Name: 'Time' }] }]
257
+ }));
258
+ const operations = [
259
+ cubeService.getAll(),
260
+ cubeService.getAll(),
261
+ cubeService.getAll()
262
+ ];
263
+ const results = await Promise.allSettled(operations);
264
+ const successful = results.filter(r => r.status === 'fulfilled');
265
+ expect(successful.length).toBe(3);
266
+ console.log('✅ Concurrent operations handled successfully');
267
+ });
268
+ test('should handle large cube lists efficiently', async () => {
269
+ const largeCubeList = Array(1000).fill(null).map((_, i) => ({
270
+ Name: `Cube${i}`,
271
+ Dimensions: [{ Name: 'Time' }, { Name: 'Account' }]
272
+ }));
273
+ mockRestService.get.mockResolvedValue(createMockResponse({
274
+ value: largeCubeList
275
+ }));
276
+ const startTime = Date.now();
277
+ const cubes = await cubeService.getAll();
278
+ const endTime = Date.now();
279
+ expect(cubes.length).toBe(1000);
280
+ expect(endTime - startTime).toBeLessThan(1000); // Should be fast with mocking
281
+ console.log('✅ Large cube lists handled efficiently');
282
+ });
283
+ });
284
+ describe('Cube Service Integration', () => {
285
+ test('should maintain consistent data across operations', async () => {
286
+ const cubeData = {
287
+ value: [
288
+ { Name: 'SalesCube', Dimensions: [{ Name: 'Time' }] },
289
+ { Name: 'BudgetCube', Dimensions: [{ Name: 'Version' }] }
290
+ ]
291
+ };
292
+ mockRestService.get.mockResolvedValue(createMockResponse(cubeData));
293
+ const cubes1 = await cubeService.getAll();
294
+ const cubes2 = await cubeService.getAll();
295
+ expect(cubes1.length).toEqual(cubes2.length);
296
+ expect(cubes1[0].name).toEqual(cubes2[0].name);
297
+ expect(cubes1[1].name).toEqual(cubes2[1].name);
298
+ console.log('✅ Data consistency maintained across operations');
299
+ });
300
+ test('should handle cube dimension consistency', async () => {
301
+ const salesCube = {
302
+ Name: 'SalesCube',
303
+ Dimensions: [
304
+ { Name: 'Time' },
305
+ { Name: 'Product' },
306
+ { Name: 'Measure' }
307
+ ]
308
+ };
309
+ mockRestService.get.mockResolvedValueOnce(createMockResponse({
310
+ value: [{
311
+ Name: 'SalesCube',
312
+ Dimensions: [
313
+ { Name: 'Time' },
314
+ { Name: 'Product' },
315
+ { Name: 'Measure' }
316
+ ]
317
+ }]
318
+ }));
319
+ mockRestService.get.mockResolvedValueOnce(createMockResponse(salesCube));
320
+ const cubes = await cubeService.getModelCubes();
321
+ expect(cubes.length).toBe(1);
322
+ const cube = await cubeService.get('SalesCube');
323
+ expect(cube.dimensions.length).toBe(3);
324
+ expect(cube.dimensions[2]).toBe('Measure'); // Last dimension is measure
325
+ console.log('✅ Cube dimension consistency maintained');
326
+ });
327
+ });
328
+ describe('Cube View Operations', () => {
329
+ test('should handle cube view operations', async () => {
330
+ // Mock cube context for view operations
331
+ mockRestService.get.mockResolvedValue(createMockResponse({
332
+ value: [{
333
+ Name: 'SalesCube',
334
+ Dimensions: [
335
+ { Name: 'Time' },
336
+ { Name: 'Product' },
337
+ { Name: 'Measure' }
338
+ ]
339
+ }]
340
+ }));
341
+ const cubes = await cubeService.getModelCubes();
342
+ expect(cubes[0].name).toBe('SalesCube');
343
+ expect(cubes[0].dimensions.length).toBe(3);
344
+ // ViewService operations would be tested separately through cubeService.views
345
+ expect(cubeService.views).toBeDefined();
346
+ console.log('✅ Cube view operations context working');
347
+ });
348
+ });
349
+ describe('Cube CRUD Operations', () => {
350
+ test('should handle cube creation lifecycle', async () => {
351
+ const testCube = new Cube_1.Cube('TestCube', ['Time', 'Account', 'Measure']);
352
+ // Mock cube creation
353
+ mockRestService.post.mockResolvedValue(createMockResponse({}, 201));
354
+ const createResult = await cubeService.create(testCube);
355
+ expect(createResult.status).toBe(201);
356
+ // Mock cube retrieval after creation to verify it exists
357
+ mockRestService.get.mockResolvedValueOnce(createMockResponse({
358
+ Name: 'TestCube',
359
+ Dimensions: [{ Name: 'Time' }, { Name: 'Account' }, { Name: 'Measure' }]
360
+ }));
361
+ const retrievedCube = await cubeService.get('TestCube');
362
+ expect(retrievedCube.name).toBe('TestCube');
363
+ expect(retrievedCube.dimensions.length).toBe(3);
364
+ console.log('✅ Cube creation lifecycle handled successfully');
365
+ });
366
+ });
367
+ });
368
+ //# sourceMappingURL=cubeService.test.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Comprehensive DimensionService Tests
3
+ * Target: Achieve 80%+ coverage for DimensionService (currently 45%)
4
+ * Testing all dimension operations including CRUD, hierarchy management, and service integration
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=dimensionService.comprehensive.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimensionService.comprehensive.test.d.ts","sourceRoot":"","sources":["../../src/tests/dimensionService.comprehensive.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}