Packages
testcontainers
1.11.3
2.3.1
2.3.0
2.2.0
2.1.0
2.1.0-rc1
2.0.0
2.0.0-rc3
2.0.0-rc2
2.0.0-rc
1.14.1
1.14.0
1.13.5
1.13.4
1.13.3
1.13.2
1.13.1
1.13.0
1.12.0
1.11.8
1.11.7
1.11.6
1.11.5
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.0
1.8.4
1.8.3
1.8.2
1.8.1
1.8.0
1.7.0
1.6.0
1.5.1
1.5.0
1.4.2
1.4.1
1.4.0
1.3.1
1.3.0
1.2.11
1.2.10
1.2.9
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
1.0.0-beta.1
1.0.0-beta
0.9.3
0.9.2
0.9.1
0.9.0
Testcontainers is an Elixir library that supports ExUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
Current section
Files
Jump to
Current section
Files
lib/connection/docker_host_strategy/docker_host_from_env.ex
# SPDX-License-Identifier: MIT
defmodule Testcontainers.DockerHostFromEnvStrategy do
@moduledoc false
defstruct key: "DOCKER_HOST"
alias Testcontainers.DockerUrl
defimpl Testcontainers.DockerHostStrategy do
def execute(strategy, _input) do
with {:ok, docker_host} <- get_docker_host(strategy) do
case docker_host |> DockerUrl.test_docker_host() do
:ok ->
{:ok, docker_host}
{:error, reason} ->
{:error, docker_host_from_env: reason}
end
end
end
defp get_docker_host(strategy) do
case System.get_env(strategy.key) do
nil ->
{:error, docker_host_from_env: :docker_host_not_found}
"" ->
{:error, docker_host_from_env: :docker_host_empty}
docker_host when is_binary(docker_host) ->
{:ok, docker_host}
end
end
end
end