summaryrefslogtreecommitdiff
path: root/test/lib
diff options
context:
space:
mode:
authorTiago Freire <code.tiago.frire@locaweb.com.br>2016-08-22 21:26:56 -0300
committerTiago Freire <code.tiago.frire@locaweb.com.br>2016-08-26 14:19:28 -0300
commit416539a6acb4391b52f80d91b96fdab07658953d (patch)
tree6ea82b452f3acfe8f64ef703ed0386b6fca561a4 /test/lib
parentAdd Delete Record feature (diff)
WIP - Add elixir GenServer
Diffstat (limited to 'test/lib')
-rw-r--r--test/lib/powerdnsex/config_test.exs6
-rw-r--r--test/lib/powerdnsex/managers/records_manager_test.exs39
-rw-r--r--test/lib/powerdnsex/managers/zones_manager_test.exs16
3 files changed, 37 insertions, 24 deletions
diff --git a/test/lib/powerdnsex/config_test.exs b/test/lib/powerdnsex/config_test.exs
index adb212a..c0a5150 100644
--- a/test/lib/powerdnsex/config_test.exs
+++ b/test/lib/powerdnsex/config_test.exs
@@ -11,7 +11,7 @@ defmodule PowerDNSex.ConfigTest do
describe "Config.powerdns_token/0" do
@tag :configs
test "Using Env vars", with_valid_url do
- env_token = "3nv_S3cr37_T0k3n"
+ env_token = "S3cr37_70k3n"
System.put_env("POWERDNS_TOKEN", env_token)
Application.put_env(:powerdns, :token, {:system, "POWERDNS_TOKEN"})
assert PowerDNSex.Config.powerdns_token == env_token
@@ -36,7 +36,7 @@ defmodule PowerDNSex.ConfigTest do
describe "Config.powerdns_url/0" do
@tag :configs
test "Using Env vars", with_valid_token do
- env_url = "https://env-powerdns.test"
+ env_url = "https://env-powerdns.test/"
System.put_env("POWERDNS_URL", env_url)
Application.put_env(:powerdns, :url, {:system, "POWERDNS_URL"})
assert PowerDNSex.Config.powerdns_url == env_url
@@ -44,7 +44,7 @@ defmodule PowerDNSex.ConfigTest do
@tag :configs
test "using application config", with_valid_token_and_url do
- assert PowerDNSex.Config.powerdns_url == Config.url
+ assert PowerDNSex.Config.powerdns_url == Config.url <> "/"
end
@tag :configs
diff --git a/test/lib/powerdnsex/managers/records_manager_test.exs b/test/lib/powerdnsex/managers/records_manager_test.exs
index aa054c2..f01f757 100644
--- a/test/lib/powerdnsex/managers/records_manager_test.exs
+++ b/test/lib/powerdnsex/managers/records_manager_test.exs
@@ -1,10 +1,11 @@
-defmodule PowerDNSex.RecordsManagerTest do
+defmodule PowerDNSex.Managers.RecordsManagerTest do
use ExUnit.Case, async: false
use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney
- alias PowerDNSex.Models.{Zone, ResourceRecordSet, Record}
- alias PowerDNSex.RecordsManager
+ alias PowerDNSex.Models.{Zone, Record}
+ alias PowerDNSex.Managers.RecordsManager
+ alias PowerDNSex.FakeConfig, as: Config
@valid_zone %Zone{name: "my-domain.art.",
url: "api/v1/servers/localhost/zones/my-domain.art."}
@@ -43,14 +44,8 @@ defmodule PowerDNSex.RecordsManagerTest do
}
setup do
- # Config.set_url
- # Config.set_token
-
- pwdns_url_loca = "http://cpro36999.systemintegration.locaweb.com.br/"
- Application.put_env(:powerdns, :url, pwdns_url_loca)
-
- pwdns_token_loca = "Locaweb2016"
- Application.put_env(:powerdns, :token, pwdns_token_loca)
+ Config.set_url
+ Config.set_token
ExVCR.Config.cassette_library_dir("test/support/cassettes",
"test/support/custom_cassettes")
@@ -58,6 +53,7 @@ defmodule PowerDNSex.RecordsManagerTest do
end
describe "create/2" do
+ @tag :records_manager_create
test "exception given empty zones url" do
raise_msg = "[Records Manager] Zone URL attribute is empty!"
assert_raise RuntimeError, raise_msg, fn() ->
@@ -65,13 +61,30 @@ defmodule PowerDNSex.RecordsManagerTest do
end
end
- test "content and value of the return given correct params" do
+ @tag :records_manager_create
+ test "the return given correct params" do
use_cassette "records_manager/create/success" do
assert RecordsManager.create(@valid_zone, @new_record) == :ok
end
end
end
+ describe "show/2" do
+ @tag :records_manager_show
+ test "content given attrs of a valid record" do
+ use_cassette "records_manager/show/success" do
+ zone_name = @valid_zone.name
+ attrs = %{name: "new-record.#{zone_name}",
+ type: "A",
+ content: "127.0.0.1"}
+
+ record = RecordsManager.show(zone_name, attrs)
+ assert record.name == attrs.name
+ assert record.type == attrs.type
+ end
+ end
+ end
+
describe "update/2" do
@tag :records_manager_update
test "exception given empty zones url" do
@@ -109,7 +122,7 @@ defmodule PowerDNSex.RecordsManagerTest do
end
describe "delete/2" do
- @tag :records_manager_update
+ @tag :records_manager_delete
test "the return given a correct record" do
use_cassette "records_manager/delete/success" do
assert RecordsManager.delete(@valid_zone, @record_to_delete) == :ok
diff --git a/test/lib/powerdnsex/managers/zones_manager_test.exs b/test/lib/powerdnsex/managers/zones_manager_test.exs
index b3aa5ef..c0e874d 100644
--- a/test/lib/powerdnsex/managers/zones_manager_test.exs
+++ b/test/lib/powerdnsex/managers/zones_manager_test.exs
@@ -1,9 +1,9 @@
-defmodule PowerDNSex.ZonesManagerTest do
+defmodule PowerDNSex.Managers.ZonesManagerTest do
use ExUnit.Case, async: false
use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney
- alias PowerDNSex.ZonesManager
+ alias PowerDNSex.Managers.ZonesManager
alias PowerDNSex.Models.{Zone, Record}
alias PowerDNSex.Models.ResourceRecordSet, as: RRSet
alias PowerDNSex.FakeConfig, as: Config
@@ -37,14 +37,14 @@ defmodule PowerDNSex.ZonesManagerTest do
rrsets: @expected_rrset}
setup do
- # Config.set_url
- # Config.set_token
+ Config.set_url
+ Config.set_token
- pwdns_url_loca = "http://cpro36999.systemintegration.locaweb.com.br/"
- Application.put_env(:powerdns, :url, pwdns_url_loca)
+ # pwdns_url_loca = "http://cpro36999.systemintegration.locaweb.com.br/"
+ # Application.put_env(:powerdns, :url, pwdns_url_loca)
- pwdns_token_loca = "Locaweb2016"
- Application.put_env(:powerdns, :token, pwdns_token_loca)
+ # pwdns_token_loca = "Locaweb2016"
+ # Application.put_env(:powerdns, :token, pwdns_token_loca)
ExVCR.Config.cassette_library_dir("test/support/cassettes",
"test/support/custom_cassettes")