Update code base on review/feedback
Fix the following - Fix the import style in one line - Use constructure once when creating the docker-image - Use some? instead of if - Remove :env-vars from the test - Move resources to test section
This commit is contained in:
parent
d2237b08b0
commit
cb77214ffa
4 changed files with 9 additions and 17 deletions
|
|
@ -1,14 +1,10 @@
|
||||||
(ns clj-test-containers.core
|
(ns clj-test-containers.core
|
||||||
(:require [clojure.java.io :as io])
|
(:require [clojure.java.io :as io])
|
||||||
(:import [org.testcontainers.containers
|
(:import [org.testcontainers.containers GenericContainer]
|
||||||
GenericContainer]
|
[org.testcontainers.utility MountableFile]
|
||||||
[org.testcontainers.utility
|
|
||||||
MountableFile]
|
|
||||||
[org.testcontainers.containers BindMode]
|
[org.testcontainers.containers BindMode]
|
||||||
[org.testcontainers.images.builder
|
[org.testcontainers.images.builder ImageFromDockerfile]
|
||||||
ImageFromDockerfile]
|
[java.nio.file Path Paths]))
|
||||||
[java.nio.file
|
|
||||||
Path Paths]))
|
|
||||||
|
|
||||||
(defn- resolve-bind-mode
|
(defn- resolve-bind-mode
|
||||||
[bind-mode]
|
[bind-mode]
|
||||||
|
|
@ -37,15 +33,14 @@
|
||||||
(defn create-from-docker-file
|
(defn create-from-docker-file
|
||||||
[{:keys [exposed-ports env-vars command docker-file]
|
[{:keys [exposed-ports env-vars command docker-file]
|
||||||
:or {docker-file "Dockerfile"}}]
|
:or {docker-file "Dockerfile"}}]
|
||||||
(let [docker-image (ImageFromDockerfile.)
|
(let [docker-image (-> (ImageFromDockerfile.)
|
||||||
docker-image (-> docker-image
|
|
||||||
(.withDockerfile (Paths/get "." (into-array [docker-file]))))
|
(.withDockerfile (Paths/get "." (into-array [docker-file]))))
|
||||||
container (GenericContainer. docker-image)]
|
container (GenericContainer. docker-image)]
|
||||||
(.setExposedPorts container (map int exposed-ports))
|
(.setExposedPorts container (map int exposed-ports))
|
||||||
(if env-vars
|
(if (some? env-vars)
|
||||||
(doseq [[k v] env-vars]
|
(doseq [[k v] env-vars]
|
||||||
(.addEnv container k v)))
|
(.addEnv container k v)))
|
||||||
(if command
|
(if (some? command)
|
||||||
(.setCommand container command))
|
(.setCommand container command))
|
||||||
{:container container
|
{:container container
|
||||||
:exposed-ports (.getExposedPorts container)
|
:exposed-ports (.getExposedPorts container)
|
||||||
|
|
|
||||||
|
|
@ -16,11 +16,8 @@
|
||||||
(is (nil? (:mapped-ports stopped-container)))))
|
(is (nil? (:mapped-ports stopped-container)))))
|
||||||
|
|
||||||
(testing "Testing basic testcontainer image creation from docker file"
|
(testing "Testing basic testcontainer image creation from docker file"
|
||||||
(let [container (create-from-docker-file {:env-vars
|
(let [container (create-from-docker-file {:exposed-ports [80]
|
||||||
{"FOO" "bar"
|
:docker-file "test/resources/Dockerfile"})
|
||||||
"MAGIC_NUMBER" "42"}
|
|
||||||
:exposed-ports [80]
|
|
||||||
:docker-file "resources/Dockerfile"})
|
|
||||||
initialized-container (start! container)
|
initialized-container (start! container)
|
||||||
stopped-container (stop! container)]
|
stopped-container (stop! container)]
|
||||||
(is (some? (:id initialized-container)))
|
(is (some? (:id initialized-container)))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue