From ab206a90b61f7b411dae49e0676cd64165ee10f2 Mon Sep 17 00:00:00 2001 From: Lindolfo 'Lorn' Rodrigues Date: Wed, 13 Feb 2019 16:40:19 -0200 Subject: Support Elixir-1.8 Also dropped support for elixir < 1.6 --- test/lib/powerdnsex/config_test.exs | 20 +++---- .../powerdnsex/managers/records_manager_test.exs | 23 ++++---- .../lib/powerdnsex/managers/zones_manager_test.exs | 52 ++++++++++-------- .../powerdnsex/models/resource_record_set_test.exs | 64 ++++++++++++---------- test/lib/powerdnsex/models/zone_test.exs | 1 + test/lib/powerdnsex/powerdnsex_test.exs | 14 +++-- test/support/fake_config.exs | 1 - test/test_helper.exs | 6 +- 8 files changed, 100 insertions(+), 81 deletions(-) (limited to 'test') diff --git a/test/lib/powerdnsex/config_test.exs b/test/lib/powerdnsex/config_test.exs index 079b127..eca2e03 100644 --- a/test/lib/powerdnsex/config_test.exs +++ b/test/lib/powerdnsex/config_test.exs @@ -1,12 +1,11 @@ defmodule PowerDNSex.ConfigTest do - use ExUnit.Case, async: true alias PowerDNSex.FakeConfig, as: Config - setup do: Config.set_url - setup do: Config.set_token - setup do: Config.set_url && Config.set_token + setup do: Config.set_url() + setup do: Config.set_token() + setup do: Config.set_url() && Config.set_token() describe "Config.powerdns_token/0" do @tag :configs @@ -14,12 +13,12 @@ defmodule PowerDNSex.ConfigTest do env_token = "new-token" System.put_env("POWERDNS_TOKEN", env_token) Application.put_env(:powerdnsex, :token, {:system, "POWERDNS_TOKEN"}) - assert PowerDNSex.Config.powerdns_token == env_token + assert PowerDNSex.Config.powerdns_token() == env_token end @tag :configs test "using application config" do - assert PowerDNSex.Config.powerdns_token == Config.token + assert PowerDNSex.Config.powerdns_token() == Config.token() end @tag :configs @@ -28,7 +27,7 @@ defmodule PowerDNSex.ConfigTest do expected_error = "[PowerDNSex] PowerDNS token not configured." assert_raise RuntimeError, expected_error, fn -> - PowerDNSex.Config.powerdns_token + PowerDNSex.Config.powerdns_token() end end end @@ -39,20 +38,21 @@ defmodule PowerDNSex.ConfigTest do env_url = "https://env-powerdns.test/" System.put_env("POWERDNS_URL", env_url) Application.put_env(:powerdnsex, :url, {:system, "POWERDNS_URL"}) - assert PowerDNSex.Config.powerdns_url == env_url + assert PowerDNSex.Config.powerdns_url() == env_url end @tag :configs test "using application config" do - assert PowerDNSex.Config.powerdns_url == Config.url <> "/" + assert PowerDNSex.Config.powerdns_url() == Config.url() <> "/" end @tag :configs test "given none url config" do Application.delete_env(:powerdnsex, :url) expected_error = "[PowerDNSex] PowerDNS url not configured." + assert_raise RuntimeError, expected_error, fn -> - PowerDNSex.Config.powerdns_url + PowerDNSex.Config.powerdns_url() end end end diff --git a/test/lib/powerdnsex/managers/records_manager_test.exs b/test/lib/powerdnsex/managers/records_manager_test.exs index 4c83b40..7de02ab 100644 --- a/test/lib/powerdnsex/managers/records_manager_test.exs +++ b/test/lib/powerdnsex/managers/records_manager_test.exs @@ -1,5 +1,4 @@ defmodule PowerDNSex.Managers.RecordsManagerTest do - use ExUnit.Case, async: false use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney @@ -17,7 +16,7 @@ defmodule PowerDNSex.Managers.RecordsManagerTest do @valid_zone %Zone{ name: "my-domain.art.", - url: "api/v1/servers/localhost/zones/my-domain.art.", + url: "api/v1/servers/localhost/zones/my-domain.art.", rrsets: [@record] } @@ -50,19 +49,23 @@ defmodule PowerDNSex.Managers.RecordsManagerTest do } setup do - Config.set_url - Config.set_token + Config.set_url() + Config.set_token() + + ExVCR.Config.cassette_library_dir( + "test/support/cassettes", + "test/support/custom_cassettes" + ) - ExVCR.Config.cassette_library_dir("test/support/cassettes", - "test/support/custom_cassettes") - HTTPoison.start + HTTPoison.start() 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() -> + + assert_raise RuntimeError, raise_msg, fn -> RecordsManager.create(%Zone{}, %Record{}) end end @@ -80,9 +83,7 @@ defmodule PowerDNSex.Managers.RecordsManagerTest do 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"} + attrs = %{name: "new-record.#{zone_name}", type: "A", content: "127.0.0.1"} record = RecordsManager.show(zone_name, attrs) assert record.name == attrs.name diff --git a/test/lib/powerdnsex/managers/zones_manager_test.exs b/test/lib/powerdnsex/managers/zones_manager_test.exs index 9c011e9..1b4982e 100644 --- a/test/lib/powerdnsex/managers/zones_manager_test.exs +++ b/test/lib/powerdnsex/managers/zones_manager_test.exs @@ -1,5 +1,4 @@ defmodule PowerDNSex.Managers.ZonesManagerTest do - use ExUnit.Case, async: false use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney @@ -11,9 +10,11 @@ defmodule PowerDNSex.Managers.ZonesManagerTest do @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: 2_016_060_601, - comments: ["Test comment"] } + @valid_zone_test %Zone{ + name: "my-domain.art.", + serial: 2_016_060_601, + comments: ["Test comment"] + } @expected_rrset [ %RRSet{ @@ -21,10 +22,13 @@ defmodule PowerDNSex.Managers.ZonesManagerTest do ttl: 3600, type: "SOA", records: [ - %Record{content: "a.misconfigured.powerdns.server. " <> - "hostmaster.my-domain.art. " <> - "2016060601 10800 3600 604800 3600", - disabled: false} + %Record{ + content: + "a.misconfigured.powerdns.server. " <> + "hostmaster.my-domain.art. " <> + "2016060601 10800 3600 604800 3600", + disabled: false + } ] }, %RRSet{ @@ -32,27 +36,31 @@ defmodule PowerDNSex.Managers.ZonesManagerTest do ttl: 3600, type: "NS", records: [ - %Record{content: "ns1.domain.com", - disabled: false} + %Record{content: "ns1.domain.com", disabled: false} ] } ] - @expected_zone %Zone{name: "my-domain.art.", - id: "my-domain.art.", - account: "", - serial: 2_016_060_601, - url: "api/v1/servers/localhost/zones/my-domain.art.", - nameservers: ["ns1.domain.com"], - rrsets: @expected_rrset} + @expected_zone %Zone{ + name: "my-domain.art.", + id: "my-domain.art.", + account: "", + serial: 2_016_060_601, + url: "api/v1/servers/localhost/zones/my-domain.art.", + nameservers: ["ns1.domain.com"], + rrsets: @expected_rrset + } setup do - Config.set_url - Config.set_token + Config.set_url() + Config.set_token() + + ExVCR.Config.cassette_library_dir( + "test/support/cassettes", + "test/support/custom_cassettes" + ) - ExVCR.Config.cassette_library_dir("test/support/cassettes", - "test/support/custom_cassettes") - HTTPoison.start + HTTPoison.start() end describe "ZoneManager.create/2" do diff --git a/test/lib/powerdnsex/models/resource_record_set_test.exs b/test/lib/powerdnsex/models/resource_record_set_test.exs index 9533beb..41838cc 100644 --- a/test/lib/powerdnsex/models/resource_record_set_test.exs +++ b/test/lib/powerdnsex/models/resource_record_set_test.exs @@ -1,5 +1,4 @@ defmodule PowerDNSex.Models.ResourceRecordSetTest do - use ExUnit.Case, async: true alias PowerDNSex.Models.{Record} @@ -10,25 +9,22 @@ defmodule PowerDNSex.Models.ResourceRecordSetTest do @domain "my-domain.art." - @record_ns %RRSet { + @record_ns %RRSet{ name: "my-domain.art.", ttl: 3600, type: "NS", records: [ - %Record{content: @ns_content, - disabled: false}, - %Record{content: @ns2_content, - disabled: false} + %Record{content: @ns_content, disabled: false}, + %Record{content: @ns2_content, disabled: false} ] } - @record_a %RRSet { + @record_a %RRSet{ name: "store.my-domain.art.", ttl: 3600, type: "A", records: [ - %Record{content: "182.23.2.3", - disabled: false} + %Record{content: "182.23.2.3", disabled: false} ] } @@ -49,11 +45,21 @@ defmodule PowerDNSex.Models.ResourceRecordSetTest do describe "build/1" do test "build a record" do - raw_rrset = %{name: @domain, type: 'A', ttl: 3600, records: [ %{content: "192.168.0.1", disabled: false} ] } - rrset = %RRSet{changetype: nil, - name: "my-domain.art.", - records: [%PowerDNSex.Models.Record{content: "192.168.0.1", - disabled: false}], ttl: 3600, type: 'A'} + raw_rrset = %{ + name: @domain, + type: 'A', + ttl: 3600, + records: [%{content: "192.168.0.1", disabled: false}] + } + + rrset = %RRSet{ + changetype: nil, + name: "my-domain.art.", + records: [%PowerDNSex.Models.Record{content: "192.168.0.1", disabled: false}], + ttl: 3600, + type: 'A' + } + assert RRSet.build(raw_rrset) == rrset end end @@ -70,20 +76,22 @@ defmodule PowerDNSex.Models.ResourceRecordSetTest do describe "update/2" do test "update passing all attributes" do - new_attrs = %{name: "page.my-domain.art.", - records: [%{content: "192.168.0.1", disabled: false}], - ttl: "3600", type: "A"} - - new_record = %PowerDNSex.Models.ResourceRecordSet{changetype: nil, - name: "store.my-domain.art.", - records: [ - %PowerDNSex.Models.Record{ - content: "192.168.0.1", - disabled: false}], - type: "A", - ttl: "3600"} - - assert RRSet.update(@record_a, new_attrs) == new_record + new_attrs = %{ + name: "page.my-domain.art.", + records: [%{content: "192.168.0.1", disabled: false}], + ttl: "3600", + type: "A" + } + + new_record = %PowerDNSex.Models.ResourceRecordSet{ + changetype: nil, + name: "store.my-domain.art.", + records: [%PowerDNSex.Models.Record{content: "192.168.0.1", disabled: false}], + type: "A", + ttl: "3600" + } + + assert RRSet.update(@record_a, new_attrs) == new_record end end end diff --git a/test/lib/powerdnsex/models/zone_test.exs b/test/lib/powerdnsex/models/zone_test.exs index e69de29..8b13789 100644 --- a/test/lib/powerdnsex/models/zone_test.exs +++ b/test/lib/powerdnsex/models/zone_test.exs @@ -0,0 +1 @@ + diff --git a/test/lib/powerdnsex/powerdnsex_test.exs b/test/lib/powerdnsex/powerdnsex_test.exs index 10f8e7a..92e7f91 100644 --- a/test/lib/powerdnsex/powerdnsex_test.exs +++ b/test/lib/powerdnsex/powerdnsex_test.exs @@ -1,14 +1,16 @@ defmodule PowerDNSexTest do - use ExUnit.Case, async: false use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney setup do - Config.set_url - Config.set_token + Config.set_url() + Config.set_token() + + ExVCR.Config.cassette_library_dir( + "test/support/cassettes", + "test/support/custom_cassettes" + ) - ExVCR.Config.cassette_library_dir("test/support/cassettes", - "test/support/custom_cassettes") - HTTPoison.start + HTTPoison.start() end end diff --git a/test/support/fake_config.exs b/test/support/fake_config.exs index 0c27d93..c8f4f60 100644 --- a/test/support/fake_config.exs +++ b/test/support/fake_config.exs @@ -2,7 +2,6 @@ defmodule PowerDNSex.FakeConfig do @app_config_token "S3cr37_70k3n" @app_config_url "https://my-powerdns.api" - def set_url, do: Application.put_env(:powerdnsex, :url, @app_config_url) def set_token, do: Application.put_env(:powerdnsex, :token, @app_config_token) diff --git a/test/test_helper.exs b/test/test_helper.exs index 2fc6291..f0625ca 100644 --- a/test/test_helper.exs +++ b/test/test_helper.exs @@ -2,8 +2,8 @@ ExUnit.start() {:ok, files} = File.ls("./test/support/") -Enum.each files, fn(file) -> +Enum.each(files, fn file -> if String.match?(file, ~r/(.*).exs$/) do - Code.require_file "support/#{file}", __DIR__ + Code.require_file("support/#{file}", __DIR__) end -end +end) -- cgit v1.2.3