diff --git a/README.md b/README.md index 8e67480..cb6eaee 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # clj-test-containers -[![javahippie](https://circleci.com/gh/javahippie/clj-test-containers.svg?style=svg)]() - [![Clojars Project](http://clojars.org/clj-test-containers/latest-version.svg)](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) diff --git a/src/clj_test_containers/core.clj b/src/clj_test_containers/core.clj index 3a3b999..697599b 100644 --- a/src/clj_test_containers/core.clj +++ b/src/clj_test_containers/core.clj @@ -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