summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lib/powerdnsex/config_test.exs19
-rw-r--r--test/support/fake_config.exs4
2 files changed, 23 insertions, 0 deletions
diff --git a/test/lib/powerdnsex/config_test.exs b/test/lib/powerdnsex/config_test.exs
index eca2e03..37f0f63 100644
--- a/test/lib/powerdnsex/config_test.exs
+++ b/test/lib/powerdnsex/config_test.exs
@@ -5,6 +5,7 @@ defmodule PowerDNSex.ConfigTest do
setup do: Config.set_url()
setup do: Config.set_token()
+ setup do: Config.set_timeout()
setup do: Config.set_url() && Config.set_token()
describe "Config.powerdns_token/0" do
@@ -56,4 +57,22 @@ defmodule PowerDNSex.ConfigTest do
end
end
end
+
+ describe "Config.powerdns_timeout/0" do
+ @tag :configs
+ test "using application config" do
+ assert PowerDNSex.Config.powerdns_timeout() == :timer.seconds(Config.timeout())
+ end
+
+ @tag :configs
+ test "given none timeout config" do
+ Application.delete_env(:powerdnsex, :timeout)
+ expected_error = "[PowerDNSex] PowerDNS timeout not configured."
+
+ assert_raise RuntimeError, expected_error, fn ->
+ PowerDNSex.Config.powerdns_timeout()
+ end
+ end
+ end
+
end
diff --git a/test/support/fake_config.exs b/test/support/fake_config.exs
index c8f4f60..e05db22 100644
--- a/test/support/fake_config.exs
+++ b/test/support/fake_config.exs
@@ -1,10 +1,14 @@
defmodule PowerDNSex.FakeConfig do
@app_config_token "S3cr37_70k3n"
@app_config_url "https://my-powerdns.api"
+ @app_config_timeout 42
def set_url, do: Application.put_env(:powerdnsex, :url, @app_config_url)
def set_token, do: Application.put_env(:powerdnsex, :token, @app_config_token)
+ def set_timeout, do: Application.put_env(:powerdnsex, :timeout, @app_config_timeout)
+
def token, do: @app_config_token
def url, do: @app_config_url
+ def timeout, do: @app_config_timeout
end