testcontainers 9.12.0 → 10.0.0-beta.5

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 (405) hide show
  1. package/{dist/src → build/common}/clock.js +1 -0
  2. package/build/common/clock.js.map +1 -0
  3. package/build/common/file-lock.js +58 -0
  4. package/build/common/file-lock.js.map +1 -0
  5. package/build/common/hash.d.ts +1 -0
  6. package/{dist/src → build/common}/hash.js +3 -2
  7. package/build/common/hash.js.map +1 -0
  8. package/build/common/index.d.ts +7 -0
  9. package/build/common/index.js +37 -0
  10. package/build/common/index.js.map +1 -0
  11. package/{dist/src → build/common}/logger.d.ts +5 -6
  12. package/{dist/src → build/common}/logger.js +5 -2
  13. package/build/common/logger.js.map +1 -0
  14. package/{dist/src/retry-strategy.d.ts → build/common/retry.d.ts} +3 -3
  15. package/build/common/retry.js +38 -0
  16. package/build/common/retry.js.map +1 -0
  17. package/build/common/streams.js +13 -0
  18. package/build/common/streams.js.map +1 -0
  19. package/{dist/src → build/common}/type-guards.js +1 -0
  20. package/build/common/type-guards.js.map +1 -0
  21. package/{dist/src → build/common}/uuid.js +1 -0
  22. package/build/common/uuid.js.map +1 -0
  23. package/build/container-runtime/auth/auths.d.ts +7 -0
  24. package/build/container-runtime/auth/auths.js +45 -0
  25. package/build/container-runtime/auth/auths.js.map +1 -0
  26. package/build/container-runtime/auth/cred-helpers.d.ts +6 -0
  27. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/cred-helpers.js +1 -0
  28. package/build/container-runtime/auth/cred-helpers.js.map +1 -0
  29. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/credential-provider.d.ts +3 -4
  30. package/build/container-runtime/auth/credential-provider.js +71 -0
  31. package/build/container-runtime/auth/credential-provider.js.map +1 -0
  32. package/build/container-runtime/auth/creds-store.d.ts +6 -0
  33. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/creds-store.js +1 -0
  34. package/build/container-runtime/auth/creds-store.js.map +1 -0
  35. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/get-auth-config.d.ts +1 -1
  36. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/get-auth-config.js +11 -19
  37. package/build/container-runtime/auth/get-auth-config.js.map +1 -0
  38. package/build/container-runtime/auth/registry-auth-locator.d.ts +5 -0
  39. package/build/container-runtime/auth/registry-auth-locator.js +3 -0
  40. package/build/container-runtime/auth/registry-auth-locator.js.map +1 -0
  41. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/registry-matches.js +1 -0
  42. package/build/container-runtime/auth/registry-matches.js.map +1 -0
  43. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/types.d.ts +13 -1
  44. package/{dist/src/registry-auth-locator → build/container-runtime/auth}/types.js +1 -0
  45. package/build/container-runtime/auth/types.js.map +1 -0
  46. package/build/container-runtime/clients/client.d.ts +14 -0
  47. package/build/container-runtime/clients/client.js +105 -0
  48. package/build/container-runtime/clients/client.js.map +1 -0
  49. package/build/container-runtime/clients/compose/compose-client.d.ts +11 -0
  50. package/build/container-runtime/clients/compose/compose-client.js +238 -0
  51. package/build/container-runtime/clients/compose/compose-client.js.map +1 -0
  52. package/build/container-runtime/clients/compose/default-compose-options.d.ts +4 -0
  53. package/build/container-runtime/clients/compose/default-compose-options.js +31 -0
  54. package/build/container-runtime/clients/compose/default-compose-options.js.map +1 -0
  55. package/build/container-runtime/clients/compose/parse-compose-container-name.d.ts +1 -0
  56. package/{dist/src/docker-compose/container-name-resolver.js → build/container-runtime/clients/compose/parse-compose-container-name.js} +5 -4
  57. package/build/container-runtime/clients/compose/parse-compose-container-name.js.map +1 -0
  58. package/build/container-runtime/clients/compose/types.d.ts +15 -0
  59. package/{dist/src/docker → build/container-runtime/clients/compose}/types.js +1 -0
  60. package/build/container-runtime/clients/compose/types.js.map +1 -0
  61. package/build/container-runtime/clients/container/container-client.d.ts +32 -0
  62. package/build/container-runtime/clients/container/container-client.js +3 -0
  63. package/build/container-runtime/clients/container/container-client.js.map +1 -0
  64. package/build/container-runtime/clients/container/docker-container-client.d.ts +35 -0
  65. package/build/container-runtime/clients/container/docker-container-client.js +276 -0
  66. package/build/container-runtime/clients/container/docker-container-client.js.map +1 -0
  67. package/build/container-runtime/clients/container/podman-container-client.d.ts +8 -0
  68. package/build/container-runtime/clients/container/podman-container-client.js +43 -0
  69. package/build/container-runtime/clients/container/podman-container-client.js.map +1 -0
  70. package/build/container-runtime/clients/container/types.d.ts +4 -0
  71. package/{dist/src/docker/client/docker-client-types.js → build/container-runtime/clients/container/types.js} +1 -0
  72. package/build/container-runtime/clients/container/types.js.map +1 -0
  73. package/build/container-runtime/clients/image/docker-image-client.d.ts +16 -0
  74. package/build/container-runtime/clients/image/docker-image-client.js +119 -0
  75. package/build/container-runtime/clients/image/docker-image-client.js.map +1 -0
  76. package/build/container-runtime/clients/image/image-client.d.ts +9 -0
  77. package/build/container-runtime/clients/image/image-client.js +3 -0
  78. package/build/container-runtime/clients/image/image-client.js.map +1 -0
  79. package/build/container-runtime/clients/network/docker-network-client.d.ts +9 -0
  80. package/build/container-runtime/clients/network/docker-network-client.js +50 -0
  81. package/build/container-runtime/clients/network/docker-network-client.js.map +1 -0
  82. package/build/container-runtime/clients/network/network-client.d.ts +6 -0
  83. package/build/container-runtime/clients/network/network-client.js +3 -0
  84. package/build/container-runtime/clients/network/network-client.js.map +1 -0
  85. package/build/container-runtime/clients/types.d.ts +30 -0
  86. package/{dist/src/docker/client/strategy/docker-client-strategy.js → build/container-runtime/clients/types.js} +1 -0
  87. package/build/container-runtime/clients/types.js.map +1 -0
  88. package/build/container-runtime/image-name.d.ts +11 -0
  89. package/{dist/src/docker-image-name.js → build/container-runtime/image-name.js} +11 -17
  90. package/build/container-runtime/image-name.js.map +1 -0
  91. package/build/container-runtime/index.d.ts +6 -0
  92. package/build/container-runtime/index.js +13 -0
  93. package/build/container-runtime/index.js.map +1 -0
  94. package/build/container-runtime/strategies/configuration-strategy.d.ts +9 -0
  95. package/build/container-runtime/strategies/configuration-strategy.js +53 -0
  96. package/build/container-runtime/strategies/configuration-strategy.js.map +1 -0
  97. package/build/container-runtime/strategies/npipe-socket-strategy.d.ts +6 -0
  98. package/build/container-runtime/strategies/npipe-socket-strategy.js +21 -0
  99. package/build/container-runtime/strategies/npipe-socket-strategy.js.map +1 -0
  100. package/build/container-runtime/strategies/rootless-unix-socket-strategy.d.ts +14 -0
  101. package/build/container-runtime/strategies/rootless-unix-socket-strategy.js +63 -0
  102. package/build/container-runtime/strategies/rootless-unix-socket-strategy.js.map +1 -0
  103. package/build/container-runtime/strategies/strategy.d.ts +5 -0
  104. package/{dist/src/registry-auth-locator/registry-auth-locator.js → build/container-runtime/strategies/strategy.js} +1 -0
  105. package/build/container-runtime/strategies/strategy.js.map +1 -0
  106. package/build/container-runtime/strategies/testcontainers-host-strategy.d.ts +6 -0
  107. package/build/container-runtime/strategies/testcontainers-host-strategy.js +30 -0
  108. package/build/container-runtime/strategies/testcontainers-host-strategy.js.map +1 -0
  109. package/build/container-runtime/strategies/types.d.ts +8 -0
  110. package/build/container-runtime/strategies/types.js +3 -0
  111. package/build/container-runtime/strategies/types.js.map +1 -0
  112. package/build/container-runtime/strategies/unix-socket-strategy.d.ts +6 -0
  113. package/build/container-runtime/strategies/unix-socket-strategy.js +22 -0
  114. package/build/container-runtime/strategies/unix-socket-strategy.js.map +1 -0
  115. package/build/container-runtime/strategies/utils/config.d.ts +9 -0
  116. package/build/container-runtime/strategies/utils/config.js +75 -0
  117. package/build/container-runtime/strategies/utils/config.js.map +1 -0
  118. package/build/container-runtime/utils/attach-container.js +17 -0
  119. package/build/container-runtime/utils/attach-container.js.map +1 -0
  120. package/build/container-runtime/utils/demux-stream.d.ts +4 -0
  121. package/build/container-runtime/utils/demux-stream.js +24 -0
  122. package/build/container-runtime/utils/demux-stream.js.map +1 -0
  123. package/build/container-runtime/utils/image-exists.d.ts +3 -0
  124. package/build/container-runtime/utils/image-exists.js +29 -0
  125. package/build/container-runtime/utils/image-exists.js.map +1 -0
  126. package/build/container-runtime/utils/lookup-host-ips.d.ts +2 -0
  127. package/build/container-runtime/utils/lookup-host-ips.js +18 -0
  128. package/build/container-runtime/utils/lookup-host-ips.js.map +1 -0
  129. package/{dist/src/docker/functions/image → build/container-runtime/utils}/pull-image.d.ts +2 -2
  130. package/build/container-runtime/utils/pull-image.js +35 -0
  131. package/build/container-runtime/utils/pull-image.js.map +1 -0
  132. package/build/container-runtime/utils/remote-container-runtime-socket-path.d.ts +7 -0
  133. package/build/container-runtime/utils/remote-container-runtime-socket-path.js +23 -0
  134. package/build/container-runtime/utils/remote-container-runtime-socket-path.js.map +1 -0
  135. package/build/container-runtime/utils/resolve-host.d.ts +8 -0
  136. package/build/container-runtime/utils/resolve-host.js +54 -0
  137. package/build/container-runtime/utils/resolve-host.js.map +1 -0
  138. package/build/container-runtime/utils/run-in-container.js +30 -0
  139. package/build/container-runtime/utils/run-in-container.js.map +1 -0
  140. package/build/container-runtime/utils/start-container.js +15 -0
  141. package/build/container-runtime/utils/start-container.js.map +1 -0
  142. package/{dist/src → build}/docker-compose-environment/docker-compose-environment.d.ts +5 -5
  143. package/build/docker-compose-environment/docker-compose-environment.js +144 -0
  144. package/build/docker-compose-environment/docker-compose-environment.js.map +1 -0
  145. package/{dist/src → build}/docker-compose-environment/downed-docker-compose-environment.js +1 -0
  146. package/build/docker-compose-environment/downed-docker-compose-environment.js.map +1 -0
  147. package/{dist/src → build}/docker-compose-environment/started-docker-compose-environment.d.ts +3 -3
  148. package/build/docker-compose-environment/started-docker-compose-environment.js +37 -0
  149. package/build/docker-compose-environment/started-docker-compose-environment.js.map +1 -0
  150. package/build/docker-compose-environment/stopped-docker-compose-environment.d.ts +7 -0
  151. package/build/docker-compose-environment/stopped-docker-compose-environment.js +19 -0
  152. package/build/docker-compose-environment/stopped-docker-compose-environment.js.map +1 -0
  153. package/{dist/src/modules → build/generic-container}/abstract-started-container.d.ts +1 -1
  154. package/build/generic-container/abstract-started-container.js +69 -0
  155. package/build/generic-container/abstract-started-container.js.map +1 -0
  156. package/{dist/src/modules → build/generic-container}/abstract-stopped-container.js +2 -0
  157. package/build/generic-container/abstract-stopped-container.js.map +1 -0
  158. package/{dist/src → build}/generic-container/generic-container-builder.d.ts +4 -4
  159. package/build/generic-container/generic-container-builder.js +87 -0
  160. package/build/generic-container/generic-container-builder.js.map +1 -0
  161. package/{dist/src → build}/generic-container/generic-container.d.ts +18 -22
  162. package/build/generic-container/generic-container.js +350 -0
  163. package/build/generic-container/generic-container.js.map +1 -0
  164. package/{dist/src → build}/generic-container/started-generic-container.d.ts +6 -6
  165. package/build/generic-container/started-generic-container.js +161 -0
  166. package/build/generic-container/started-generic-container.js.map +1 -0
  167. package/build/generic-container/stopped-generic-container.js +23 -0
  168. package/build/generic-container/stopped-generic-container.js.map +1 -0
  169. package/build/index.d.ts +16 -0
  170. package/build/index.js +35 -0
  171. package/build/index.js.map +1 -0
  172. package/build/network/network.d.ts +19 -0
  173. package/build/network/network.js +61 -0
  174. package/build/network/network.js.map +1 -0
  175. package/{dist/src → build/port-forwarder}/port-forwarder.d.ts +2 -1
  176. package/build/port-forwarder/port-forwarder.js +73 -0
  177. package/build/port-forwarder/port-forwarder.js.map +1 -0
  178. package/build/reaper/reaper.d.ts +8 -0
  179. package/build/reaper/reaper.js +119 -0
  180. package/build/reaper/reaper.js.map +1 -0
  181. package/{dist/src → build}/test-container.d.ts +6 -6
  182. package/{dist/src → build}/test-container.js +1 -0
  183. package/build/test-container.js.map +1 -0
  184. package/build/test-containers.js +12 -0
  185. package/build/test-containers.js.map +1 -0
  186. package/{dist/src/docker → build}/types.d.ts +16 -0
  187. package/build/types.js +3 -0
  188. package/build/types.js.map +1 -0
  189. package/{dist/src → build/utils}/bound-ports.d.ts +4 -3
  190. package/{dist/src → build/utils}/bound-ports.js +22 -5
  191. package/build/utils/bound-ports.js.map +1 -0
  192. package/build/utils/dockerfile-parser.d.ts +3 -0
  193. package/build/utils/dockerfile-parser.js +28 -0
  194. package/build/utils/dockerfile-parser.js.map +1 -0
  195. package/{dist/src → build/utils}/labels.d.ts +1 -0
  196. package/build/utils/labels.js +18 -0
  197. package/build/utils/labels.js.map +1 -0
  198. package/build/utils/map-inspect-result.d.ts +3 -0
  199. package/build/utils/map-inspect-result.js +55 -0
  200. package/build/utils/map-inspect-result.js.map +1 -0
  201. package/build/utils/port-generator.js +43 -0
  202. package/build/utils/port-generator.js.map +1 -0
  203. package/{dist/src → build/utils}/port.d.ts +0 -3
  204. package/build/utils/port.js +10 -0
  205. package/build/utils/port.js.map +1 -0
  206. package/build/utils/pull-policy.d.ts +7 -0
  207. package/build/utils/pull-policy.js +23 -0
  208. package/build/utils/pull-policy.js.map +1 -0
  209. package/build/utils/test-helper.d.ts +19 -0
  210. package/build/utils/test-helper.js +107 -0
  211. package/build/utils/test-helper.js.map +1 -0
  212. package/build/version.d.ts +1 -0
  213. package/build/version.js +5 -0
  214. package/build/version.js.map +1 -0
  215. package/{dist/src/wait-strategy → build/wait-strategies}/composite-wait-strategy.d.ts +1 -1
  216. package/build/wait-strategies/composite-wait-strategy.js +49 -0
  217. package/build/wait-strategies/composite-wait-strategy.js.map +1 -0
  218. package/build/wait-strategies/health-check-wait-strategy.js +26 -0
  219. package/build/wait-strategies/health-check-wait-strategy.js.map +1 -0
  220. package/{dist/src/wait-strategy → build/wait-strategies}/host-port-wait-strategy.d.ts +1 -1
  221. package/build/wait-strategies/host-port-wait-strategy.js +42 -0
  222. package/build/wait-strategies/host-port-wait-strategy.js.map +1 -0
  223. package/{dist/src/wait-strategy → build/wait-strategies}/http-wait-strategy.d.ts +1 -1
  224. package/build/wait-strategies/http-wait-strategy.js +111 -0
  225. package/build/wait-strategies/http-wait-strategy.js.map +1 -0
  226. package/{dist/src/wait-strategy → build/wait-strategies}/log-wait-strategy.d.ts +1 -1
  227. package/build/wait-strategies/log-wait-strategy.js +62 -0
  228. package/build/wait-strategies/log-wait-strategy.js.map +1 -0
  229. package/build/wait-strategies/shell-wait-strategy.js +30 -0
  230. package/build/wait-strategies/shell-wait-strategy.js.map +1 -0
  231. package/{dist/src/wait-strategy → build/wait-strategies}/startup-check-strategy.d.ts +3 -0
  232. package/build/wait-strategies/startup-check-strategy.js +27 -0
  233. package/build/wait-strategies/startup-check-strategy.js.map +1 -0
  234. package/{dist/src → build/wait-strategies/utils}/port-check.d.ts +5 -6
  235. package/build/wait-strategies/utils/port-check.js +81 -0
  236. package/build/wait-strategies/utils/port-check.js.map +1 -0
  237. package/build/wait-strategies/wait-for-container.d.ts +5 -0
  238. package/build/wait-strategies/wait-for-container.js +24 -0
  239. package/build/wait-strategies/wait-for-container.js.map +1 -0
  240. package/{dist/src/wait-strategy → build/wait-strategies}/wait-strategy.d.ts +1 -1
  241. package/{dist/src/wait-strategy → build/wait-strategies}/wait-strategy.js +3 -4
  242. package/build/wait-strategies/wait-strategy.js.map +1 -0
  243. package/{dist/src/wait-strategy → build/wait-strategies}/wait.js +1 -0
  244. package/build/wait-strategies/wait.js.map +1 -0
  245. package/package.json +18 -63
  246. package/LICENSE +0 -21
  247. package/README.md +0 -27
  248. package/dist/package.json +0 -104
  249. package/dist/src/docker/client/docker-client-config.d.ts +0 -9
  250. package/dist/src/docker/client/docker-client-config.js +0 -82
  251. package/dist/src/docker/client/docker-client-types.d.ts +0 -23
  252. package/dist/src/docker/client/docker-client.d.ts +0 -2
  253. package/dist/src/docker/client/docker-client.js +0 -133
  254. package/dist/src/docker/client/strategy/configuration-strategy.d.ts +0 -11
  255. package/dist/src/docker/client/strategy/configuration-strategy.js +0 -66
  256. package/dist/src/docker/client/strategy/docker-client-strategy.d.ts +0 -7
  257. package/dist/src/docker/client/strategy/npipe-socket-strategy.d.ts +0 -7
  258. package/dist/src/docker/client/strategy/npipe-socket-strategy.js +0 -31
  259. package/dist/src/docker/client/strategy/rootless-unix-socket-strategy.d.ts +0 -18
  260. package/dist/src/docker/client/strategy/rootless-unix-socket-strategy.js +0 -77
  261. package/dist/src/docker/client/strategy/testcontainers-host-strategy.d.ts +0 -9
  262. package/dist/src/docker/client/strategy/testcontainers-host-strategy.js +0 -47
  263. package/dist/src/docker/client/strategy/unix-socket-strategy.d.ts +0 -7
  264. package/dist/src/docker/client/strategy/unix-socket-strategy.js +0 -32
  265. package/dist/src/docker/functions/container/attach-container.js +0 -25
  266. package/dist/src/docker/functions/container/container-logs.d.ts +0 -6
  267. package/dist/src/docker/functions/container/container-logs.js +0 -32
  268. package/dist/src/docker/functions/container/create-container.d.ts +0 -31
  269. package/dist/src/docker/functions/container/create-container.js +0 -117
  270. package/dist/src/docker/functions/container/exec-container.d.ts +0 -3
  271. package/dist/src/docker/functions/container/exec-container.js +0 -66
  272. package/dist/src/docker/functions/container/get-container-archive.d.ts +0 -11
  273. package/dist/src/docker/functions/container/get-container-archive.js +0 -23
  274. package/dist/src/docker/functions/container/get-container.d.ts +0 -3
  275. package/dist/src/docker/functions/container/get-container.js +0 -49
  276. package/dist/src/docker/functions/container/inspect-container.d.ts +0 -19
  277. package/dist/src/docker/functions/container/inspect-container.js +0 -67
  278. package/dist/src/docker/functions/container/list-containers.d.ts +0 -2
  279. package/dist/src/docker/functions/container/list-containers.js +0 -25
  280. package/dist/src/docker/functions/container/put-container-archive.d.ts +0 -9
  281. package/dist/src/docker/functions/container/put-container-archive.js +0 -26
  282. package/dist/src/docker/functions/container/remove-container.d.ts +0 -5
  283. package/dist/src/docker/functions/container/remove-container.js +0 -23
  284. package/dist/src/docker/functions/container/restart-container.d.ts +0 -5
  285. package/dist/src/docker/functions/container/restart-container.js +0 -23
  286. package/dist/src/docker/functions/container/start-container.js +0 -23
  287. package/dist/src/docker/functions/container/stop-container.d.ts +0 -5
  288. package/dist/src/docker/functions/container/stop-container.js +0 -29
  289. package/dist/src/docker/functions/create-labels.d.ts +0 -2
  290. package/dist/src/docker/functions/create-labels.js +0 -13
  291. package/dist/src/docker/functions/demux-stream.d.ts +0 -3
  292. package/dist/src/docker/functions/demux-stream.js +0 -32
  293. package/dist/src/docker/functions/get-info.d.ts +0 -11
  294. package/dist/src/docker/functions/get-info.js +0 -38
  295. package/dist/src/docker/functions/image/build-image.d.ts +0 -14
  296. package/dist/src/docker/functions/image/build-image.js +0 -81
  297. package/dist/src/docker/functions/image/image-exists.d.ts +0 -3
  298. package/dist/src/docker/functions/image/image-exists.js +0 -37
  299. package/dist/src/docker/functions/image/pull-image.js +0 -48
  300. package/dist/src/docker/functions/network/connect-network.d.ts +0 -6
  301. package/dist/src/docker/functions/network/connect-network.js +0 -28
  302. package/dist/src/docker/functions/network/create-network.d.ts +0 -16
  303. package/dist/src/docker/functions/network/create-network.js +0 -39
  304. package/dist/src/docker/functions/network/remove-network.d.ts +0 -1
  305. package/dist/src/docker/functions/network/remove-network.js +0 -31
  306. package/dist/src/docker/functions/run-in-container.js +0 -39
  307. package/dist/src/docker/lookup-host-ips.d.ts +0 -5
  308. package/dist/src/docker/lookup-host-ips.js +0 -26
  309. package/dist/src/docker/remote-docker-unix-socket-path.d.ts +0 -7
  310. package/dist/src/docker/remote-docker-unix-socket-path.js +0 -22
  311. package/dist/src/docker/resolve-host.d.ts +0 -8
  312. package/dist/src/docker/resolve-host.js +0 -63
  313. package/dist/src/docker-compose/container-name-resolver.d.ts +0 -1
  314. package/dist/src/docker-compose/docker-compose-client.d.ts +0 -9
  315. package/dist/src/docker-compose/docker-compose-client.js +0 -221
  316. package/dist/src/docker-compose/docker-compose-options.d.ts +0 -17
  317. package/dist/src/docker-compose/docker-compose-options.js +0 -51
  318. package/dist/src/docker-compose-environment/docker-compose-environment.js +0 -146
  319. package/dist/src/docker-compose-environment/started-docker-compose-environment.js +0 -47
  320. package/dist/src/docker-compose-environment/stopped-docker-compose-environment.d.ts +0 -7
  321. package/dist/src/docker-compose-environment/stopped-docker-compose-environment.js +0 -28
  322. package/dist/src/docker-image-name.d.ts +0 -15
  323. package/dist/src/dockerfile-parser.d.ts +0 -3
  324. package/dist/src/dockerfile-parser.js +0 -39
  325. package/dist/src/file-lock.js +0 -47
  326. package/dist/src/generic-container/create-container-options.d.ts +0 -3
  327. package/dist/src/generic-container/create-container-options.js +0 -18
  328. package/dist/src/generic-container/generic-container-builder.js +0 -97
  329. package/dist/src/generic-container/generic-container.js +0 -329
  330. package/dist/src/generic-container/started-generic-container.js +0 -168
  331. package/dist/src/generic-container/stopped-generic-container.js +0 -20
  332. package/dist/src/hash.d.ts +0 -1
  333. package/dist/src/images.d.ts +0 -2
  334. package/dist/src/images.js +0 -6
  335. package/dist/src/index.d.ts +0 -25
  336. package/dist/src/index.js +0 -66
  337. package/dist/src/labels.js +0 -8
  338. package/dist/src/modules/abstract-started-container.js +0 -86
  339. package/dist/src/modules/arangodb/arangodb-container.d.ts +0 -19
  340. package/dist/src/modules/arangodb/arangodb-container.js +0 -60
  341. package/dist/src/modules/elasticsearch/elasticsearch-container.d.ts +0 -12
  342. package/dist/src/modules/elasticsearch/elasticsearch-container.js +0 -49
  343. package/dist/src/modules/hivemq/hivemq-container.d.ts +0 -15
  344. package/dist/src/modules/hivemq/hivemq-container.js +0 -79
  345. package/dist/src/modules/kafka/kafka-container.d.ts +0 -45
  346. package/dist/src/modules/kafka/kafka-container.js +0 -177
  347. package/dist/src/modules/mongodb/mongodb-container.d.ts +0 -19
  348. package/dist/src/modules/mongodb/mongodb-container.js +0 -85
  349. package/dist/src/modules/mysql/mysql-container.d.ts +0 -30
  350. package/dist/src/modules/mysql/mysql-container.js +0 -111
  351. package/dist/src/modules/nats/nats-container.d.ts +0 -55
  352. package/dist/src/modules/nats/nats-container.js +0 -99
  353. package/dist/src/modules/neo4j/neo4j-container.d.ts +0 -23
  354. package/dist/src/modules/neo4j/neo4j-container.js +0 -82
  355. package/dist/src/modules/postgresql/postgresql-container.d.ts +0 -28
  356. package/dist/src/modules/postgresql/postgresql-container.js +0 -87
  357. package/dist/src/modules/selenium/selenium-container.d.ts +0 -38
  358. package/dist/src/modules/selenium/selenium-container.js +0 -161
  359. package/dist/src/network.d.ts +0 -18
  360. package/dist/src/network.js +0 -60
  361. package/dist/src/port-check.js +0 -90
  362. package/dist/src/port-forwarder.js +0 -83
  363. package/dist/src/port-generator.js +0 -51
  364. package/dist/src/port.js +0 -47
  365. package/dist/src/pull-policy.d.ts +0 -9
  366. package/dist/src/pull-policy.js +0 -15
  367. package/dist/src/reaper.d.ts +0 -5
  368. package/dist/src/reaper.js +0 -157
  369. package/dist/src/registry-auth-locator/auths.d.ts +0 -8
  370. package/dist/src/registry-auth-locator/auths.js +0 -56
  371. package/dist/src/registry-auth-locator/cred-helpers.d.ts +0 -6
  372. package/dist/src/registry-auth-locator/credential-provider.js +0 -81
  373. package/dist/src/registry-auth-locator/creds-store.d.ts +0 -6
  374. package/dist/src/registry-auth-locator/registry-auth-locator.d.ts +0 -6
  375. package/dist/src/retry-strategy.js +0 -46
  376. package/dist/src/stream-utils.js +0 -46
  377. package/dist/src/system-info.d.ts +0 -19
  378. package/dist/src/system-info.js +0 -80
  379. package/dist/src/test-containers.js +0 -22
  380. package/dist/src/wait-for-container.d.ts +0 -4
  381. package/dist/src/wait-for-container.js +0 -34
  382. package/dist/src/wait-strategy/composite-wait-strategy.js +0 -57
  383. package/dist/src/wait-strategy/health-check-wait-strategy.js +0 -36
  384. package/dist/src/wait-strategy/host-port-wait-strategy.js +0 -59
  385. package/dist/src/wait-strategy/http-wait-strategy.js +0 -120
  386. package/dist/src/wait-strategy/log-wait-strategy.js +0 -69
  387. package/dist/src/wait-strategy/shell-wait-strategy.js +0 -39
  388. package/dist/src/wait-strategy/startup-check-strategy.js +0 -35
  389. /package/{dist/src → build/common}/clock.d.ts +0 -0
  390. /package/{dist/src → build/common}/file-lock.d.ts +0 -0
  391. /package/{dist/src/stream-utils.d.ts → build/common/streams.d.ts} +0 -0
  392. /package/{dist/src → build/common}/type-guards.d.ts +0 -0
  393. /package/{dist/src → build/common}/uuid.d.ts +0 -0
  394. /package/{dist/src/registry-auth-locator → build/container-runtime/auth}/registry-matches.d.ts +0 -0
  395. /package/{dist/src/docker/functions/container → build/container-runtime/utils}/attach-container.d.ts +0 -0
  396. /package/{dist/src/docker/functions → build/container-runtime/utils}/run-in-container.d.ts +0 -0
  397. /package/{dist/src/docker/functions/container → build/container-runtime/utils}/start-container.d.ts +0 -0
  398. /package/{dist/src → build}/docker-compose-environment/downed-docker-compose-environment.d.ts +0 -0
  399. /package/{dist/src/modules → build/generic-container}/abstract-stopped-container.d.ts +0 -0
  400. /package/{dist/src → build}/generic-container/stopped-generic-container.d.ts +0 -0
  401. /package/{dist/src → build}/test-containers.d.ts +0 -0
  402. /package/{dist/src → build/utils}/port-generator.d.ts +0 -0
  403. /package/{dist/src/wait-strategy → build/wait-strategies}/health-check-wait-strategy.d.ts +0 -0
  404. /package/{dist/src/wait-strategy → build/wait-strategies}/shell-wait-strategy.d.ts +0 -0
  405. /package/{dist/src/wait-strategy → build/wait-strategies}/wait.d.ts +0 -0
