diff options
Diffstat (limited to 'test/lib/powerdnsex/managers/records_manager_test.exs')
-rw-r--r-- | test/lib/powerdnsex/managers/records_manager_test.exs | 53 |
1 files changed, 21 insertions, 32 deletions
diff --git a/test/lib/powerdnsex/managers/records_manager_test.exs b/test/lib/powerdnsex/managers/records_manager_test.exs index 6580bd3..4c83b40 100644 --- a/test/lib/powerdnsex/managers/records_manager_test.exs +++ b/test/lib/powerdnsex/managers/records_manager_test.exs @@ -6,9 +6,21 @@ defmodule PowerDNSex.Managers.RecordsManagerTest do alias PowerDNSex.Models.{Zone, Record} alias PowerDNSex.Managers.RecordsManager alias PowerDNSex.FakeConfig, as: Config + alias PowerDNSex.Models.ResourceRecordSet, as: RRSet + + @record %RRSet{ + name: "updated-record.my-domain.art.", + type: "A", + ttl: 3600, + records: [{"127.0.0.1", false}] + } + + @valid_zone %Zone{ + name: "my-domain.art.", + url: "api/v1/servers/localhost/zones/my-domain.art.", + rrsets: [@record] + } - @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", @@ -29,13 +41,7 @@ defmodule PowerDNSex.Managers.RecordsManagerTest do @record_to_delete %{ name: "record-to-delete.my-domain.art.", type: "A", - } - - @invalid_record %{ - name: "updated-record.my-domain.art.", - type: "NS", - ttl: 86_800, - records: [{"127.0.0.1", true}] + records: [] } @invalid_zone %Zone{ @@ -48,7 +54,7 @@ defmodule PowerDNSex.Managers.RecordsManagerTest do Config.set_token ExVCR.Config.cassette_library_dir("test/support/cassettes", - "test/support/custom_cassettes") + "test/support/custom_cassettes") HTTPoison.start end @@ -87,14 +93,6 @@ defmodule PowerDNSex.Managers.RecordsManagerTest do 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 - - @tag :records_manager_update test "the return given correct params" do use_cassette "records_manager/update/success" do assert RecordsManager.update(@valid_zone, @updated_record) == :ok @@ -102,21 +100,12 @@ defmodule PowerDNSex.Managers.RecordsManagerTest do end @tag :records_manager_update - test "the return given incorrect zone" do + test "when zone does not exists" do use_cassette "records_manager/update/not_found" do - response = RecordsManager.update(@invalid_zone, @updated_record) - error_msg = "Could not find domain '#{@invalid_zone.name}.'" - assert response.error == error_msg - end - end - - @tag :records_manager_update - test "the return given incorrect params" do - use_cassette "records_manager/update/invalid_record" do - response = RecordsManager.update(@valid_zone, @invalid_record) - error_msg = "Record updated-record.my-domain.art./NS '127.0.0.1': " <> - "Not in expected format (parsed as '127.0.0.1.')" - assert response.error == error_msg + {:error, error} = RecordsManager.update(@invalid_zone, @updated_record) + error_msg = "Record #{@updated_record.name}, type A, not found!" + assert error.error == error_msg + assert error.http_status_code == 404 end end end |