diff options
Diffstat (limited to 'test/support/server_case.ex')
| -rw-r--r-- | test/support/server_case.ex | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/support/server_case.ex b/test/support/server_case.ex new file mode 100644 index 0000000..a64bb05 --- /dev/null +++ b/test/support/server_case.ex @@ -0,0 +1,52 @@ +defmodule Cepis.ServerCase do + @moduledoc false + + use ExUnit.CaseTemplate + + using do + quote do + import Cepis.ServerCase + + alias Cepis.FakeServer + end + end + + setup do + server = Cepis.FakeServer.start() + on_exit(fn -> Cepis.FakeServer.stop(server) end) + + client = + Cepis.Client.new( + base_url: server.url, + timeout: 5_000, + backoff_base: 1, + backoff_max: 10 + ) + + %{server: server, client: client} + end + + @address %{ + "cep" => "01001000", + "logradouro" => "Praça da Sé", + "complemento" => "lado ímpar", + "unidade" => "", + "bairro" => "Sé", + "localidade" => "São Paulo", + "uf" => "SP", + "estado" => "São Paulo", + "regiao" => "Sudeste", + "ibge" => "3550308", + "gia" => "1004", + "ddd" => "11", + "siafi" => "7107" + } + + @csv_header "cep,logradouro,complemento,unidade,bairro,localidade,uf,estado,regiao,ibge,gia,ddd,siafi" + + def address_fixture(extra \\ %{}), do: Map.merge(@address, extra) + + def json(term), do: IO.iodata_to_binary(:json.encode(term)) + + def csv(rows), do: Enum.join([@csv_header | rows], "\n") <> "\n" +end |