@@ -1,45 +0,0 @@
1
- import { GenericContainer } from "../../generic-container/generic-container";
2
- import { StartedTestContainer } from "../..";
3
- import { AbstractStartedContainer } from "../abstract-started-container";
4
- import { InspectResult } from "../../docker/functions/container/inspect-container";
5
- import { Content } from "../../docker/types";
6
- export declare const KAFKA_IMAGE = "confluentinc/cp-kafka:7.2.2";
7
- interface SaslSslListenerOptions {
8
- sasl: SaslOptions;
9
- port: number;
10
- keystore: PKCS12CertificateStore;
11
- truststore?: PKCS12CertificateStore;
12
- }
13
- interface SaslOptions {
14
- mechanism: "SCRAM-SHA-256" | "SCRAM-SHA-512";
15
- user: User;
16
- }
17
- interface User {
18
- name: string;
19
- password: string;
20
- }
21
- interface PKCS12CertificateStore {
22
- content: Content;
23
- passphrase: string;
24
- }
25
- export declare class KafkaContainer extends GenericContainer {
26
- private readonly uuid;
27
- private isZooKeeperProvided;
28
- private zooKeeperHost?;
29
- private zooKeeperPort?;
30
- private saslSslConfig?;
31
- constructor(image?: string);
32
- withZooKeeper(host: string, port: number): this;
33
- withSaslSslListener(options: SaslSslListenerOptions): this;
34
- protected beforeContainerStarted(): Promise<void>;
35
- start(): Promise<StartedKafkaContainer>;
36
- protected containerStarted(container: StartedTestContainer, inspectResult: InspectResult): Promise<void>;
37
- private addPlaintextAndSecureListener;
38
- private addPlaintextListener;
39
- private updateAdvertisedListeners;
40
- private createUser;
41
- }
42
- export declare class StartedKafkaContainer extends AbstractStartedContainer {
43
- constructor(startedTestContainer: StartedTestContainer);
44
- }
45
- export {};
@@ -1,177 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.StartedKafkaContainer = exports.KafkaContainer = exports.KAFKA_IMAGE = void 0;
13
- const generic_container_1 = require("../../generic-container/generic-container");
14
- const uuid_1 = require("../../uuid");
15
- const abstract_started_container_1 = require("../abstract-started-container");
16
- const KAFKA_PORT = 9093;
17
- const KAFKA_BROKER_PORT = 9092;
18
- const DEFAULT_ZOOKEEPER_PORT = 2181;
19
- exports.KAFKA_IMAGE = "confluentinc/cp-kafka:7.2.2";
20
- class KafkaContainer extends generic_container_1.GenericContainer {
21
- constructor(image = exports.KAFKA_IMAGE) {
22
- super(image);
23
- this.uuid = new uuid_1.RandomUuid();
24
- this.isZooKeeperProvided = false;
25
- this.withExposedPorts(KAFKA_PORT).withStartupTimeout(180000).withEnvironment({
26
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "BROKER:PLAINTEXT,PLAINTEXT:PLAINTEXT",
27
- KAFKA_INTER_BROKER_LISTENER_NAME: "BROKER",
28
- KAFKA_BROKER_ID: "1",
29
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: "1",
30
- KAFKA_OFFSETS_TOPIC_NUM_PARTITIONS: "1",
31
- KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: "1",
32
- KAFKA_LOG_FLUSH_INTERVAL_MESSAGES: "9223372036854775807",
33
- KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: "0",
34
- KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE: "false",
35
- });
36
- }
37
- withZooKeeper(host, port) {
38
- this.isZooKeeperProvided = true;
39
- this.zooKeeperHost = host;
40
- this.zooKeeperPort = port;
41
- return this;
42
- }
43
- withSaslSslListener(options) {
44
- this.saslSslConfig = options;
45
- return this;
46
- }
47
- beforeContainerStarted() {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const network = this.networkMode && this.networkAliases.length > 0 ? this.networkAliases[0] : "localhost";
50
- this.withEnvironment({ KAFKA_ADVERTISED_LISTENERS: `BROKER://${network}:${KAFKA_BROKER_PORT}` });
51
- if (this.saslSslConfig) {
52
- this.addPlaintextAndSecureListener(this.saslSslConfig);
53
- }
54
- else {
55
- this.addPlaintextListener();
56
- }
57
- let command = "#!/bin/bash\n";
58
- if (this.isZooKeeperProvided) {
59
- this.withEnvironment({ KAFKA_ZOOKEEPER_CONNECT: `${this.zooKeeperHost}:${this.zooKeeperPort}` });
60
- }
61
- else {
62
- this.zooKeeperHost = this.uuid.nextUuid();
63
- this.zooKeeperPort = DEFAULT_ZOOKEEPER_PORT;
64
- this.withExposedPorts(this.zooKeeperPort);
65
- this.withEnvironment({ KAFKA_ZOOKEEPER_CONNECT: `localhost:${this.zooKeeperPort}` });
66
- command += "echo 'clientPort=" + this.zooKeeperPort + "' > zookeeper.properties\n";
67
- command += "echo 'dataDir=/var/lib/zookeeper/data' >> zookeeper.properties\n";
68
- command += "echo 'dataLogDir=/var/lib/zookeeper/log' >> zookeeper.properties\n";
69
- command += "zookeeper-server-start zookeeper.properties &\n";
70
- }
71
- command += "echo '' > /etc/confluent/docker/ensure \n";
72
- command += "/etc/confluent/docker/run \n";
73
- this.withCommand(["sh", "-c", command]);
74
- });
75
- }
76
- start() {
77
- const _super = Object.create(null, {
78
- start: { get: () => super.start }
79
- });
80
- return __awaiter(this, void 0, void 0, function* () {
81
- return new StartedKafkaContainer(yield _super.start.call(this));
82
- });
83
- }
84
- containerStarted(container, inspectResult) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- yield this.updateAdvertisedListeners(container, inspectResult);
87
- if (this.saslSslConfig) {
88
- yield this.createUser(container, this.saslSslConfig.sasl);
89
- }
90
- });
91
- }
92
- addPlaintextAndSecureListener({ port, sasl, keystore, truststore }) {
93
- this.withEnvironment({
94
- KAFKA_LISTENERS: `SECURE://0.0.0.0:${port},PLAINTEXT://0.0.0.0:${KAFKA_PORT},BROKER://0.0.0.0:${KAFKA_BROKER_PORT}`,
95
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "BROKER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SECURE:SASL_SSL",
96
- KAFKA_SSL_PROTOCOL: "TLSv1.2",
97
- KAFKA_SSL_KEYSTORE_LOCATION: "/etc/kafka/secrets/server.keystore.pfx",
98
- KAFKA_SSL_KEYSTORE_PASSWORD: keystore.passphrase,
99
- KAFKA_SSL_KEYSTORE_TYPE: "PKCS12",
100
- KAFKA_SASL_ENABLED_MECHANISMS: sasl.mechanism,
101
- [`KAFKA_LISTENER_NAME_SECURE_${sasl.mechanism}_SASL_JAAS_CONFIG`]: "org.apache.kafka.common.security.scram.ScramLoginModule required;",
102
- })
103
- .withCopyContentToContainer([{ content: keystore.content, target: "/etc/kafka/secrets/server.keystore.pfx" }])
104
- .withExposedPorts(KAFKA_PORT, port);
105
- if (truststore) {
106
- this.withCopyContentToContainer([
107
- { content: truststore.content, target: "/etc/kafka/secrets/server.truststore.pfx" },
108
- ]).withEnvironment({
109
- KAFKA_SSL_TRUSTSTORE_LOCATION: "/etc/kafka/secrets/server.truststore.pfx",
110
- KAFKA_SSL_TRUSTSTORE_PASSWORD: truststore.passphrase,
111
- KAFKA_SSL_TRUSTSTORE_TYPE: "PKCS12",
112
- });
113
- }
114
- }
115
- addPlaintextListener() {
116
- this.withEnvironment({
117
- KAFKA_LISTENERS: `PLAINTEXT://0.0.0.0:${KAFKA_PORT},BROKER://0.0.0.0:${KAFKA_BROKER_PORT}`,
118
- }).withExposedPorts(KAFKA_PORT);
119
- }
120
- updateAdvertisedListeners(container, inspectResult) {
121
- return __awaiter(this, void 0, void 0, function* () {
122
- const brokerAdvertisedListener = `BROKER://${inspectResult.hostname}:${KAFKA_BROKER_PORT}`;
123
- let bootstrapServers = `PLAINTEXT://${container.getHost()}:${container.getMappedPort(KAFKA_PORT)}`;
124
- if (this.saslSslConfig) {
125
- if (this.networkMode) {
126
- bootstrapServers = `${bootstrapServers},SECURE://${inspectResult.hostname}:${this.saslSslConfig.port}`;
127
- }
128
- else {
129
- bootstrapServers = `${bootstrapServers},SECURE://${container.getHost()}:${container.getMappedPort(this.saslSslConfig.port)}`;
130
- }
131
- }
132
- const { output, exitCode } = yield container.exec([
133
- "kafka-configs",
134
- "--alter",
135
- "--bootstrap-server",
136
- brokerAdvertisedListener,
137
- "--entity-type",
138
- "brokers",
139
- "--entity-name",
140
- this.opts.environment["KAFKA_BROKER_ID"],
141
- "--add-config",
142
- `advertised.listeners=[${bootstrapServers},${brokerAdvertisedListener}]`,
143
- ]);
144
- if (exitCode !== 0) {
145
- throw new Error(`Kafka container configuration failed with exit code ${exitCode}: ${output}`);
146
- }
147
- });
148
- }
149
- createUser(container, { user: { name, password }, mechanism }) {
150
- return __awaiter(this, void 0, void 0, function* () {
151
- const { output, exitCode } = yield container.exec([
152
- "kafka-configs",
153
- "--alter",
154
- // At the time of writing kafka-configs displays a warning stating that the 'zookeeper' flag is deprecated in favor of 'bootstrap-server'.
155
- // Unfortunately, 'bootstrap-server' can only be used to set quotas and not to create a user.
156
- "--zookeeper",
157
- this.opts.environment["KAFKA_ZOOKEEPER_CONNECT"],
158
- "--entity-type",
159
- "users",
160
- "--entity-name",
161
- `${name}`,
162
- "--add-config",
163
- `${mechanism}=[password=${password}]`,
164
- ]);
165
- if (exitCode !== 0) {
166
- throw new Error(`Kafka container configuration failed with exit code ${exitCode}: ${output}`);
167
- }
168
- });
169
- }
170
- }
171
- exports.KafkaContainer = KafkaContainer;
172
- class StartedKafkaContainer extends abstract_started_container_1.AbstractStartedContainer {
173
- constructor(startedTestContainer) {
174
- super(startedTestContainer);
175
- }
176
- }
177
- exports.StartedKafkaContainer = StartedKafkaContainer;
@@ -1,19 +0,0 @@
1
- import { GenericContainer } from "../../generic-container/generic-container";
2
- import { AbstractStartedContainer } from "../abstract-started-container";
3
- import { StartedTestContainer } from "../../test-container";
4
- export declare class MongoDBContainer extends GenericContainer {
5
- private readonly dockerImageName;
6
- constructor(image?: string);
7
- start(): Promise<StartedMongoDBContainer>;
8
- protected containerStarted(startedTestContainer: StartedTestContainer): Promise<void>;
9
- private initReplicaSet;
10
- private executeMongoEvalCommand;
11
- private buildMongoEvalCommand;
12
- private getMongoCmdBasedOnImageTag;
13
- private checkMongoNodeExitCode;
14
- private buildMongoWaitCommand;
15
- }
16
- export declare class StartedMongoDBContainer extends AbstractStartedContainer {
17
- constructor(startedTestContainer: StartedTestContainer);
18
- getConnectionString(): string;
19
- }
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.StartedMongoDBContainer = exports.MongoDBContainer = void 0;
13
- const generic_container_1 = require("../../generic-container/generic-container");
14
- const abstract_started_container_1 = require("../abstract-started-container");
15
- const wait_1 = require("../../wait-strategy/wait");
16
- const docker_image_name_1 = require("../../docker-image-name");
17
- const MONGODB_PORT = 27017;
18
- class MongoDBContainer extends generic_container_1.GenericContainer {
19
- constructor(image = "mongo:4.0.1") {
20
- super(image);
21
- this.dockerImageName = docker_image_name_1.DockerImageName.fromString(this.image);
22
- }
23
- start() {
24
- const _super = Object.create(null, {
25
- start: { get: () => super.start }
26
- });
27
- return __awaiter(this, void 0, void 0, function* () {
28
- this.withExposedPorts(MONGODB_PORT)
29
- .withCommand(["--replSet", "rs0"])
30
- .withWaitStrategy(wait_1.Wait.forLogMessage(/.*waiting for connections.*/i))
31
- .withStartupTimeout(120000);
32
- return new StartedMongoDBContainer(yield _super.start.call(this));
33
- });
34
- }
35
- containerStarted(startedTestContainer) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- yield this.initReplicaSet(startedTestContainer);
38
- });
39
- }
40
- initReplicaSet(startedTestContainer) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- yield this.executeMongoEvalCommand(startedTestContainer, "rs.initiate();");
43
- yield this.executeMongoEvalCommand(startedTestContainer, this.buildMongoWaitCommand());
44
- });
45
- }
46
- executeMongoEvalCommand(startedTestContainer, command) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const execResult = yield startedTestContainer.exec(this.buildMongoEvalCommand(command));
49
- this.checkMongoNodeExitCode(execResult);
50
- });
51
- }
52
- buildMongoEvalCommand(command) {
53
- return [this.getMongoCmdBasedOnImageTag(), "--eval", command];
54
- }
55
- getMongoCmdBasedOnImageTag() {
56
- return parseInt(this.dockerImageName.tag[0]) >= 5 ? "mongosh" : "mongo";
57
- }
58
- checkMongoNodeExitCode(execResult) {
59
- const { exitCode, output } = execResult;
60
- if (execResult.exitCode !== 0) {
61
- throw new Error(`Error running mongo command. Exit code ${exitCode}: ${output}`);
62
- }
63
- }
64
- buildMongoWaitCommand() {
65
- return `
66
- var attempt = 0;
67
- while(db.runCommand({isMaster: 1}).ismaster==false) {
68
- if (attempt > 60) {
69
- quit(1);
70
- }
71
- print(attempt); sleep(100); attempt++;
72
- }
73
- `;
74
- }
75
- }
76
- exports.MongoDBContainer = MongoDBContainer;
77
- class StartedMongoDBContainer extends abstract_started_container_1.AbstractStartedContainer {
78
- constructor(startedTestContainer) {
79
- super(startedTestContainer);
80
- }
81
- getConnectionString() {
82
- return `mongodb://${this.getHost()}:${this.getMappedPort(MONGODB_PORT)}`;
83
- }
84
- }
85
- exports.StartedMongoDBContainer = StartedMongoDBContainer;
@@ -1,30 +0,0 @@
1
- import { GenericContainer } from "../../generic-container/generic-container";
2
- import { StartedTestContainer } from "../../test-container";
3
- import { AbstractStartedContainer } from "../abstract-started-container";
4
- export declare class MySqlContainer extends GenericContainer {
5
- private database;
6
- private username;
7
- private userPassword;
8
- private rootPassword;
9
- constructor(image?: string);
10
- withDatabase(database: string): this;
11
- withUsername(username: string): this;
12
- withRootPassword(rootPassword: string): this;
13
- withUserPassword(userPassword: string): this;
14
- start(): Promise<StartedMySqlContainer>;
15
- }
16
- export declare class StartedMySqlContainer extends AbstractStartedContainer {
17
- private readonly database;
18
- private readonly username;
19
- private readonly userPassword;
20
- private readonly rootPassword;
21
- private readonly port;
22
- constructor(startedTestContainer: StartedTestContainer, database: string, username: string, userPassword: string, rootPassword: string);
23
- getPort(): number;
24
- getDatabase(): string;
25
- getUsername(): string;
26
- getUserPassword(): string;
27
- getRootPassword(): string;
28
- getConnectionUri(isRoot?: boolean): string;
29
- executeQuery(query: string, additionalFlags?: string[]): Promise<string>;
30
- }
@@ -1,111 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.StartedMySqlContainer = exports.MySqlContainer = void 0;
13
- const generic_container_1 = require("../../generic-container/generic-container");
14
- const abstract_started_container_1 = require("../abstract-started-container");
15
- const MYSQL_PORT = 3306;
16
- class MySqlContainer extends generic_container_1.GenericContainer {
17
- constructor(image = "mysql:8.0.31") {
18
- super(image);
19
- this.database = "test";
20
- this.username = "test";
21
- this.userPassword = "test";
22
- this.rootPassword = "test";
23
- }
24
- withDatabase(database) {
25
- this.database = database;
26
- return this;
27
- }
28
- withUsername(username) {
29
- this.username = username;
30
- return this;
31
- }
32
- withRootPassword(rootPassword) {
33
- this.rootPassword = rootPassword;
34
- return this;
35
- }
36
- withUserPassword(userPassword) {
37
- this.userPassword = userPassword;
38
- return this;
39
- }
40
- start() {
41
- const _super = Object.create(null, {
42
- start: { get: () => super.start }
43
- });
44
- return __awaiter(this, void 0, void 0, function* () {
45
- this.withExposedPorts(...(this.hasExposedPorts ? this.opts.exposedPorts : [MYSQL_PORT]))
46
- .withEnvironment({
47
- MYSQL_DATABASE: this.database,
48
- MYSQL_ROOT_PASSWORD: this.rootPassword,
49
- MYSQL_USER: this.username,
50
- MYSQL_PASSWORD: this.userPassword,
51
- })
52
- .withStartupTimeout(120000);
53
- return new StartedMySqlContainer(yield _super.start.call(this), this.database, this.username, this.userPassword, this.rootPassword);
54
- });
55
- }
56
- }
57
- exports.MySqlContainer = MySqlContainer;
58
- class StartedMySqlContainer extends abstract_started_container_1.AbstractStartedContainer {
59
- constructor(startedTestContainer, database, username, userPassword, rootPassword) {
60
- super(startedTestContainer);
61
- this.database = database;
62
- this.username = username;
63
- this.userPassword = userPassword;
64
- this.rootPassword = rootPassword;
65
- this.port = startedTestContainer.getMappedPort(3306);
66
- }
67
- getPort() {
68
- return this.port;
69
- }
70
- getDatabase() {
71
- return this.database;
72
- }
73
- getUsername() {
74
- return this.username;
75
- }
76
- getUserPassword() {
77
- return this.userPassword;
78
- }
79
- getRootPassword() {
80
- return this.rootPassword;
81
- }
82
- getConnectionUri(isRoot = false) {
83
- const url = new URL("", "mysql://");
84
- url.hostname = this.getHost();
85
- url.port = this.getPort().toString();
86
- url.pathname = this.getDatabase();
87
- url.username = isRoot ? "root" : this.getUsername();
88
- url.password = isRoot ? this.getRootPassword() : this.getUserPassword();
89
- return url.toString();
90
- }
91
- executeQuery(query, additionalFlags = []) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- const result = yield this.startedTestContainer.exec([
94
- "mysql",
95
- "-h",
96
- "127.0.0.1",
97
- "-u",
98
- this.username,
99
- `-p${this.userPassword}`,
100
- "-e",
101
- `${query};`,
102
- ...additionalFlags,
103
- ]);
104
- if (result.exitCode !== 0) {
105
- throw new Error(`executeQuery failed with exit code ${result.exitCode} for query: ${query}`);
106
- }
107
- return result.output;
108
- });
109
- }
110
- }
111
- exports.StartedMySqlContainer = StartedMySqlContainer;
@@ -1,55 +0,0 @@
1
- import { GenericContainer } from "../../generic-container/generic-container";
2
- import { StartedTestContainer } from "../../test-container";
3
- import { AbstractStartedContainer } from "../abstract-started-container";
4
- export declare class NatsContainer extends GenericContainer {
5
- private args;
6
- constructor(image?: string);
7
- withUsername(user: string): this;
8
- withPass(pass: string): this;
9
- withArg(name: string, value: string): this;
10
- private static ensureDashInFrontOfArgumentName;
11
- start(): Promise<StartedNatsContainer>;
12
- private getUser;
13
- private getPass;
14
- }
15
- export declare class StartedNatsContainer extends AbstractStartedContainer {
16
- readonly username: string;
17
- readonly password: string;
18
- private readonly connectionOptions;
19
- constructor(startedTestContainer: StartedTestContainer, username: string, password: string);
20
- getConnectionOptions(): NatsConnectionOptions;
21
- }
22
- export interface NatsConnectionOptions {
23
- debug?: boolean;
24
- maxPingOut?: number;
25
- maxReconnectAttempts?: number;
26
- name?: string;
27
- noEcho?: boolean;
28
- noRandomize?: boolean;
29
- pass?: string;
30
- pedantic?: boolean;
31
- pingInterval?: number;
32
- port?: number;
33
- reconnect?: boolean;
34
- reconnectDelayHandler?: () => number;
35
- reconnectJitter?: number;
36
- reconnectJitterTLS?: number;
37
- reconnectTimeWait?: number;
38
- servers?: Array<string> | string;
39
- timeout?: number;
40
- tls?: NatsTlsOptions;
41
- token?: string;
42
- user?: string;
43
- verbose?: boolean;
44
- waitOnFirstConnect?: boolean;
45
- ignoreClusterUpdates?: boolean;
46
- inboxPrefix?: string;
47
- }
48
- export interface NatsTlsOptions {
49
- certFile?: string;
50
- cert?: string;
51
- caFile?: string;
52
- ca?: string;
53
- keyFile?: string;
54
- key?: string;
55
- }
@@ -1,99 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.StartedNatsContainer = exports.NatsContainer = void 0;
13
- const generic_container_1 = require("../../generic-container/generic-container");
14
- const abstract_started_container_1 = require("../abstract-started-container");
15
- const wait_1 = require("../../wait-strategy/wait");
16
- const CLIENT_PORT = 4222;
17
- const ROUTING_PORT_FOR_CLUSTERING = 6222;
18
- const HTTP_MANAGEMENT_PORT = 8222;
19
- const USER_ARGUMENT_KEY = "--user";
20
- const PASS_ARGUMENT_KEY = "--pass";
21
- class NatsContainer extends generic_container_1.GenericContainer {
22
- constructor(image = "nats:2.8.4-alpine") {
23
- super(image);
24
- this.args = {};
25
- this.args[USER_ARGUMENT_KEY] = "test";
26
- this.args[PASS_ARGUMENT_KEY] = "test";
27
- }
28
- withUsername(user) {
29
- this.args[USER_ARGUMENT_KEY] = user;
30
- return this;
31
- }
32
- withPass(pass) {
33
- this.args[PASS_ARGUMENT_KEY] = pass;
34
- return this;
35
- }
36
- withArg(name, value) {
37
- name = NatsContainer.ensureDashInFrontOfArgumentName(name);
38
- this.args[name] = value;
39
- return this;
40
- }
41
- static ensureDashInFrontOfArgumentName(name) {
42
- if (name.startsWith("--") || name.startsWith("-")) {
43
- return name;
44
- }
45
- if (name.length == 1) {
46
- return "-" + name;
47
- }
48
- else {
49
- return "--" + name;
50
- }
51
- }
52
- start() {
53
- const _super = Object.create(null, {
54
- start: { get: () => super.start }
55
- });
56
- return __awaiter(this, void 0, void 0, function* () {
57
- function buildCmdsFromArgs(args) {
58
- const result = [];
59
- result.push("nats-server");
60
- for (const argsKey in args) {
61
- result.push(argsKey);
62
- result.push(args[argsKey]);
63
- }
64
- return result;
65
- }
66
- this.withCommand(buildCmdsFromArgs(this.args))
67
- .withExposedPorts(...(this.hasExposedPorts
68
- ? this.opts.exposedPorts
69
- : [CLIENT_PORT, ROUTING_PORT_FOR_CLUSTERING, HTTP_MANAGEMENT_PORT]))
70
- .withWaitStrategy(wait_1.Wait.forLogMessage(/.*Server is ready.*/))
71
- .withStartupTimeout(120000);
72
- return new StartedNatsContainer(yield _super.start.call(this), this.getUser(), this.getPass());
73
- });
74
- }
75
- getUser() {
76
- return this.args[USER_ARGUMENT_KEY];
77
- }
78
- getPass() {
79
- return this.args[PASS_ARGUMENT_KEY];
80
- }
81
- }
82
- exports.NatsContainer = NatsContainer;
83
- class StartedNatsContainer extends abstract_started_container_1.AbstractStartedContainer {
84
- constructor(startedTestContainer, username, password) {
85
- super(startedTestContainer);
86
- this.username = username;
87
- this.password = password;
88
- const port = startedTestContainer.getMappedPort(CLIENT_PORT);
89
- this.connectionOptions = {
90
- servers: `${this.startedTestContainer.getHost()}:${port}`,
91
- user: this.username,
92
- pass: this.password,
93
- };
94
- }
95
- getConnectionOptions() {
96
- return this.connectionOptions;
97
- }
98
- }
99
- exports.StartedNatsContainer = StartedNatsContainer;
@@ -1,23 +0,0 @@
1
- import { GenericContainer } from "../..";
2
- import { StartedTestContainer } from "../../test-container";
3
- import { AbstractStartedContainer } from "../abstract-started-container";
4
- export declare class Neo4jContainer extends GenericContainer {
5
- private password;
6
- private apoc;
7
- private ttl?;
8
- constructor(image?: string);
9
- withPassword(password: string): this;
10
- withApoc(): this;
11
- withTtl(schedule?: number): this;
12
- start(): Promise<StartedNeo4jContainer>;
13
- }
14
- export declare class StartedNeo4jContainer extends AbstractStartedContainer {
15
- private readonly password;
16
- private readonly boltPort;
17
- private readonly httpPort;
18
- constructor(startedTestContainer: StartedTestContainer, password: string);
19
- getBoltUri(): string;
20
- getHttpUri(): string;
21
- getPassword(): string;
22
- getUsername(): string;
23
- }