Packages
testcontainers
2.3.1
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/pull_policy.ex
defmodule Testcontainers.PullPolicy do
@moduledoc """
Pull policies that control whether an image is fetched from a remote registry
before starting a container.
"""
alias Testcontainers.PullPolicy
@type t :: %__MODULE__{
always_pull: boolean() | nil,
pull_if_missing: boolean() | nil,
pull_condition: (struct(), Tesla.Env.t() -> boolean()) | nil
}
defstruct [:always_pull, :pull_if_missing, :pull_condition]
@spec always_pull() :: PullPolicy.t()
def always_pull do
%__MODULE__{always_pull: true}
end
@spec never_pull() :: PullPolicy.t()
def never_pull do
%__MODULE__{}
end
@spec pull_if_missing() :: PullPolicy.t()
def pull_if_missing do
%__MODULE__{pull_if_missing: true}
end
@spec pull_condition(
expr ::
(config :: struct(), conn :: Tesla.Env.t() -> true | false)
) ::
PullPolicy.t()
def pull_condition(expr) do
%__MODULE__{pull_condition: expr}
end
end