1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
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"
@faixa %{
"localidade" => "Areal",
"uf" => "RJ",
"estado" => "Rio de Janeiro",
"regiao" => "Sudeste",
"ibge" => "3300225",
"cep_ini" => "25845001",
"cep_fim" => "25849899",
"ceps" => 118
}
def address_fixture(extra \\ %{}), do: Map.merge(@address, extra)
def faixa_fixture(extra \\ %{}), do: Map.merge(@faixa, extra)
def not_found_fixture(extra \\ %{}) do
Map.merge(
%{"erro" => "cep_nao_encontrado", "mensagem" => "CEP não existe na base do DNE"},
extra
)
end
def json(term), do: IO.iodata_to_binary(:json.encode(term))
def csv(rows), do: Enum.join([@csv_header | rows], "\n") <> "\n"
end
|