2024-04-14 10:52:23 +00:00
|
|
|
(ns testcontainers-clj.spec.core
|
2020-08-10 06:15:00 +00:00
|
|
|
(:require
|
2024-04-14 10:52:23 +00:00
|
|
|
[testcontainers-clj.spec.container :as csc]
|
|
|
|
|
[testcontainers-clj.spec.network :as csn]
|
2020-08-10 06:15:00 +00:00
|
|
|
[clojure.spec.alpha :as s]))
|
|
|
|
|
|
2020-09-24 17:23:12 +00:00
|
|
|
(s/def ::wait-for
|
2020-10-05 08:21:16 +00:00
|
|
|
(s/keys :req-un [::csc/wait-strategy]
|
2020-09-24 17:23:12 +00:00
|
|
|
:opt-un [::csc/path
|
|
|
|
|
::csc/message
|
|
|
|
|
::csc/check]))
|
|
|
|
|
|
2020-10-05 08:21:16 +00:00
|
|
|
(s/def ::log-to
|
|
|
|
|
(s/keys :req-un [::csc/log-strategy]
|
|
|
|
|
:opt-un [::csc/string]))
|
|
|
|
|
|
2020-08-10 06:15:00 +00:00
|
|
|
(s/def ::network
|
|
|
|
|
(s/nilable (s/keys :req-un [::csn/network
|
|
|
|
|
::csn/name
|
|
|
|
|
::csn/ipv6
|
|
|
|
|
::csn/driver])))
|
|
|
|
|
|
|
|
|
|
(s/def ::container
|
|
|
|
|
(s/keys :req-un [::csc/container
|
|
|
|
|
::csc/exposed-ports
|
|
|
|
|
::csc/env-vars
|
|
|
|
|
::csc/host]
|
2020-09-24 17:23:12 +00:00
|
|
|
:opt-un [::network
|
2020-10-05 08:21:16 +00:00
|
|
|
::wait-for
|
|
|
|
|
::log-to]))
|
|
|
|
|
|
2020-08-10 06:15:00 +00:00
|
|
|
(s/def ::init-options
|
|
|
|
|
(s/keys :req-un [::csc/container]
|
|
|
|
|
:opt-un [::csc/exposed-ports
|
|
|
|
|
::csc/env-vars
|
|
|
|
|
::csc/command
|
|
|
|
|
::network
|
2020-09-24 17:23:12 +00:00
|
|
|
::wait-for
|
2020-10-05 08:21:16 +00:00
|
|
|
::log-to
|
2020-08-10 06:15:00 +00:00
|
|
|
::csc/network-aliases]))
|
|
|
|
|
|
|
|
|
|
(s/def ::create-options
|
|
|
|
|
(s/keys :req-un [::csc/image-name]
|
|
|
|
|
:opt-un [::csc/exposed-ports
|
|
|
|
|
::csc/env-vars
|
|
|
|
|
::csc/command
|
|
|
|
|
::network
|
2020-09-24 17:23:12 +00:00
|
|
|
::wait-for
|
2020-10-05 08:21:16 +00:00
|
|
|
::log-to
|
2020-08-10 06:15:00 +00:00
|
|
|
::csc/network-aliases]))
|
|
|
|
|
|
2020-08-18 12:44:04 +00:00
|
|
|
(s/def ::create-network-options
|
2020-08-10 06:15:00 +00:00
|
|
|
(s/keys :opt-un [::csn/ipv6
|
|
|
|
|
::csn/driver]))
|