@credibledata/cred-cli 0.0.103 → 0.0.105

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 (430) hide show
  1. package/README.md +106 -1
  2. package/dist/agent-contract.spec.js +548 -0
  3. package/dist/agent-contract.spec.js.map +1 -0
  4. package/dist/browser.js +72 -0
  5. package/dist/browser.js.map +1 -0
  6. package/dist/browser.spec.js +125 -0
  7. package/dist/browser.spec.js.map +1 -0
  8. package/dist/client/api.js +4137 -1159
  9. package/dist/client/api.js.map +1 -1
  10. package/dist/client-codeassist/api.js +476 -0
  11. package/dist/client-codeassist/api.js.map +1 -0
  12. package/dist/client-codeassist/base.js +69 -0
  13. package/dist/client-codeassist/base.js.map +1 -0
  14. package/dist/client-codeassist/common.js +162 -0
  15. package/dist/client-codeassist/common.js.map +1 -0
  16. package/dist/client-codeassist/configuration.js +44 -0
  17. package/dist/client-codeassist/configuration.js.map +1 -0
  18. package/dist/client-codeassist/index.js +32 -0
  19. package/dist/client-codeassist/index.js.map +1 -0
  20. package/dist/clientconfiguration.js +17 -289
  21. package/dist/clientconfiguration.js.map +1 -1
  22. package/dist/clientconfiguration.spec.js +35 -96
  23. package/dist/clientconfiguration.spec.js.map +1 -1
  24. package/dist/commands/add.js +103 -3
  25. package/dist/commands/add.js.map +1 -1
  26. package/dist/commands/add.spec.js +113 -0
  27. package/dist/commands/add.spec.js.map +1 -0
  28. package/dist/commands/connection/createconnections.js +104 -7
  29. package/dist/commands/connection/createconnections.js.map +1 -1
  30. package/dist/commands/connection/createconnections.spec.js +35 -1
  31. package/dist/commands/connection/createconnections.spec.js.map +1 -1
  32. package/dist/commands/connection/deleteconnection.js +4 -2
  33. package/dist/commands/connection/deleteconnection.js.map +1 -1
  34. package/dist/commands/connection/deleteconnection.spec.js +6 -1
  35. package/dist/commands/connection/deleteconnection.spec.js.map +1 -1
  36. package/dist/commands/connection/listconnections.js +2 -0
  37. package/dist/commands/connection/listconnections.js.map +1 -1
  38. package/dist/commands/connection/updateconnection.js +365 -0
  39. package/dist/commands/connection/updateconnection.js.map +1 -0
  40. package/dist/commands/connection/updateconnection.spec.js +625 -0
  41. package/dist/commands/connection/updateconnection.spec.js.map +1 -0
  42. package/dist/commands/database/createdatabase.js +52 -0
  43. package/dist/commands/database/createdatabase.js.map +1 -0
  44. package/dist/commands/database/database.spec.js +267 -0
  45. package/dist/commands/database/database.spec.js.map +1 -0
  46. package/dist/commands/database/deletedatabase.js +91 -0
  47. package/dist/commands/database/deletedatabase.js.map +1 -0
  48. package/dist/commands/database/getdatabase.js +97 -0
  49. package/dist/commands/database/getdatabase.js.map +1 -0
  50. package/dist/commands/database/listdatabases.js +36 -0
  51. package/dist/commands/database/listdatabases.js.map +1 -0
  52. package/dist/commands/database/shared.js +125 -0
  53. package/dist/commands/database/shared.js.map +1 -0
  54. package/dist/commands/database/shared.spec.js +109 -0
  55. package/dist/commands/database/shared.spec.js.map +1 -0
  56. package/dist/commands/database/updatedatabase.js +39 -0
  57. package/dist/commands/database/updatedatabase.js.map +1 -0
  58. package/dist/commands/environment/createenvironment.js +59 -28
  59. package/dist/commands/environment/createenvironment.js.map +1 -1
  60. package/dist/commands/environment/createenvironment.spec.js +29 -0
  61. package/dist/commands/environment/createenvironment.spec.js.map +1 -1
  62. package/dist/commands/environment/deleteenvironment.js +3 -2
  63. package/dist/commands/environment/deleteenvironment.js.map +1 -1
  64. package/dist/commands/environment/deleteenvironment.spec.js +5 -1
  65. package/dist/commands/environment/deleteenvironment.spec.js.map +1 -1
  66. package/dist/commands/environment/getenvironment.js +1 -0
  67. package/dist/commands/environment/getenvironment.js.map +1 -1
  68. package/dist/commands/environment/listenvironments.js +40 -8
  69. package/dist/commands/environment/listenvironments.js.map +1 -1
  70. package/dist/commands/environment/listenvironments.spec.js +41 -2
  71. package/dist/commands/environment/listenvironments.spec.js.map +1 -1
  72. package/dist/commands/environment/setenvironment.js +145 -6
  73. package/dist/commands/environment/setenvironment.js.map +1 -1
  74. package/dist/commands/environment/setenvironment.spec.js +256 -8
  75. package/dist/commands/environment/setenvironment.spec.js.map +1 -1
  76. package/dist/commands/environment/updateenvironment.js +12 -8
  77. package/dist/commands/environment/updateenvironment.js.map +1 -1
  78. package/dist/commands/environment/updateenvironment.spec.js +36 -2
  79. package/dist/commands/environment/updateenvironment.spec.js.map +1 -1
  80. package/dist/commands/get.js +64 -1
  81. package/dist/commands/get.js.map +1 -1
  82. package/dist/commands/group/addmember.js +3 -1
  83. package/dist/commands/group/addmember.js.map +1 -1
  84. package/dist/commands/group/addmember.spec.js +7 -2
  85. package/dist/commands/group/addmember.spec.js.map +1 -1
  86. package/dist/commands/group/creategroup.js +2 -0
  87. package/dist/commands/group/creategroup.js.map +1 -1
  88. package/dist/commands/group/deletegroup.js +3 -1
  89. package/dist/commands/group/deletegroup.js.map +1 -1
  90. package/dist/commands/group/deletegroup.spec.js +7 -1
  91. package/dist/commands/group/deletegroup.spec.js.map +1 -1
  92. package/dist/commands/group/getgroup.js +2 -0
  93. package/dist/commands/group/getgroup.js.map +1 -1
  94. package/dist/commands/group/listgroups.js +2 -0
  95. package/dist/commands/group/listgroups.js.map +1 -1
  96. package/dist/commands/group/removemember.js +3 -1
  97. package/dist/commands/group/removemember.js.map +1 -1
  98. package/dist/commands/group/removemember.spec.js +7 -2
  99. package/dist/commands/group/removemember.spec.js.map +1 -1
  100. package/dist/commands/groupaccesstoken/deleteToken.js +2 -1
  101. package/dist/commands/groupaccesstoken/deleteToken.js.map +1 -1
  102. package/dist/commands/groupaccesstoken/groupContainer.js +2 -0
  103. package/dist/commands/groupaccesstoken/groupContainer.js.map +1 -1
  104. package/dist/commands/list.js +24 -4
  105. package/dist/commands/list.js.map +1 -1
  106. package/dist/commands/materialization/cancelrun.js +3 -1
  107. package/dist/commands/materialization/cancelrun.js.map +1 -1
  108. package/dist/commands/materialization/getindex.js +2 -0
  109. package/dist/commands/materialization/getindex.js.map +1 -1
  110. package/dist/commands/materialization/getmaterialization.js +2 -0
  111. package/dist/commands/materialization/getmaterialization.js.map +1 -1
  112. package/dist/commands/materialization/getpreaggregate.js +2 -0
  113. package/dist/commands/materialization/getpreaggregate.js.map +1 -1
  114. package/dist/commands/materialization/getrun.js +2 -0
  115. package/dist/commands/materialization/getrun.js.map +1 -1
  116. package/dist/commands/materialization/listindexes.js +2 -0
  117. package/dist/commands/materialization/listindexes.js.map +1 -1
  118. package/dist/commands/materialization/listmaterializations.js +2 -0
  119. package/dist/commands/materialization/listmaterializations.js.map +1 -1
  120. package/dist/commands/materialization/listpreaggregates.js +2 -0
  121. package/dist/commands/materialization/listpreaggregates.js.map +1 -1
  122. package/dist/commands/materialization/listruns.js +3 -1
  123. package/dist/commands/materialization/listruns.js.map +1 -1
  124. package/dist/commands/materialization/rerun.js +3 -1
  125. package/dist/commands/materialization/rerun.js.map +1 -1
  126. package/dist/commands/misc/inquirerHost.js +87 -0
  127. package/dist/commands/misc/inquirerHost.js.map +1 -0
  128. package/dist/commands/misc/inquirerHost.spec.js +91 -0
  129. package/dist/commands/misc/inquirerHost.spec.js.map +1 -0
  130. package/dist/commands/misc/login.js +348 -58
  131. package/dist/commands/misc/login.js.map +1 -1
  132. package/dist/commands/misc/login.spec.js +525 -7
  133. package/dist/commands/misc/login.spec.js.map +1 -1
  134. package/dist/commands/misc/logout.js +26 -3
  135. package/dist/commands/misc/logout.js.map +1 -1
  136. package/dist/commands/misc/logout.spec.js +52 -12
  137. package/dist/commands/misc/logout.spec.js.map +1 -1
  138. package/dist/commands/misc/resolveLoginTarget.spec.js +90 -0
  139. package/dist/commands/misc/resolveLoginTarget.spec.js.map +1 -0
  140. package/dist/commands/misc/scope.spec.js +108 -0
  141. package/dist/commands/misc/scope.spec.js.map +1 -0
  142. package/dist/commands/misc/set-access-token.js +1 -1
  143. package/dist/commands/misc/set-access-token.js.map +1 -1
  144. package/dist/commands/misc/set-access-token.spec.js +13 -2
  145. package/dist/commands/misc/set-access-token.spec.js.map +1 -1
  146. package/dist/commands/misc/setup.js +819 -0
  147. package/dist/commands/misc/setup.js.map +1 -0
  148. package/dist/commands/misc/setup.spec.js +783 -0
  149. package/dist/commands/misc/setup.spec.js.map +1 -0
  150. package/dist/commands/misc/status.js +168 -0
  151. package/dist/commands/misc/status.js.map +1 -0
  152. package/dist/commands/misc/status.spec.js +301 -0
  153. package/dist/commands/misc/status.spec.js.map +1 -0
  154. package/dist/commands/misc/token.js +57 -0
  155. package/dist/commands/misc/token.js.map +1 -0
  156. package/dist/commands/misc/token.spec.js +92 -0
  157. package/dist/commands/misc/token.spec.js.map +1 -0
  158. package/dist/commands/package/deletepackage.js +4 -2
  159. package/dist/commands/package/deletepackage.js.map +1 -1
  160. package/dist/commands/package/deletepackage.spec.js +7 -1
  161. package/dist/commands/package/deletepackage.spec.js.map +1 -1
  162. package/dist/commands/package/getpackage.js +142 -0
  163. package/dist/commands/package/getpackage.js.map +1 -0
  164. package/dist/commands/package/getpackage.spec.js +246 -0
  165. package/dist/commands/package/getpackage.spec.js.map +1 -0
  166. package/dist/commands/package/listpackages.js +2 -0
  167. package/dist/commands/package/listpackages.js.map +1 -1
  168. package/dist/commands/package/publish.archive.spec.js +570 -0
  169. package/dist/commands/package/publish.archive.spec.js.map +1 -0
  170. package/dist/commands/package/publish.js +780 -49
  171. package/dist/commands/package/publish.js.map +1 -1
  172. package/dist/commands/package/publish.spec.js +451 -8
  173. package/dist/commands/package/publish.spec.js.map +1 -1
  174. package/dist/commands/package/updatepackage.js +22 -19
  175. package/dist/commands/package/updatepackage.js.map +1 -1
  176. package/dist/commands/package/updatepackage.spec.js +36 -1
  177. package/dist/commands/package/updatepackage.spec.js.map +1 -1
  178. package/dist/commands/permission/createpermission.js +3 -1
  179. package/dist/commands/permission/createpermission.js.map +1 -1
  180. package/dist/commands/permission/deletepermission.js +6 -3
  181. package/dist/commands/permission/deletepermission.js.map +1 -1
  182. package/dist/commands/permission/getpermission.js +2 -0
  183. package/dist/commands/permission/getpermission.js.map +1 -1
  184. package/dist/commands/permission/listpermissions.js +2 -0
  185. package/dist/commands/permission/listpermissions.js.map +1 -1
  186. package/dist/commands/rm.js +21 -0
  187. package/dist/commands/rm.js.map +1 -1
  188. package/dist/commands/set.js +40 -6
  189. package/dist/commands/set.js.map +1 -1
  190. package/dist/commands/set.spec.js +123 -0
  191. package/dist/commands/set.spec.js.map +1 -0
  192. package/dist/commands/table/addtable.js +155 -0
  193. package/dist/commands/table/addtable.js.map +1 -0
  194. package/dist/commands/table/deletetable.js +45 -0
  195. package/dist/commands/table/deletetable.js.map +1 -0
  196. package/dist/commands/table/gettable.js +32 -0
  197. package/dist/commands/table/gettable.js.map +1 -0
  198. package/dist/commands/table/listtables.js +36 -0
  199. package/dist/commands/table/listtables.js.map +1 -0
  200. package/dist/commands/table/table.spec.js +304 -0
  201. package/dist/commands/table/table.spec.js.map +1 -0
  202. package/dist/commands/table/tablefile.js +195 -0
  203. package/dist/commands/table/tablefile.js.map +1 -0
  204. package/dist/commands/table/tablefile.spec.js +158 -0
  205. package/dist/commands/table/tablefile.spec.js.map +1 -0
  206. package/dist/commands/update.js +21 -0
  207. package/dist/commands/update.js.map +1 -1
  208. package/dist/commands/version/archive-unarchive-version.js +4 -2
  209. package/dist/commands/version/archive-unarchive-version.js.map +1 -1
  210. package/dist/commands/version/archive-unarchive-version.spec.js +6 -1
  211. package/dist/commands/version/archive-unarchive-version.spec.js.map +1 -1
  212. package/dist/commands/version/listversions.js +2 -0
  213. package/dist/commands/version/listversions.js.map +1 -1
  214. package/dist/common/UserGroupId.js +9 -4
  215. package/dist/common/UserGroupId.js.map +1 -1
  216. package/dist/common/UserGroupId.spec.js +5 -0
  217. package/dist/common/UserGroupId.spec.js.map +1 -1
  218. package/dist/constants.js +37 -143
  219. package/dist/constants.js.map +1 -1
  220. package/dist/index.js +487 -90
  221. package/dist/index.js.map +1 -1
  222. package/dist/logger.js +42 -9
  223. package/dist/logger.js.map +1 -1
  224. package/dist/session.js +56 -0
  225. package/dist/session.js.map +1 -0
  226. package/dist/session.spec.js +103 -0
  227. package/dist/session.spec.js.map +1 -0
  228. package/dist/setup-core/briefing.js +176 -0
  229. package/dist/setup-core/briefing.js.map +1 -0
  230. package/dist/setup-core/credstore.js +415 -0
  231. package/dist/setup-core/credstore.js.map +1 -0
  232. package/dist/setup-core/credstore.spec.js +238 -0
  233. package/dist/setup-core/credstore.spec.js.map +1 -0
  234. package/dist/setup-core/environments.js +267 -0
  235. package/dist/setup-core/environments.js.map +1 -0
  236. package/dist/setup-core/flow.e2e.js +165 -0
  237. package/dist/setup-core/flow.e2e.js.map +1 -0
  238. package/dist/setup-core/flow.js +765 -0
  239. package/dist/setup-core/flow.js.map +1 -0
  240. package/dist/setup-core/flow.spec.js +1348 -0
  241. package/dist/setup-core/flow.spec.js.map +1 -0
  242. package/dist/setup-core/folderconfig.js +283 -0
  243. package/dist/setup-core/folderconfig.js.map +1 -0
  244. package/dist/setup-core/git.js +97 -0
  245. package/dist/setup-core/git.js.map +1 -0
  246. package/dist/setup-core/host.js +77 -0
  247. package/dist/setup-core/host.js.map +1 -0
  248. package/dist/setup-core/importconnections.js +470 -0
  249. package/dist/setup-core/importconnections.js.map +1 -0
  250. package/dist/setup-core/importconnections.spec.js +594 -0
  251. package/dist/setup-core/importconnections.spec.js.map +1 -0
  252. package/dist/setup-core/liveness.js +94 -0
  253. package/dist/setup-core/liveness.js.map +1 -0
  254. package/dist/setup-core/liveness.spec.js +59 -0
  255. package/dist/setup-core/liveness.spec.js.map +1 -0
  256. package/dist/setup-core/localpublisherconfig.js +26 -0
  257. package/dist/setup-core/localpublisherconfig.js.map +1 -0
  258. package/dist/setup-core/localpublisherconfig.spec.js +29 -0
  259. package/dist/setup-core/localpublisherconfig.spec.js.map +1 -0
  260. package/dist/setup-core/mcpconfig.js +198 -0
  261. package/dist/setup-core/mcpconfig.js.map +1 -0
  262. package/dist/setup-core/mcpconfig.spec.js +205 -0
  263. package/dist/setup-core/mcpconfig.spec.js.map +1 -0
  264. package/dist/setup-core/packagemanifest.js +55 -0
  265. package/dist/setup-core/packagemanifest.js.map +1 -0
  266. package/dist/setup-core/ports.js +182 -0
  267. package/dist/setup-core/ports.js.map +1 -0
  268. package/dist/setup-core/ports.spec.js +173 -0
  269. package/dist/setup-core/ports.spec.js.map +1 -0
  270. package/dist/setup-core/publisherconfig.js +268 -0
  271. package/dist/setup-core/publisherconfig.js.map +1 -0
  272. package/dist/setup-core/publisherconfig.oracle.js +166 -0
  273. package/dist/setup-core/publisherconfig.oracle.js.map +1 -0
  274. package/dist/setup-core/publisherconfig.spec.js +277 -0
  275. package/dist/setup-core/publisherconfig.spec.js.map +1 -0
  276. package/dist/setup-core/publisherversion.js +26 -0
  277. package/dist/setup-core/publisherversion.js.map +1 -0
  278. package/dist/setup-core/readiness.spec.js +161 -0
  279. package/dist/setup-core/readiness.spec.js.map +1 -0
  280. package/dist/setup-core/readylines.js +169 -0
  281. package/dist/setup-core/readylines.js.map +1 -0
  282. package/dist/setup-core/readylines.spec.js +70 -0
  283. package/dist/setup-core/readylines.spec.js.map +1 -0
  284. package/dist/setup-core/refresh.js +348 -0
  285. package/dist/setup-core/refresh.js.map +1 -0
  286. package/dist/setup-core/refresh.spec.js +501 -0
  287. package/dist/setup-core/refresh.spec.js.map +1 -0
  288. package/dist/setup-core/skills.js +279 -0
  289. package/dist/setup-core/skills.js.map +1 -0
  290. package/dist/setup-core/skills.spec.js +334 -0
  291. package/dist/setup-core/skills.spec.js.map +1 -0
  292. package/dist/setup-core/supervisor.js +879 -0
  293. package/dist/setup-core/supervisor.js.map +1 -0
  294. package/dist/setup-core/supervisor.spec.js +833 -0
  295. package/dist/setup-core/supervisor.spec.js.map +1 -0
  296. package/dist/setup-core/writefile.js +61 -0
  297. package/dist/setup-core/writefile.js.map +1 -0
  298. package/dist/setup-core/writefile.spec.js +68 -0
  299. package/dist/setup-core/writefile.spec.js.map +1 -0
  300. package/dist/utils.js +409 -3
  301. package/dist/utils.js.map +1 -1
  302. package/dist/utils.spec.js +373 -2
  303. package/dist/utils.spec.js.map +1 -1
  304. package/dist/versioncheck-refresh.js +18 -0
  305. package/dist/versioncheck-refresh.js.map +1 -0
  306. package/dist/versioncheck.js +324 -0
  307. package/dist/versioncheck.js.map +1 -0
  308. package/dist/versioncheck.spec.js +587 -0
  309. package/dist/versioncheck.spec.js.map +1 -0
  310. package/node_modules/@credibledata/cli-auth/dist/index.d.ts +86 -0
  311. package/node_modules/@credibledata/cli-auth/dist/index.js +102 -0
  312. package/node_modules/@credibledata/cli-auth/package.json +19 -0
  313. package/package.json +18 -6
  314. package/.github/workflows/build.yml +0 -23
  315. package/.mocharc.json +0 -10
  316. package/.prettierignore +0 -2
  317. package/.prettierrc +0 -4
  318. package/README-DEV.md +0 -40
  319. package/coverage/coverage-summary.json +0 -40
  320. package/coverage/tmp/coverage-2152-1789496974457-0.json +0 -1
  321. package/coverage/tmp/coverage-2153-1789496954404-0.json +0 -1
  322. package/docker/Dockerfile.ci +0 -18
  323. package/docker-compose.yml +0 -18
  324. package/eslint.config.mjs +0 -45
  325. package/generate-client.sh +0 -27
  326. package/mocha.setup.ts +0 -4
  327. package/openapitools.json +0 -10
  328. package/src/client/.openapi-generator/FILES +0 -9
  329. package/src/client/.openapi-generator/VERSION +0 -1
  330. package/src/client/.openapi-generator-ignore +0 -23
  331. package/src/client/api.ts +0 -15999
  332. package/src/client/base.ts +0 -86
  333. package/src/client/common.ts +0 -150
  334. package/src/client/configuration.ts +0 -110
  335. package/src/client/git_push.sh +0 -57
  336. package/src/client/index.ts +0 -18
  337. package/src/clientconfiguration.spec.ts +0 -615
  338. package/src/clientconfiguration.ts +0 -364
  339. package/src/commands/add.ts +0 -191
  340. package/src/commands/connection/createconnections.spec.ts +0 -413
  341. package/src/commands/connection/createconnections.ts +0 -109
  342. package/src/commands/connection/deleteconnection.spec.ts +0 -189
  343. package/src/commands/connection/deleteconnection.ts +0 -57
  344. package/src/commands/connection/listconnections.spec.ts +0 -132
  345. package/src/commands/connection/listconnections.ts +0 -58
  346. package/src/commands/environment/createenvironment.spec.ts +0 -249
  347. package/src/commands/environment/createenvironment.ts +0 -73
  348. package/src/commands/environment/deleteenvironment.spec.ts +0 -152
  349. package/src/commands/environment/deleteenvironment.ts +0 -48
  350. package/src/commands/environment/getenvironment.spec.ts +0 -110
  351. package/src/commands/environment/getenvironment.ts +0 -43
  352. package/src/commands/environment/listenvironments.spec.ts +0 -123
  353. package/src/commands/environment/listenvironments.ts +0 -67
  354. package/src/commands/environment/setenvironment.spec.ts +0 -63
  355. package/src/commands/environment/setenvironment.ts +0 -14
  356. package/src/commands/environment/updateenvironment.spec.ts +0 -386
  357. package/src/commands/environment/updateenvironment.ts +0 -168
  358. package/src/commands/get.ts +0 -153
  359. package/src/commands/group/addmember.spec.ts +0 -257
  360. package/src/commands/group/addmember.ts +0 -85
  361. package/src/commands/group/creategroup.spec.ts +0 -146
  362. package/src/commands/group/creategroup.ts +0 -54
  363. package/src/commands/group/deletegroup.spec.ts +0 -120
  364. package/src/commands/group/deletegroup.ts +0 -45
  365. package/src/commands/group/getgroup.spec.ts +0 -129
  366. package/src/commands/group/getgroup.ts +0 -47
  367. package/src/commands/group/listgroups.spec.ts +0 -137
  368. package/src/commands/group/listgroups.ts +0 -45
  369. package/src/commands/group/removemember.spec.ts +0 -224
  370. package/src/commands/group/removemember.ts +0 -75
  371. package/src/commands/groupaccesstoken/createToken.spec.ts +0 -211
  372. package/src/commands/groupaccesstoken/createToken.ts +0 -72
  373. package/src/commands/groupaccesstoken/deleteToken.spec.ts +0 -147
  374. package/src/commands/groupaccesstoken/deleteToken.ts +0 -29
  375. package/src/commands/groupaccesstoken/groupContainer.ts +0 -83
  376. package/src/commands/groupaccesstoken/listTokens.spec.ts +0 -147
  377. package/src/commands/groupaccesstoken/listTokens.ts +0 -29
  378. package/src/commands/legacy.ts +0 -5
  379. package/src/commands/list.ts +0 -326
  380. package/src/commands/materialization/cancelrun.ts +0 -70
  381. package/src/commands/materialization/getindex.ts +0 -55
  382. package/src/commands/materialization/getmaterialization.ts +0 -57
  383. package/src/commands/materialization/getpreaggregate.ts +0 -58
  384. package/src/commands/materialization/getrun.ts +0 -55
  385. package/src/commands/materialization/listindexes.ts +0 -69
  386. package/src/commands/materialization/listmaterializations.ts +0 -53
  387. package/src/commands/materialization/listpreaggregates.ts +0 -74
  388. package/src/commands/materialization/listruns.ts +0 -77
  389. package/src/commands/materialization/rerun.ts +0 -123
  390. package/src/commands/misc/login.spec.ts +0 -371
  391. package/src/commands/misc/login.ts +0 -343
  392. package/src/commands/misc/logout.spec.ts +0 -32
  393. package/src/commands/misc/logout.ts +0 -9
  394. package/src/commands/misc/loopbackOAuth.ts +0 -127
  395. package/src/commands/misc/set-access-token.spec.ts +0 -95
  396. package/src/commands/misc/set-access-token.ts +0 -32
  397. package/src/commands/package/deletepackage.spec.ts +0 -164
  398. package/src/commands/package/deletepackage.ts +0 -58
  399. package/src/commands/package/listpackages.spec.ts +0 -163
  400. package/src/commands/package/listpackages.ts +0 -74
  401. package/src/commands/package/publish.spec.ts +0 -642
  402. package/src/commands/package/publish.ts +0 -236
  403. package/src/commands/package/updatepackage.spec.ts +0 -319
  404. package/src/commands/package/updatepackage.ts +0 -95
  405. package/src/commands/permission/createpermission.spec.ts +0 -507
  406. package/src/commands/permission/createpermission.ts +0 -181
  407. package/src/commands/permission/deletepermission.ts +0 -117
  408. package/src/commands/permission/getpermission.ts +0 -115
  409. package/src/commands/permission/listpermissions.ts +0 -101
  410. package/src/commands/permission/scope.ts +0 -180
  411. package/src/commands/rm.ts +0 -146
  412. package/src/commands/set.ts +0 -25
  413. package/src/commands/update.ts +0 -107
  414. package/src/commands/version/archive-unarchive-version.spec.ts +0 -456
  415. package/src/commands/version/archive-unarchive-version.ts +0 -108
  416. package/src/commands/version/listversions.spec.ts +0 -138
  417. package/src/commands/version/listversions.ts +0 -45
  418. package/src/common/UserGroupId.spec.ts +0 -115
  419. package/src/common/UserGroupId.ts +0 -137
  420. package/src/constants.spec.ts +0 -111
  421. package/src/constants.ts +0 -228
  422. package/src/index.ts +0 -378
  423. package/src/logger.spec.ts +0 -158
  424. package/src/logger.ts +0 -90
  425. package/src/polyfills/file.polyfill.ts +0 -6
  426. package/src/utils.spec.ts +0 -135
  427. package/src/utils.ts +0 -115
  428. package/src/validator.spec.ts +0 -51
  429. package/src/validator.ts +0 -44
  430. package/tsconfig.json +0 -17
