From 1db1adbf2d061848f78711c38678edd02250f923 Mon Sep 17 00:00:00 2001 From: Tiago Freire Date: Tue, 16 Aug 2016 01:18:30 -0300 Subject: WIP --- test/lib/powerdnsex/config_test.exs | 59 ++++++++++++ .../powerdnsex/managers/records_manager_test.exs | 73 +++++++++++++++ .../lib/powerdnsex/managers/zones_manager_test.exs | 102 +++++++++++++++++++++ test/lib/powerdnsex/models/zone_test.exs | 0 test/lib/powerdnsx/config_test.exs | 55 ----------- test/lib/powerdnsx/managers/zones_manager_test.exs | 80 ---------------- test/lib/powerdnsx/models/zone_test.exs | 27 ------ .../cassettes/records_manager/create/success.json | 30 ++++++ .../cassettes/records_manager/update/success.json | 30 ++++++ .../create/invalid_not_canonical.json | 31 +++++++ .../cassettes/zones_manager/create/success.json | 31 +++++++ .../zones_manager/create/valid_parameters.json | 1 - .../cassettes/zones_manager/show/not_found.json | 31 +++++++ .../cassettes/zones_manager/show/success.json | 31 +++++++ .../cassettes/zones_manager/show/valid_record.json | 27 ------ test/support/fake_config.exs | 9 +- 16 files changed, 424 insertions(+), 193 deletions(-) create mode 100644 test/lib/powerdnsex/config_test.exs create mode 100644 test/lib/powerdnsex/managers/records_manager_test.exs create mode 100644 test/lib/powerdnsex/managers/zones_manager_test.exs create mode 100644 test/lib/powerdnsex/models/zone_test.exs delete mode 100644 test/lib/powerdnsx/config_test.exs delete mode 100644 test/lib/powerdnsx/managers/zones_manager_test.exs delete mode 100644 test/lib/powerdnsx/models/zone_test.exs create mode 100644 test/support/cassettes/records_manager/create/success.json create mode 100644 test/support/cassettes/records_manager/update/success.json create mode 100644 test/support/cassettes/zones_manager/create/invalid_not_canonical.json create mode 100644 test/support/cassettes/zones_manager/create/success.json delete mode 100644 test/support/cassettes/zones_manager/create/valid_parameters.json create mode 100644 test/support/cassettes/zones_manager/show/not_found.json create mode 100644 test/support/cassettes/zones_manager/show/success.json delete mode 100644 test/support/cassettes/zones_manager/show/valid_record.json (limited to 'test') diff --git a/test/lib/powerdnsex/config_test.exs b/test/lib/powerdnsex/config_test.exs new file mode 100644 index 0000000..adb212a --- /dev/null +++ b/test/lib/powerdnsex/config_test.exs @@ -0,0 +1,59 @@ +defmodule PowerDNSex.ConfigTest do + + use ExUnit.Case, async: true + + alias PowerDNSex.FakeConfig, as: Config + + setup with_valid_url, do: Config.set_url + setup with_valid_token, do: Config.set_token + setup with_valid_token_and_url, do: Config.set_url && Config.set_token + + describe "Config.powerdns_token/0" do + @tag :configs + test "Using Env vars", with_valid_url do + env_token = "3nv_S3cr37_T0k3n" + System.put_env("POWERDNS_TOKEN", env_token) + Application.put_env(:powerdns, :token, {:system, "POWERDNS_TOKEN"}) + assert PowerDNSex.Config.powerdns_token == env_token + end + + @tag :configs + test "using application config", with_valid_token_and_url do + assert PowerDNSex.Config.powerdns_token == Config.token + end + + @tag :configs + test "given none token config", with_valid_url do + Application.delete_env(:powerdns, :token) + expected_error = "[PowerDNSex] PowerDNS token not configured." + + assert_raise RuntimeError, expected_error, fn -> + PowerDNSex.Config.powerdns_token + end + end + end + + describe "Config.powerdns_url/0" do + @tag :configs + test "Using Env vars", with_valid_token do + 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 + end + + @tag :configs + test "using application config", with_valid_token_and_url do + assert PowerDNSex.Config.powerdns_url == Config.url + end + + @tag :configs + test "given none url config", with_valid_token do + Application.delete_env(:powerdns, :url) + expected_error = "[PowerDNSex] PowerDNS url not configured." + assert_raise RuntimeError, expected_error, fn -> + PowerDNSex.Config.powerdns_url + end + end + end +end diff --git a/test/lib/powerdnsex/managers/records_manager_test.exs b/test/lib/powerdnsex/managers/records_manager_test.exs new file mode 100644 index 0000000..3b91fc2 --- /dev/null +++ b/test/lib/powerdnsex/managers/records_manager_test.exs @@ -0,0 +1,73 @@ +defmodule PowerDNSex.RecordsManagerTest do + + use ExUnit.Case, async: false + use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney + + alias PowerDNSex.Models.{Zone, ResourceRecordSet, Record} + alias PowerDNSex.RecordsManager + + @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, + 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 + # 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) + + ExVCR.Config.cassette_library_dir("test/support/cassettes", + "test/support/custom_cassettes") + HTTPoison.start + end + + 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() -> + RecordsManager.create(%Zone{}, %Record{}) + end + end + + test "content and value of 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 "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 new file mode 100644 index 0000000..42bace0 --- /dev/null +++ b/test/lib/powerdnsex/managers/zones_manager_test.exs @@ -0,0 +1,102 @@ +defmodule PowerDNSex.ZonesManagerTest do + + use ExUnit.Case, async: false + use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney + + alias PowerDNSex.ZonesManager + alias PowerDNSex.Models.{Zone, Record} + alias PowerDNSex.Models.ResourceRecordSet, as: RRSet + alias PowerDNSex.FakeConfig, as: Config + + @invalid_not_canonical %Zone{name: "not-canonical-domain.tst"} + @unknown_name "it-will-never-exist.on.the.art." + + @valid_zone_test %Zone{name: "my-domain.art.", + serial: 2016060601, + comments: ["Test comment"] } + + @expected_rrset [ + %RRSet{ + name: "my-domain.art.", + ttl: 3600, + type: "SOA", + records: [ + %Record{content: "a.misconfigured.powerdns.server. " <> + "hostmaster.my-domain.art. " <> + "2016060601 10800 3600 604800 3600", + disabled: false} + ] + } + ] + + @expected_zone %Zone{name: "my-domain.art.", + id: "my-domain.art.", + account: "", + serial: 2016060601, + url: "api/v1/servers/localhost/zones/my-domain.art.", + rrsets: @expected_rrset} + + 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) + + ExVCR.Config.cassette_library_dir("test/support/cassettes", + "test/support/custom_cassettes") + HTTPoison.start + end + + describe "ZoneManager.create/2" do + @tag :zones_manager_create + test "return given correct parameters" do + use_cassette "zones_manager/create/success" do + zone = ZonesManager.create(@valid_zone_test) + assert zone.__struct__ == PowerDNSex.Models.Zone + assert zone.name == @valid_zone_test.name + end + end + + @tag :zones_manager_create + test "return error given invalid name" do + use_cassette "zones_manager/create/invalid_not_canonical" do + error_msg = "DNS Name 'not-canonical-domain.tst' is not canonical" + response = ZonesManager.create(@invalid_not_canonical) + assert response.__struct__ == PowerDNSex.Models.Error + assert response.error == error_msg + end + end + end + + describe "ZonesManager.show/2" do + @tag :zones_manager_show + test "type of return given a correct zone name" do + use_cassette "zones_manager/show/success" do + zone = ZonesManager.show(@valid_zone_test.name) + assert zone.__struct__ == PowerDNSex.Models.Zone + end + end + + @tag :zones_manager_show + test "values in return given a correct zone name" do + use_cassette "zones_manager/show/success" do + zone = ZonesManager.show(@valid_zone_test.name) + assert zone == @expected_zone + end + end + + @tag :zones_manager_show + test "values in return given a unknown zone name" do + use_cassette "zones_manager/show/not_found" do + error_msg = "Could not find domain 'it-will-never-exist.on.the.art.'" + response = ZonesManager.show(@unknown_name) + assert response.__struct__ == PowerDNSex.Models.Error + assert response.error == error_msg + end + end + end +end diff --git a/test/lib/powerdnsex/models/zone_test.exs b/test/lib/powerdnsex/models/zone_test.exs new file mode 100644 index 0000000..e69de29 diff --git a/test/lib/powerdnsx/config_test.exs b/test/lib/powerdnsx/config_test.exs deleted file mode 100644 index 4a9a732..0000000 --- a/test/lib/powerdnsx/config_test.exs +++ /dev/null @@ -1,55 +0,0 @@ -defmodule PowerDNSx.ConfigTest do - - use ExUnit.Case, async: true - - alias PowerDNSx.FakeConfig, as: Config - - setup with_valid_url, do: Config.set_url - setup with_valid_token, do: Config.set_token - setup with_valid_token_and_url, do: Config.set_url && Config.set_token - - describe "Config.powerdns_token/0" do - test "Using Env vars", with_valid_url do - env_token = "3nv_S3cr37_T0k3n" - System.put_env("POWERDNS_TOKEN", env_token) - Application.put_env(:powerdns, :token, {:system, "POWERDNS_TOKEN"}) - assert PowerDNSx.Config.powerdns_token == env_token - end - - test "using application config", with_valid_token_and_url do - assert PowerDNSx.Config.powerdns_token == "4pp_S3cr37_T0k3n" - end - - test "given none token config", with_valid_url do - Application.delete_env(:powerdns, :token) - expected_error = "[PowerDNSx] PowerDNS token not configured." - - assert_raise RuntimeError, expected_error, fn -> - PowerDNSx.Config.powerdns_token - end - end - end - - describe "Config.powerdns_url/0" do - test "Using Env vars", with_valid_token do - env_url = "https://env-powerdns.test" - System.put_env("POWERDNS_URL", env_url) - Application.put_env(:powerdns, :url, {:system, "POWERDNS_URL"}) - assert PowerDNSx.Config.powerdns_url == env_url - end - - test "using application config", with_valid_token_and_url do - assert PowerDNSx.Config.powerdns_url == "https://app-config-powerdns.test" - end - - test "given none url config", with_valid_token do - Application.delete_env(:powerdns, :url) - expected_error = "[PowerDNSx] PowerDNS url not configured." - assert_raise RuntimeError, expected_error, fn -> - PowerDNSx.Config.powerdns_url - end - end - end - - -end diff --git a/test/lib/powerdnsx/managers/zones_manager_test.exs b/test/lib/powerdnsx/managers/zones_manager_test.exs deleted file mode 100644 index cc793d0..0000000 --- a/test/lib/powerdnsx/managers/zones_manager_test.exs +++ /dev/null @@ -1,80 +0,0 @@ -defmodule PowerDNSx.ZonesManagerTest do - - use ExUnit.Case, async: true - use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney - - alias PowerDNSx.ZonesManager - alias PowerDNSx.Models.Zone - alias PowerDNSx.FakeConfig, as: Config - - @valid_zone_loca %Zone{name: "devtiagofreire.art.br"} - - @valid_zone_test %Zone{name: "my-domain.tst", - serial: 2016060601, - comments: ["Test comment"] } - - @expected_records [ - %{"content" => "ns2.my-powerdns.api", "disabled" => false, - "name" => "my-domain.tst", "ttl" => 3600, "type" => "NS"}, - %{"content" => "ns1.my-powerdns.api", "disabled" => false, - "name" => "my-domain.tst", "ttl" => 3600, "type" => "NS"}, - %{"content" => "a.misconfigured.powerdns.server " <> - "hostmaster.my-domain.tst " <> - "2016060601 10800 3600 604800 3600", - "disabled" => false, "name" => "my-domain.tst", "ttl" => 3600, - "type" => "SOA"} - ] - - @expected_zone %Zone{name: "my-domain.tst", - id: "my-domain.tst.", - account: "", - serial: 2016060601, - url: "/servers/localhost/zones/my-domain.tst.", - records: @expected_records} - - setup_all do - #Config.set_url - #Config.set_token - - pwdns_url_loca = "http://cpro36999.systemintegration.locaweb.com.br" - pwdns_url_test = "http://my-powerdns.api" - Application.put_env(:powerdns, :url, pwdns_url_test) - - pwdns_token_loca = "Locaweb2016" - pwdns_token_test = "S3cr3t-T0k3n" - Application.put_env(:powerdns, :token, pwdns_token_test) - - ExVCR.Config.cassette_library_dir("test/support/cassettes", - "test/support/custom_cassettes") - HTTPoison.start - end - - describe "ZoneManager.create/2" do - @tag :zones_manager_create - test "type of return given correct parameters" do - use_cassette "zones_manager/create/valid_parameters" do - zone = ZonesManager.create(@valid_zone_test) - assert zone.__struct__ == PowerDNSx.Models.Zone - end - end - end - - describe "ZonesManager.show/2" do - @tag :zones_manager_show - test "type of return given a correct zone name" do - use_cassette "zones_manager/show/valid_record" do - zone = ZonesManager.show(@valid_zone_test.name) - assert zone.__struct__ == PowerDNSx.Models.Zone - end - end - - @tag :zones_manager_show - test "values in return given a correct zone name" do - use_cassette "zones_manager/show/valid_record" do - zone = ZonesManager.show(@valid_zone_test.name) - assert zone == @expected_zone - end - end - end - -end diff --git a/test/lib/powerdnsx/models/zone_test.exs b/test/lib/powerdnsx/models/zone_test.exs deleted file mode 100644 index 8a61602..0000000 --- a/test/lib/powerdnsx/models/zone_test.exs +++ /dev/null @@ -1,27 +0,0 @@ -# defmodule PowerDNSx.Models.ZoneTest do -# -# use ExUnit.Case, async: true -# -# alias PowerDNSx.Models.Zone -# -# describe "Zone.build/1" do -# test "build zone with all attributes" do -# ns_servers = ["ns1.powerdnsx.tst", "ns2.powerdnsx.tst"] -# -# zone_params = %{id: nil, -# name: "test.tst", -# nameservers: ns_servers, -# account: "pdnaccount", -# kind: "Native", -# masters: [], -# records: [], -# serial: nil, -# comments: [], -# soa_edit: nil, -# soa_edit_api: nil} -# -# zone_built = Zone.build(zone_params) -# assert zone_params === Map.from_struct(zone_built) -# end -# end -# end diff --git a/test/support/cassettes/records_manager/create/success.json b/test/support/cassettes/records_manager/create/success.json new file mode 100644 index 0000000..73bdc22 --- /dev/null +++ b/test/support/cassettes/records_manager/create/success.json @@ -0,0 +1,30 @@ +[ + { + "request": { + "body": "{\"rrsets\":[{\"type\":\"A\",\"ttl\":86400,\"records\":[{\"disabled\":false,\"content\":\"127.0.0.1\"},{\"disabled\":true,\"content\":\"192.168.0.1\"}],\"name\":\"new-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 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 diff --git a/test/support/cassettes/zones_manager/create/invalid_not_canonical.json b/test/support/cassettes/zones_manager/create/invalid_not_canonical.json new file mode 100644 index 0000000..353115d --- /dev/null +++ b/test/support/cassettes/zones_manager/create/invalid_not_canonical.json @@ -0,0 +1,31 @@ +[ + { + "request": { + "body": "{\"soa_edit_api\":\"\",\"soa_edit\":\"\",\"serial\":2016060601,\"records\":[],\"nameservers\":[],\"name\":\"not-canonical-domain.tst\",\"masters\":[],\"kind\":\"Native\",\"account\":null}", + "headers": { + "X-API-Key": "Locaweb2016" + }, + "method": "post", + "options": [], + "request_body": "", + "url": "http://cpro36999.systemintegration.locaweb.com.br/api/v1/servers/localhost/zones" + }, + "response": { + "body": "{\"error\": \"DNS Name 'not-canonical-domain.tst' is not canonical\"}", + "headers": { + "Access-Control-Allow-Origin": "*", + "Connection": "close", + "Content-Length": "54", + "Content-Security-Policy": "default-src 'self'; style-src 'self' 'unsafe-inline'", + "Content-Type": "application/json", + "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": 422, + "type": "ok" + } + } +] diff --git a/test/support/cassettes/zones_manager/create/success.json b/test/support/cassettes/zones_manager/create/success.json new file mode 100644 index 0000000..e7880c8 --- /dev/null +++ b/test/support/cassettes/zones_manager/create/success.json @@ -0,0 +1,31 @@ +[ + { + "request": { + "body": "{\"soa_edit_api\":\"\",\"soa_edit\":\"\",\"serial\":2016060601,\"records\":[],\"nameservers\":[],\"name\":\"my-domain.art.\",\"masters\":[],\"kind\":\"Native\",\"account\":null}", + "headers": { + "X-API-Key": "Locaweb2016" + }, + "method": "post", + "options": [], + "request_body": "", + "url": "http://cpro36999.systemintegration.locaweb.com.br/api/v1/servers/localhost/zones" + }, + "response": { + "body": "{\"account\": \"\", \"dnssec\": false, \"id\": \"my-domain.art.\", \"kind\": \"Native\", \"last_check\": 0, \"masters\": [], \"name\": \"my-domain.art.\", \"notified_serial\": 0, \"rrsets\": [{\"comments\": [], \"name\": \"my-domain.art.\", \"records\": [{\"content\": \"a.misconfigured.powerdns.server. hostmaster.my-domain.art. 2016060601 10800 3600 604800 3600\", \"disabled\": false}], \"ttl\": 3600, \"type\": \"SOA\"}], \"serial\": 2016060601, \"soa_edit\": \"\", \"soa_edit_api\": \"\", \"url\": \"api/v1/servers/localhost/zones/my-domain.art.\"}", + "headers": { + "Access-Control-Allow-Origin": "*", + "Connection": "close", + "Content-Length": "493", + "Content-Security-Policy": "default-src 'self'; style-src 'self' 'unsafe-inline'", + "Content-Type": "application/json", + "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": 201, + "type": "ok" + } + } +] \ No newline at end of file diff --git a/test/support/cassettes/zones_manager/create/valid_parameters.json b/test/support/cassettes/zones_manager/create/valid_parameters.json deleted file mode 100644 index 0637a08..0000000 --- a/test/support/cassettes/zones_manager/create/valid_parameters.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/test/support/cassettes/zones_manager/show/not_found.json b/test/support/cassettes/zones_manager/show/not_found.json new file mode 100644 index 0000000..a989d91 --- /dev/null +++ b/test/support/cassettes/zones_manager/show/not_found.json @@ -0,0 +1,31 @@ +[ + { + "request": { + "body": "", + "headers": { + "X-API-Key": "Locaweb2016" + }, + "method": "get", + "options": [], + "request_body": "", + "url": "http://cpro36999.systemintegration.locaweb.com.br/api/v1/servers/localhost/zones/it-will-never-exist.on.the.art." + }, + "response": { + "body": "{\"error\": \"Could not find domain 'it-will-never-exist.on.the.art.'\"}", + "headers": { + "Access-Control-Allow-Origin": "*", + "Connection": "close", + "Content-Length": "68", + "Content-Security-Policy": "default-src 'self'; style-src 'self' 'unsafe-inline'", + "Content-Type": "application/json", + "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": 422, + "type": "ok" + } + } +] \ No newline at end of file diff --git a/test/support/cassettes/zones_manager/show/success.json b/test/support/cassettes/zones_manager/show/success.json new file mode 100644 index 0000000..8f9a935 --- /dev/null +++ b/test/support/cassettes/zones_manager/show/success.json @@ -0,0 +1,31 @@ +[ + { + "request": { + "body": "", + "headers": { + "X-API-Key": "Locaweb2016" + }, + "method": "get", + "options": [], + "request_body": "", + "url": "http://cpro36999.systemintegration.locaweb.com.br/api/v1/servers/localhost/zones/my-domain.art." + }, + "response": { + "body": "{\"account\": \"\", \"dnssec\": false, \"id\": \"my-domain.art.\", \"kind\": \"Native\", \"last_check\": 0, \"masters\": [], \"name\": \"my-domain.art.\", \"notified_serial\": 0, \"rrsets\": [{\"comments\": [], \"name\": \"my-domain.art.\", \"records\": [{\"content\": \"a.misconfigured.powerdns.server. hostmaster.my-domain.art. 2016060601 10800 3600 604800 3600\", \"disabled\": false}], \"ttl\": 3600, \"type\": \"SOA\"}], \"serial\": 2016060601, \"soa_edit\": \"\", \"soa_edit_api\": \"\", \"url\": \"api/v1/servers/localhost/zones/my-domain.art.\"}", + "headers": { + "Access-Control-Allow-Origin": "*", + "Connection": "close", + "Content-Length": "493", + "Content-Security-Policy": "default-src 'self'; style-src 'self' 'unsafe-inline'", + "Content-Type": "application/json", + "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": 200, + "type": "ok" + } + } +] \ No newline at end of file diff --git a/test/support/cassettes/zones_manager/show/valid_record.json b/test/support/cassettes/zones_manager/show/valid_record.json deleted file mode 100644 index 75d348d..0000000 --- a/test/support/cassettes/zones_manager/show/valid_record.json +++ /dev/null @@ -1,27 +0,0 @@ -[ - { - "request": { - "body": "", - "headers": { - "X-API-Key": "S3cr3t-T0k3n" - }, - "method": "get", - "options": [], - "request_body": "", - "url": "http://my-powerdns.api/servers/localhost/zones/my-domain.tst" - }, - "response": { - "body": "{\"id\":\"my-domain.tst.\",\"url\":\"/servers/localhost/zones/my-domain.tst.\",\"name\":\"my-domain.tst\",\"kind\":\"Native\",\"dnssec\":false,\"account\":\"\",\"masters\":[],\"serial\":2016060601,\"notified_serial\":0,\"last_check\":0,\"soa_edit_api\":\"\",\"soa_edit\":\"\",\"records\":[{\"name\":\"my-domain.tst\",\"type\":\"NS\",\"ttl\":3600,\"disabled\":false,\"content\":\"ns2.my-powerdns.api\"},{\"name\":\"my-domain.tst\",\"type\":\"NS\",\"ttl\":3600,\"disabled\":false,\"content\":\"ns1.my-powerdns.api\"},{\"name\":\"my-domain.tst\",\"type\":\"SOA\",\"ttl\":3600,\"disabled\":false,\"content\":\"a.misconfigured.powerdns.server hostmaster.my-domain.tst 2016060601 10800 3600 604800 3600\"}],\"comments\":[]}", - "headers": { - "Transfer-Encoding": "chunked", - "Access-Control-Allow-Origin": "*", - "Connection": "close", - "Content-Length": "717", - "Content-Type": "application/json", - "Server": "PowerDNS/3.4.8" - }, - "status_code": 200, - "type": "ok" - } - } -] diff --git a/test/support/fake_config.exs b/test/support/fake_config.exs index e624d8e..9f95fc2 100644 --- a/test/support/fake_config.exs +++ b/test/support/fake_config.exs @@ -1,8 +1,11 @@ -defmodule PowerDNSx.FakeConfig do - @app_config_token "4pp_S3cr37_T0k3n" - @app_config_url "https://app-config-powerdns.test" +defmodule PowerDNSex.FakeConfig do + @app_config_token "S3cr37_70k3n" + @app_config_url "https://my-powerdns.api" def set_url, do: Application.put_env(:powerdns, :url, @app_config_url) def set_token, do: Application.put_env(:powerdns, :token, @app_config_token) + + def token, do: @app_config_token + def url, do: @app_config_url end -- cgit v1.2.3