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:
Burin Choomnuan 2020-07-26 17:29:04 -04:00
parent d2237b08b0
commit cb77214ffa
4 changed files with 9 additions and 17 deletions

View file

@ -1,14 +1,10 @@
(ns clj-test-containers.core
(:require [clojure.java.io :as io])
(:import [org.testcontainers.containers
GenericContainer]
[org.testcontainers.utility
MountableFile]
(:import [org.testcontainers.containers GenericContainer]
[org.testcontainers.utility MountableFile]
[org.testcontainers.containers BindMode]
[org.testcontainers.images.builder
ImageFromDockerfile]
[java.nio.file
Path Paths]))
[org.testcontainers.images.builder ImageFromDockerfile]
[java.nio.file Path Paths]))
(defn- resolve-bind-mode
[bind-mode]
@ -37,15 +33,14 @@
(defn create-from-docker-file
[{:keys [exposed-ports env-vars command docker-file]
:or {docker-file "Dockerfile"}}]
(let [docker-image (ImageFromDockerfile.)
docker-image (-> docker-image
(let [docker-image (-> (ImageFromDockerfile.)
(.withDockerfile (Paths/get "." (into-array [docker-file]))))
container (GenericContainer. docker-image)]
(.setExposedPorts container (map int exposed-ports))
(if env-vars
(if (some? env-vars)
(doseq [[k v] env-vars]
(.addEnv container k v)))
(if command
(if (some? command)
(.setCommand container command))
{:container container
:exposed-ports (.getExposedPorts container)

View file

@ -16,11 +16,8 @@
(is (nil? (:mapped-ports stopped-container)))))
(testing "Testing basic testcontainer image creation from docker file"
(let [container (create-from-docker-file {:env-vars
{"FOO" "bar"
"MAGIC_NUMBER" "42"}
:exposed-ports [80]
:docker-file "resources/Dockerfile"})
(let [container (create-from-docker-file {:exposed-ports [80]
:docker-file "test/resources/Dockerfile"})
initialized-container (start! container)
stopped-container (stop! container)]
(is (some? (:id initialized-container)))