@@ -1,211 +0,0 @@
1
- import { expect } from "chai";
2
- import sinon from "sinon";
3
- import { GroupsApi } from "../../client/api";
4
- import { ClientConfiguration } from "../../clientconfiguration";
5
- import { logger } from "../../logger";
6
- import { createGroupAccessToken } from "./createToken";
7
-
8
- describe("create-group-access-token", () => {
9
- let sandbox: sinon.SinonSandbox;
10
- let createGroupAccessTokenStub: sinon.SinonStub;
11
- let loggerStub: sinon.SinonStubbedInstance<typeof logger>;
12
- let consoleLogStub: sinon.SinonStub;
13
- let processExitStub: sinon.SinonStub;
14
-
15
- beforeEach(() => {
16
- sandbox = sinon.createSandbox();
17
- createGroupAccessTokenStub = sandbox.stub();
18
- loggerStub = sandbox.stub(logger);
19
- consoleLogStub = sandbox.stub(console, "log");
20
- processExitStub = sandbox.stub(process, "exit");
21
-
22
- sandbox
23
- .stub(ClientConfiguration.prototype, "getOrganization")
24
- .returns("test-org");
25
- sandbox
26
- .stub(ClientConfiguration.prototype, "doesConfigExists")
27
- .returns(true);
28
- sandbox
29
- .stub(ClientConfiguration.prototype, "getAuthenticationHeader")
30
- .returns("Bearer test-token");
31
-
32
- sandbox
33
- .stub(GroupsApi.prototype, "createGroupAccessToken")
34
- .callsFake(createGroupAccessTokenStub);
35
- });
36
-
37
- afterEach(() => {
38
- sandbox.restore();
39
- });
40
-
41
- it("should create group access token successfully", async () => {
42
- const mockResponse = {
43
- data: { tokenName: "test-token", secret: "secret-value" },
44
- };
45
- createGroupAccessTokenStub.resolves(mockResponse);
46
-
47
- const result = await createGroupAccessToken(
48
- "http://test-server",
49
- "test-group",
50
- "test-token",
51
- undefined,
52
- false,
53
- false,
54
- );
55
-
56
- expect(createGroupAccessTokenStub.calledOnce).to.be.true;
57
- expect(createGroupAccessTokenStub.firstCall.args[0]).to.equal("test-org");
58
- expect(createGroupAccessTokenStub.firstCall.args[1]).to.equal(
59
- "test-group",
60
- );
61
- expect(createGroupAccessTokenStub.firstCall.args[2]).to.equal(
62
- "test-token",
63
- );
64
- expect(createGroupAccessTokenStub.firstCall.args[3]).to.be.undefined;
65
- expect(consoleLogStub.called).to.be.true;
66
- expect(
67
- loggerStub.info.calledWith(
68
- sinon.match("Group access token created successfully"),
69
- ),
70
- ).to.be.true;
71
- expect(result).to.deep.equal(mockResponse.data);
72
- });
73
-
74
- it("should create token with expiration date", async () => {
75
- const futureDate = new Date();
76
- futureDate.setFullYear(futureDate.getFullYear() + 1);
77
- const expiresAt = futureDate.toISOString();
78
- const mockResponse = {
79
- data: { tokenName: "test-token" },
80
- };
81
- createGroupAccessTokenStub.resolves(mockResponse);
82
-
83
- await createGroupAccessToken(
84
- "http://test-server",
85
- "test-group",
86
- "test-token",
87
- expiresAt,
88
- false,
89
- false,
90
- );
91
-
92
- expect(createGroupAccessTokenStub.firstCall.args[3]).to.equal(expiresAt);
93
- });
94
-
95
- it("should reject invalid expiration date format", async () => {
96
- await createGroupAccessToken(
97
- "http://test-server",
98
- "test-group",
99
- "test-token",
100
- "invalid-date",
101
- false,
102
- false,
103
- );
104
-
105
- expect(createGroupAccessTokenStub.called).to.be.false;
106
- expect(
107
- loggerStub.error.calledWith(
108
- sinon.match(/Invalid expiration date format/),
109
- ),
110
- ).to.be.true;
111
- expect(processExitStub.calledWith(1)).to.be.true;
112
- });
113
-
114
- it("should reject expiration date in the past", async () => {
115
- const pastDate = new Date();
116
- pastDate.setFullYear(pastDate.getFullYear() - 1);
117
- const expiresAt = pastDate.toISOString();
118
-
119
- await createGroupAccessToken(
120
- "http://test-server",
121
- "test-group",
122
- "test-token",
123
- expiresAt,
124
- false,
125
- false,
126
- );
127
-
128
- expect(createGroupAccessTokenStub.called).to.be.false;
129
- expect(
130
- loggerStub.error.calledWith(
131
- sinon.match("Expiration date must be in the future"),
132
- ),
133
- ).to.be.true;
134
- expect(processExitStub.calledWith(1)).to.be.true;
135
- });
136
-
137
- it("should return JSON output when jsonOutput is true", async () => {
138
- const mockResponse = {
139
- data: { tokenName: "test-token", secret: "secret-value" },
140
- };
141
- createGroupAccessTokenStub.resolves(mockResponse);
142
-
143
- const result = await createGroupAccessToken(
144
- "http://test-server",
145
- "test-group",
146
- "test-token",
147
- undefined,
148
- true,
149
- false,
150
- );
151
-
152
- expect(result).to.deep.equal(mockResponse.data);
153
- expect(
154
- loggerStub.info.calledWith(
155
- sinon.match("Group access token created successfully"),
156
- ),
157
- ).to.be.false;
158
- });
159
-
160
- it("should handle missing config", async () => {
161
- sandbox.restore();
162
- sandbox = sinon.createSandbox();
163
- createGroupAccessTokenStub = sandbox.stub();
164
- loggerStub = sandbox.stub(logger);
165
- consoleLogStub = sandbox.stub(console, "log");
166
- processExitStub = sandbox.stub(process, "exit");
167
-
168
- sandbox
169
- .stub(ClientConfiguration.prototype, "doesConfigExists")
170
- .returns(false);
171
- sandbox
172
- .stub(GroupsApi.prototype, "createGroupAccessToken")
173
- .callsFake(createGroupAccessTokenStub);
174
-
175
- const result = await createGroupAccessToken(
176
- "http://test-server",
177
- "test-group",
178
- "test-token",
179
- undefined,
180
- false,
181
- false,
182
- );
183
-
184
- expect(createGroupAccessTokenStub.called).to.be.false;
185
- expect(result).to.be.undefined;
186
- expect(
187
- loggerStub.error.calledWith(
188
- sinon.match("Please, make sure that you are logged in"),
189
- ),
190
- ).to.be.true;
191
- });
192
-
193
- it("should handle API errors", async () => {
194
- const mockError = new Error("API Error");
195
- createGroupAccessTokenStub.rejects(mockError);
196
-
197
- await createGroupAccessToken(
198
- "http://test-server",
199
- "test-group",
200
- "test-token",
201
- undefined,
202
- false,
203
- true,
204
- );
205
-
206
- expect(createGroupAccessTokenStub.calledOnce).to.be.true;
207
- expect(loggerStub.error.calledWith(sinon.match("Operation failed"))).to.be
208
- .true;
209
- expect(processExitStub.calledWith(1)).to.be.true;
210
- });
211
- });
@@ -1,72 +0,0 @@
1
- import kleur from "kleur";
2
- import { logger } from "../../logger";
3
- import { withGroupContext } from "./groupContainer";
4
-
5
- export async function createGroupAccessToken(
6
- controlPlane: string,
7
- groupName: string,
8
- tokenName: string,
9
- expiresAt: string | undefined,
10
- jsonOutput: boolean,
11
- debug: boolean,
12
- ) {
13
- // Validate expiresAt format if provided
14
- if (expiresAt) {
15
- const expiresAtDate = new Date(expiresAt);
16
- if (isNaN(expiresAtDate.getTime())) {
17
- logger.error(
18
- `Invalid expiration date format: ${expiresAt}. Please use ISO 8601 format (e.g., 2025-12-31T23:59:59Z)`,
19
- );
20
- process.exit(1);
21
- return;
22
- }
23
- if (expiresAtDate <= new Date()) {
24
- logger.error("Expiration date must be in the future");
25
- process.exit(1);
26
- return;
27
- }
28
- }
29
-
30
- const result = await withGroupContext(
31
- controlPlane,
32
- async (context) => {
33
- const { organizationName, groupsApi, options } = context;
34
-
35
- const response = await groupsApi.createGroupAccessToken(
36
- organizationName,
37
- groupName,
38
- tokenName,
39
- expiresAt,
40
- options,
41
- );
42
-
43
- return response.data;
44
- },
45
- undefined,
46
- debug,
47
- );
48
-
49
- if (jsonOutput) {
50
- return result;
51
- }
52
-
53
- // Display security warning after the response is printed
54
- console.log("\n" + kleur.yellow().bold("⚠️ IMPORTANT SECURITY NOTICE ⚠️"));
55
- console.log(
56
- kleur.yellow("The token secret shown above will NOT be displayed again."),
57
- );
58
- console.log(
59
- kleur.yellow(
60
- "Please store it securely in a password manager or secure vault.",
61
- ),
62
- );
63
- console.log(
64
- kleur.yellow(
65
- "If you lose this token, you will need to create a new one.",
66
- ),
67
- );
68
- console.log("");
69
- logger.info("Group access token created successfully");
70
-
71
- return result;
72
- }
@@ -1,147 +0,0 @@
1
- import { expect } from "chai";
2
- import sinon from "sinon";
3
- import { GroupsApi } from "../../client/api";
4
- import { ClientConfiguration } from "../../clientconfiguration";
5
- import { logger } from "../../logger";
6
- import { deleteGroupAccessToken } from "./deleteToken";
7
-
8
- describe("delete-group-access-token", () => {
9
- let sandbox: sinon.SinonSandbox;
10
- let deleteGroupAccessTokenStub: sinon.SinonStub;
11
- let loggerStub: sinon.SinonStubbedInstance<typeof logger>;
12
- let processExitStub: sinon.SinonStub;
13
-
14
- beforeEach(() => {
15
- sandbox = sinon.createSandbox();
16
- deleteGroupAccessTokenStub = sandbox.stub();
17
- loggerStub = sandbox.stub(logger);
18
- processExitStub = sandbox.stub(process, "exit");
19
-
20
- sandbox
21
- .stub(ClientConfiguration.prototype, "getOrganization")
22
- .returns("test-org");
23
- sandbox
24
- .stub(ClientConfiguration.prototype, "doesConfigExists")
25
- .returns(true);
26
- sandbox
27
- .stub(ClientConfiguration.prototype, "getAuthenticationHeader")
28
- .returns("Bearer test-token");
29
-
30
- sandbox
31
- .stub(GroupsApi.prototype, "deleteGroupAccessToken")
32
- .callsFake(deleteGroupAccessTokenStub);
33
- });
34
-
35
- afterEach(() => {
36
- sandbox.restore();
37
- });
38
-
39
- it("should delete group access token successfully", async () => {
40
- deleteGroupAccessTokenStub.resolves({ status: 200 });
41
-
42
- await deleteGroupAccessToken(
43
- "http://test-server",
44
- "test-group",
45
- "test-token",
46
- false,
47
- );
48
-
49
- expect(deleteGroupAccessTokenStub.calledOnce).to.be.true;
50
- expect(deleteGroupAccessTokenStub.firstCall.args[0]).to.equal("test-org");
51
- expect(deleteGroupAccessTokenStub.firstCall.args[1]).to.equal(
52
- "test-group",
53
- );
54
- expect(deleteGroupAccessTokenStub.firstCall.args[2]).to.equal(
55
- "test-token",
56
- );
57
- expect(
58
- loggerStub.info.calledWith(
59
- sinon.match(
60
- "Successfully deleted access token test-token. This token has been immediately revoked.",
61
- ),
62
- ),
63
- ).to.be.true;
64
- });
65
-
66
- it("should handle missing config", async () => {
67
- sandbox.restore();
68
- sandbox = sinon.createSandbox();
69
- deleteGroupAccessTokenStub = sandbox.stub();
70
- loggerStub = sandbox.stub(logger);
71
- processExitStub = sandbox.stub(process, "exit");
72
-
73
- sandbox
74
- .stub(ClientConfiguration.prototype, "doesConfigExists")
75
- .returns(false);
76
- sandbox
77
- .stub(GroupsApi.prototype, "deleteGroupAccessToken")
78
- .callsFake(deleteGroupAccessTokenStub);
79
-
80
- const result = await deleteGroupAccessToken(
81
- "http://test-server",
82
- "test-group",
83
- "test-token",
84
- false,
85
- );
86
-
87
- expect(deleteGroupAccessTokenStub.called).to.be.false;
88
- expect(result).to.be.undefined;
89
- expect(
90
- loggerStub.error.calledWith(
91
- sinon.match("Please, make sure that you are logged in"),
92
- ),
93
- ).to.be.true;
94
- });
95
-
96
- it("should handle missing organization", async () => {
97
- sandbox.restore();
98
- sandbox = sinon.createSandbox();
99
- deleteGroupAccessTokenStub = sandbox.stub();
100
- loggerStub = sandbox.stub(logger);
101
- processExitStub = sandbox.stub(process, "exit");
102
-
103
- sandbox
104
- .stub(ClientConfiguration.prototype, "doesConfigExists")
105
- .returns(true);
106
- sandbox
107
- .stub(ClientConfiguration.prototype, "getOrganization")
108
- .returns(undefined);
109
- sandbox
110
- .stub(GroupsApi.prototype, "deleteGroupAccessToken")
111
- .callsFake(deleteGroupAccessTokenStub);
112
-
113
- const result = await deleteGroupAccessToken(
114
- "http://test-server",
115
- "test-group",
116
- "test-token",
117
- false,
118
- );
119
-
120
- expect(deleteGroupAccessTokenStub.called).to.be.false;
121
- expect(result).to.be.undefined;
122
- expect(
123
- loggerStub.error.calledWith(
124
- sinon.match(
125
- "No organization set. Please login or set an organization.",
126
- ),
127
- ),
128
- ).to.be.true;
129
- });
130
-
131
- it("should handle API errors", async () => {
132
- const mockError = new Error("API Error");
133
- deleteGroupAccessTokenStub.rejects(mockError);
134
-
135
- await deleteGroupAccessToken(
136
- "http://test-server",
137
- "test-group",
138
- "test-token",
139
- true,
140
- );
141
-
142
- expect(deleteGroupAccessTokenStub.calledOnce).to.be.true;
143
- expect(loggerStub.error.calledWith(sinon.match("Operation failed"))).to.be
144
- .true;
145
- expect(processExitStub.calledWith(1)).to.be.true;
146
- });
147
- });
@@ -1,29 +0,0 @@
1
- import { logger } from "../../logger";
2
- import { withGroupContext } from "./groupContainer";
3
-
4
- export async function deleteGroupAccessToken(
5
- controlPlane: string,
6
- groupName: string,
7
- tokenName: string,
8
- debug: boolean,
9
- ) {
10
- return withGroupContext(
11
- controlPlane,
12
- async (context) => {
13
- const { organizationName, groupsApi, options } = context;
14
-
15
- logger.info(
16
- `Deleting access token ${tokenName} from group ${groupName} in organization ${organizationName}`,
17
- );
18
-
19
- await groupsApi.deleteGroupAccessToken(
20
- organizationName,
21
- groupName,
22
- tokenName,
23
- options,
24
- );
25
- },
26
- `Successfully deleted access token ${tokenName}. This token has been immediately revoked.`,
27
- debug,
28
- );
29
- }
@@ -1,83 +0,0 @@
1
- import { GroupsApi } from "../../client/api";
2
- import { Configuration } from "../../client/configuration";
3
- import { ClientConfiguration } from "../../clientconfiguration";
4
- import { logger } from "../../logger";
5
- import { printOutError } from "../../utils";
6
-
7
- export interface ApiOptions {
8
- baseURL: string;
9
- headers: {
10
- Authorization: string;
11
- };
12
- params?: Record<string, unknown>;
13
- }
14
-
15
- export interface GroupContext {
16
- organizationName: string;
17
- groupsApi: GroupsApi;
18
- options: ApiOptions;
19
- }
20
-
21
- /**
22
- * Container function that handles common ClientConfiguration checks, setup,
23
- * error handling, and response printing for group access token operations.
24
- *
25
- * @param controlPlane The control plane URL
26
- * @param handler The handler function to execute with the configured context
27
- * @param successMessage Optional success message to display after the operation
28
- * @param debug Whether to enable debug mode for error output
29
- * @returns The result of the handler function, or void if validation fails
30
- */
31
- export async function withGroupContext<T>(
32
- controlPlane: string,
33
- handler: (context: GroupContext) => Promise<T>,
34
- successMessage?: string,
35
- debug: boolean = false,
36
- ): Promise<T | void> {
37
- const clientConfig = new ClientConfiguration();
38
-
39
- if (!clientConfig.doesConfigExists()) {
40
- logger.error("Please, make sure that you are logged in");
41
- return;
42
- }
43
-
44
- const organizationName = clientConfig.getOrganization();
45
- if (!organizationName) {
46
- logger.error("No organization set. Please login or set an organization.");
47
- return;
48
- }
49
-
50
- const options: ApiOptions = {
51
- baseURL: controlPlane,
52
- headers: {
53
- Authorization: clientConfig.getAuthenticationHeader(),
54
- },
55
- };
56
-
57
- const context: GroupContext = {
58
- organizationName,
59
- groupsApi: new GroupsApi(new Configuration()),
60
- options,
61
- };
62
-
63
- try {
64
- const result = await handler(context);
65
-
66
- // Print response if it exists
67
- if (result !== undefined && result !== null) {
68
- const jsonString = JSON.stringify(result, null, 2);
69
- console.log(jsonString);
70
- }
71
-
72
- // Print success message if provided
73
- if (successMessage) {
74
- logger.info(successMessage);
75
- }
76
-
77
- return result;
78
- } catch (error) {
79
- logger.error("Operation failed");
80
- printOutError(error, debug);
81
- process.exit(1);
82
- }
83
- }
@@ -1,147 +0,0 @@
1
- import { expect } from "chai";
2
- import sinon from "sinon";
3
- import { GroupsApi } from "../../client/api";
4
- import { ClientConfiguration } from "../../clientconfiguration";
5
- import { logger } from "../../logger";
6
- import { listGroupAccessTokens } from "./listTokens";
7
-
8
- describe("list-group-access-tokens", () => {
9
- let sandbox: sinon.SinonSandbox;
10
- let listGroupAccessTokensStub: sinon.SinonStub;
11
- let loggerStub: sinon.SinonStubbedInstance<typeof logger>;
12
- let consoleLogStub: sinon.SinonStub;
13
- let processExitStub: sinon.SinonStub;
14
-
15
- beforeEach(() => {
16
- sandbox = sinon.createSandbox();
17
- listGroupAccessTokensStub = sandbox.stub();
18
- loggerStub = sandbox.stub(logger);
19
- consoleLogStub = sandbox.stub(console, "log");
20
- processExitStub = sandbox.stub(process, "exit");
21
-
22
- sandbox
23
- .stub(ClientConfiguration.prototype, "getOrganization")
24
- .returns("test-org");
25
- sandbox
26
- .stub(ClientConfiguration.prototype, "doesConfigExists")
27
- .returns(true);
28
- sandbox
29
- .stub(ClientConfiguration.prototype, "getAuthenticationHeader")
30
- .returns("Bearer test-token");
31
-
32
- sandbox
33
- .stub(GroupsApi.prototype, "listGroupAccessTokens")
34
- .callsFake(listGroupAccessTokensStub);
35
- });
36
-
37
- afterEach(() => {
38
- sandbox.restore();
39
- });
40
-
41
- it("should list group access tokens successfully", async () => {
42
- const mockTokens = [
43
- { tokenName: "token1", createdAt: "2024-01-01" },
44
- { tokenName: "token2", createdAt: "2024-01-02" },
45
- ];
46
- const mockResponse = {
47
- data: mockTokens,
48
- };
49
- listGroupAccessTokensStub.resolves(mockResponse);
50
-
51
- const result = await listGroupAccessTokens(
52
- "http://test-server",
53
- "test-group",
54
- false,
55
- );
56
-
57
- expect(listGroupAccessTokensStub.calledOnce).to.be.true;
58
- expect(listGroupAccessTokensStub.firstCall.args[0]).to.equal("test-org");
59
- expect(listGroupAccessTokensStub.firstCall.args[1]).to.equal(
60
- "test-group",
61
- );
62
- expect(consoleLogStub.called).to.be.true;
63
- expect(
64
- loggerStub.info.calledWith(
65
- sinon.match("Group access tokens listed successfully"),
66
- ),
67
- ).to.be.true;
68
- expect(result).to.deep.equal(mockTokens);
69
- });
70
-
71
- it("should handle missing config", async () => {
72
- sandbox.restore();
73
- sandbox = sinon.createSandbox();
74
- listGroupAccessTokensStub = sandbox.stub();
75
- loggerStub = sandbox.stub(logger);
76
- consoleLogStub = sandbox.stub(console, "log");
77
- processExitStub = sandbox.stub(process, "exit");
78
-
79
- sandbox
80
- .stub(ClientConfiguration.prototype, "doesConfigExists")
81
- .returns(false);
82
- sandbox
83
- .stub(GroupsApi.prototype, "listGroupAccessTokens")
84
- .callsFake(listGroupAccessTokensStub);
85
-
86
- const result = await listGroupAccessTokens(
87
- "http://test-server",
88
- "test-group",
89
- false,
90
- );
91
-
92
- expect(listGroupAccessTokensStub.called).to.be.false;
93
- expect(result).to.be.undefined;
94
- expect(
95
- loggerStub.error.calledWith(
96
- sinon.match("Please, make sure that you are logged in"),
97
- ),
98
- ).to.be.true;
99
- });
100
-
101
- it("should handle missing organization", async () => {
102
- sandbox.restore();
103
- sandbox = sinon.createSandbox();
104
- listGroupAccessTokensStub = sandbox.stub();
105
- loggerStub = sandbox.stub(logger);
106
- consoleLogStub = sandbox.stub(console, "log");
107
- processExitStub = sandbox.stub(process, "exit");
108
-
109
- sandbox
110
- .stub(ClientConfiguration.prototype, "doesConfigExists")
111
- .returns(true);
112
- sandbox
113
- .stub(ClientConfiguration.prototype, "getOrganization")
114
- .returns(undefined);
115
- sandbox
116
- .stub(GroupsApi.prototype, "listGroupAccessTokens")
117
- .callsFake(listGroupAccessTokensStub);
118
-
119
- const result = await listGroupAccessTokens(
120
- "http://test-server",
121
- "test-group",
122
- false,
123
- );
124
-
125
- expect(listGroupAccessTokensStub.called).to.be.false;
126
- expect(result).to.be.undefined;
127
- expect(
128
- loggerStub.error.calledWith(
129
- sinon.match(
130
- "No organization set. Please login or set an organization.",
131
- ),
132
- ),
133
- ).to.be.true;
134
- });
135
-
136
- it("should handle API errors", async () => {
137
- const mockError = new Error("API Error");
138
- listGroupAccessTokensStub.rejects(mockError);
139
-
140
- await listGroupAccessTokens("http://test-server", "test-group", true);
141
-
142
- expect(listGroupAccessTokensStub.calledOnce).to.be.true;
143
- expect(loggerStub.error.calledWith(sinon.match("Operation failed"))).to.be
144
- .true;
145
- expect(processExitStub.calledWith(1)).to.be.true;
146
- });
147
- });