diff options
author | Diego Alves <diego.oborba@gmail.com> | 2016-08-18 15:26:52 -0300 |
---|---|---|
committer | Diego Alves <diego.oborba@gmail.com> | 2016-08-19 11:57:57 -0300 |
commit | dd0e9ed5ec3c1c78bc018511d2c87b3ae360bbf5 (patch) | |
tree | 2c6b92162a31c68ce3ada264079d17604652867d /test | |
parent | delete zone on powerDns (diff) | |
parent | WIP (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')
3 files changed, 66 insertions, 19 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..2e88c70 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} @@ -106,18 +104,15 @@ defmodule PowerDNSex.ZonesManagerTest do @tag :zones_manager_delete test "return given correct params" do use_cassette "zones_manager/delete/success" do - req_status = ZonesManager.delete("success-delete.com").status_code - assert req_status == 204 + assert ZonesManager.delete("success-delete.com") == :ok end end @tag :zones_manager_delete test "return error when zone don't exists" do use_cassette "zones_manager/delete/not_found" do - req = ZonesManager.delete("not_found.com") - assert req.status_code == 422 - assert req.body == - "{\"error\": \"Could not find domain 'not_found.com.'\"}" + response = ZonesManager.delete("not_found.com") + assert response.error == "Could not find domain 'not_found.com.'" end end end 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 |