summaryrefslogtreecommitdiffstats
path: root/test/support/server_case.ex
diff options
context:
space:
mode:
authorMurilo Ijanc <[email protected]>2026-07-26 12:19:34 -0300
committerMurilo Ijanc <[email protected]>2026-07-26 12:19:34 -0300
commit075683ff44a254e99adbad8a0372ef80ff06151a (patch)
tree648289c8485afc6f003a3f719fb937c21f149311 /test/support/server_case.ex
downloadelixir-075683ff44a254e99adbad8a0372ef80ff06151a.tar.gz
Initial importv0.1.0
Diffstat (limited to 'test/support/server_case.ex')
-rw-r--r--test/support/server_case.ex52
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