Merge branch 'master' of github.com:javahippie/clj-test-containers
This commit is contained in:
commit
0b1031c083
2 changed files with 14 additions and 15 deletions
14
README.md
14
README.md
|
|
@ -1,7 +1,5 @@
|
|||
# clj-test-containers
|
||||
|
||||
[](<LINK>)
|
||||
|
||||
[](http://clojars.org/clj-test-containers)
|
||||
|
||||
## What it is
|
||||
|
|
@ -24,7 +22,7 @@ The library provides a set of functions to interact with the testcontainers. A s
|
|||
(tc/bind-filesystem! {:host-path "/tmp"
|
||||
:container-path "/opt"
|
||||
:mode :read-only})
|
||||
(tc/start!))
|
||||
(tc/start!)))
|
||||
|
||||
(do-database-testing (:host container)
|
||||
(get (:mapped-ports container) 5432))
|
||||
|
|
@ -41,7 +39,7 @@ If you'd rather create a container from a Dockerfile in your project, it could l
|
|||
(def container (-> (tc/create-from-docker-file {:env-vars {"FOO" "bar"}
|
||||
:exposed-ports [80]
|
||||
:docker-file "resources/Dockerfile"})
|
||||
(tc/start!))
|
||||
(tc/start!)))
|
||||
```
|
||||
|
||||
If you prefer to use prebuilt containers from the Testcontainers project, you can do it like this
|
||||
|
|
@ -52,7 +50,7 @@ If you prefer to use prebuilt containers from the Testcontainers project, you ca
|
|||
|
||||
(def container (-> (tc/init {:container (PostgreSQLContainer. "postgres:12.2")
|
||||
:exposed-ports [5432]})
|
||||
(tc/start!))
|
||||
(tc/start!)))
|
||||
```
|
||||
|
||||
## Functions and Properties
|
||||
|
|
@ -229,7 +227,7 @@ Starts the Testcontainer, which was defined by `create`
|
|||
```clojure
|
||||
(def container (create {:image-name "alpine:3.2"
|
||||
:exposed-ports [80]
|
||||
:env-vars {"MAGIC_NUMBER" "42"})
|
||||
:env-vars {"MAGIC_NUMBER" "42"}}))
|
||||
|
||||
(start! container)
|
||||
```
|
||||
|
|
@ -255,7 +253,7 @@ The `container-config`
|
|||
```clojure
|
||||
(def container (create {:image-name "alpine:3.2"
|
||||
:exposed-ports [80]
|
||||
:env-vars {"MAGIC_NUMBER" "42"})
|
||||
:env-vars {"MAGIC_NUMBER" "42"}}))
|
||||
|
||||
(start! container)
|
||||
(stop! container)
|
||||
|
|
@ -404,7 +402,7 @@ Creates a network. The optional map accepts config values for enabling ipv6 and
|
|||
```clojure
|
||||
;;Create with config
|
||||
(create-network {:ipv6 false
|
||||
:driver "overlay")
|
||||
:driver "overlay"})
|
||||
|
||||
;;Create with default config
|
||||
(create-network)
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@
|
|||
(org.testcontainers.images.builder
|
||||
ImageFromDockerfile)
|
||||
(org.testcontainers.utility
|
||||
MountableFile)))
|
||||
MountableFile
|
||||
ResourceReaper)))
|
||||
|
||||
(defn- resolve-bind-mode
|
||||
(^BindMode [bind-mode]
|
||||
|
|
@ -27,7 +28,7 @@
|
|||
|
||||
(defn- reaper-instance
|
||||
[]
|
||||
(org.testcontainers.utility.ResourceReaper/instance))
|
||||
(ResourceReaper/instance))
|
||||
|
||||
(defmulti wait
|
||||
"Sets a wait strategy to the container. Supports :http, :health and :log as
|
||||
|
|
@ -278,10 +279,10 @@
|
|||
[port]
|
||||
[port (.getMappedPort container port)])
|
||||
mapped-ports (into {} (map map-port) exposed-ports)
|
||||
container-id (.getContainerId container)
|
||||
image-name (.getDockerImageName container)
|
||||
container-id ^String (.getContainerId container)
|
||||
image-name ^String (.getDockerImageName container)
|
||||
logger (log log-to container)]
|
||||
(.registerContainerForCleanup (reaper-instance)
|
||||
(.registerContainerForCleanup ^ResourceReaper (reaper-instance)
|
||||
container-id
|
||||
image-name)
|
||||
(-> container-config
|
||||
|
|
@ -317,7 +318,7 @@
|
|||
|
||||
(let [network (.build builder)
|
||||
network-name (.getName network)]
|
||||
(.registerNetworkIdForCleanup (reaper-instance) network-name)
|
||||
(.registerNetworkIdForCleanup ^ResourceReaper (reaper-instance) network-name)
|
||||
{:network network
|
||||
:name network-name
|
||||
:ipv6 (.getEnableIpv6 network)
|
||||
|
|
@ -328,7 +329,7 @@
|
|||
(defn perform-cleanup!
|
||||
"Stops and removes all container instances which were created in the active JVM or REPL session"
|
||||
[]
|
||||
(.performCleanup (reaper-instance)))
|
||||
(.performCleanup ^ResourceReaper (reaper-instance)))
|
||||
|
||||
|
||||
;;; REPL Helpers
|
||||
|
|
|
|||
Loading…
Reference in a new issue