summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDiego Alves <diego.oborba@gmail.com>2016-08-18 15:26:52 -0300
committerDiego Alves <diego.oborba@gmail.com>2016-08-18 15:28:47 -0300
commit9a1e95732dbf290cfd7a0b6d5dd6aaa79a2de902 (patch)
treeae1e3b4205691fc683e53bb532e3b2ce844a9e46 /test
parentdelete zone on powerDns (diff)
parentWIP (diff)
Merge branch 'WIP' into delete_zone
Conflicts: lib/powerdnsex/managers/records_manager.ex lib/powerdnsex/managers/zones_manager.ex lib/powerdnsex/models/record.ex lib/powerdnsex/models/resource_record_set.ex lib/powerdnsx.ex test/lib/powerdnsex/managers/records_manager_test.exs test/lib/powerdnsex/managers/zones_manager_test.exs
Diffstat (limited to 'test')
-rw-r--r--test/lib/powerdnsex/managers/records_manager_test.exs40
-rw-r--r--test/lib/powerdnsex/managers/zones_manager_test.exs6
-rw-r--r--test/support/cassettes/records_manager/update/success.json30
3 files changed, 63 insertions, 13 deletions
diff --git a/test/lib/powerdnsex/managers/records_manager_test.exs b/test/lib/powerdnsex/managers/records_manager_test.exs
index e4b2579..3b91fc2 100644
--- a/test/lib/powerdnsex/managers/records_manager_test.exs
+++ b/test/lib/powerdnsex/managers/records_manager_test.exs
@@ -9,14 +9,21 @@ defmodule PowerDNSex.RecordsManagerTest do
@valid_zone %Zone{name: "my-domain.art.",
url: "api/v1/servers/localhost/zones/my-domain.art."}
@new_record %{
- name: "new-record.my-domain.art.",
- type: "A",
- ttl: 86400,
- content: [
- {"127.0.0.1", false},
- {"192.168.0.1", true}
- ]
- }
+ name: "new-record.my-domain.art.",
+ type: "A",
+ ttl: 86400,
+ records: [
+ {"127.0.0.1", false},
+ {"192.168.0.1", true}
+ ]
+ }
+
+ @updated_record %{
+ name: "updated-record.my-domain.art.",
+ type: "A",
+ ttl: 86800,
+ records: [{"127.0.0.1", true}]
+ }
setup do
# Config.set_url
@@ -33,7 +40,7 @@ defmodule PowerDNSex.RecordsManagerTest do
HTTPoison.start
end
- describe "create{%Zone{}, %Record{}}" do
+ describe "create/2" do
test "exception given empty zones url" do
raise_msg = "[Records Manager] Zone URL attribute is empty!"
assert_raise RuntimeError, raise_msg, fn() ->
@@ -48,4 +55,19 @@ defmodule PowerDNSex.RecordsManagerTest do
end
end
+ describe "update/2" do
+ @tag :records_manager_update
+ test "exception given empty zones url" do
+ raise_msg = "[Records Manager] Zone URL attribute is empty!"
+ assert_raise RuntimeError, raise_msg, fn() ->
+ RecordsManager.update(%Zone{}, %Record{})
+ end
+ end
+
+ test "the return given correct params" do
+ use_cassette "records_manager/update/success" do
+ assert RecordsManager.update(@valid_zone, @updated_record) == :ok
+ end
+ end
+ end
end
diff --git a/test/lib/powerdnsex/managers/zones_manager_test.exs b/test/lib/powerdnsex/managers/zones_manager_test.exs
index 11571f3..9f1c324 100644
--- a/test/lib/powerdnsex/managers/zones_manager_test.exs
+++ b/test/lib/powerdnsex/managers/zones_manager_test.exs
@@ -17,13 +17,11 @@ defmodule PowerDNSex.ZonesManagerTest do
@expected_rrset [
%RRSet{
- name: "my-domain.tst.",
+ name: "my-domain.art.",
ttl: 3600,
type: "SOA",
records: [
- %Record{content: "ns2.my-powerdns.api", disabled: false},
- %Record{content: "ns1.my-powerdns.api", disabled: false},
- %Record{content: "a.misconfigured.powerdns.server " <>
+ %Record{content: "a.misconfigured.powerdns.server. " <>
"hostmaster.my-domain.art. " <>
"2016060601 10800 3600 604800 3600",
disabled: false}
diff --git a/test/support/cassettes/records_manager/update/success.json b/test/support/cassettes/records_manager/update/success.json
new file mode 100644
index 0000000..d6a5112
--- /dev/null
+++ b/test/support/cassettes/records_manager/update/success.json
@@ -0,0 +1,30 @@
+[
+ {
+ "request": {
+ "body": "{\"rrsets\":[{\"type\":\"A\",\"ttl\":86800,\"records\":[{\"disabled\":true,\"content\":\"127.0.0.1\"}],\"name\":\"updated-record.my-domain.art.\",\"changetype\":\"REPLACE\"}]}",
+ "headers": {
+ "X-API-Key": "Locaweb2016"
+ },
+ "method": "patch",
+ "options": [],
+ "request_body": "",
+ "url": "http://cpro36999.systemintegration.locaweb.com.br/api/v1/servers/localhost/zones/my-domain.art."
+ },
+ "response": {
+ "body": "",
+ "headers": {
+ "Access-Control-Allow-Origin": "*",
+ "Connection": "close",
+ "Content-Length": "0",
+ "Content-Security-Policy": "default-src 'self'; style-src 'self' 'unsafe-inline'",
+ "Server": "PowerDNS/4.0.1",
+ "X-Content-Type-Options": "nosniff",
+ "X-Frame-Options": "deny",
+ "X-Permitted-Cross-Domain-Policies": "none",
+ "X-Xss-Protection": "1; mode=block"
+ },
+ "status_code": 204,
+ "type": "ok"
+ }
+ }
+] \ No newline at end of file