namespace Cepis.Tests; /// Bodies the API really returns, copied from it. public static class Fixtures { /// A CEP with a street-precision coordinate. public const string SeAddress = """ {"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", "geo":{"lat":-23.567202,"lon":-46.649659,"raio_m":1084,"precisao":"logradouro"}} """; /// A CEP the database has no coordinate for. public const string NoGeoAddress = """ {"cep":"20040020","logradouro":"Avenida Rio Branco","complemento":"", "unidade":"","bairro":"Centro","localidade":"Rio de Janeiro","uf":"RJ", "estado":"Rio de Janeiro","regiao":"Sudeste","ibge":"3304557","gia":"", "ddd":"21","siafi":"6001"} """; /// A coordinate whose numbers cannot be read. public const string BrokenGeoAddress = """ {"cep":"01001000","logradouro":"Praça da Sé","complemento":"","unidade":"", "bairro":"Sé","localidade":"São Paulo","uf":"SP","estado":"São Paulo", "regiao":"Sudeste","ibge":"3550308","gia":"1004","ddd":"11","siafi":"7107", "geo":{"lat":"nowhere","precisao":"logradouro"}} """; /// A response carrying a field this library does not model. public const string FutureAddress = """ {"cep":"01001000","logradouro":"Praça da Sé","complemento":"","unidade":"", "bairro":"Sé","localidade":"São Paulo","uf":"SP","estado":"São Paulo", "regiao":"Sudeste","ibge":"3550308","gia":"1004","ddd":"11","siafi":"7107", "cep_pai":"01000000"} """; /// The 404 body. public const string NotFound = """{"erro":"cep_nao_encontrado","mensagem":"CEP não existe na base do DNE"}"""; /// /// The 404 body for a CEP inside a municipality's range. The CEP that draws /// it is 25845000 — the DNE's own start for Areal, and a CEP that was never /// issued. /// public const string NotFoundWithFaixa = """ {"erro":"cep_nao_encontrado","mensagem":"CEP não existe na base do DNE", "faixa":{"localidade":"Areal","uf":"RJ","estado":"Rio de Janeiro", "regiao":"Sudeste","ibge":"3300225","cep_ini":"25845001", "cep_fim":"25849899","ceps":118}} """; /// A 404 whose range block is not even an object. public const string NotFoundBrokenFaixa = """ {"erro":"cep_nao_encontrado","mensagem":"CEP não existe na base do DNE", "faixa":"Areal"} """; /// A 404 whose range block names no municipality. public const string NotFoundNamelessFaixa = """ {"erro":"cep_nao_encontrado","mensagem":"CEP não existe na base do DNE", "faixa":{"uf":"RJ","cep_ini":"25845001","cep_fim":"25849899","ceps":118}} """; /// The 400 body. public const string InvalidCep = """{"erro":"cep_invalido","mensagem":"CEP deve ter 8 dígitos"}"""; /// The 500 body. public const string InternalError = """{"erro":"interno","mensagem":"falha interna"}"""; /// A healthy API. public const string Healthy = """ {"status":"ok","dne":"26071","ceps":1596168,"geo":894489, "base_gerada_em":"2026-07-24T03:48:28Z"} """; /// The batch header row. public const string CsvHeader = "cep,logradouro,complemento,unidade,bairro,localidade,uf,estado,regiao,ibge,gia,ddd,siafi"; /// Three CEPs, the middle one absent from the database. public const string CsvBatch = CsvHeader + "\n" + "01001000,Praça da Sé,lado ímpar,,Sé,São Paulo,SP,São Paulo,Sudeste,3550308,1004,11,7107\n" + "99999999,,,,,,,,,,,,\n" + "20040020,Avenida Rio Branco,,,Centro,Rio de Janeiro,RJ,Rio de Janeiro,Sudeste,3304557,,21,6001\n"; /// One data row for a CEP, in the batch's column order. public static string CsvRow(string cep) => $"{cep},Rua Teste,,,Centro,Cidade,SP,São Paulo,Sudeste,3550308,,11,7107"; }