public void ValidateSearchByAddressCoverage() { const string resultData = "[ { 'cep': '91790-072', 'logradouro': 'Rua Domingos José Poli', 'complemento': '', 'bairro': 'Restinga', 'localidade': 'Porto Alegre', 'uf': 'RS', 'unidade': '', 'ibge': '4314902', 'gia': '' }, { 'cep': '91910-420', 'logradouro': 'Rua José Domingos Varella', 'complemento': '', 'bairro': 'Cavalhada', 'localidade': 'Porto Alegre', 'uf': 'RS', 'unidade': '', 'ibge': '4314902', 'gia': '' }, { 'cep': '90420-200', 'logradouro': 'Rua Domingos José de Almeida', 'complemento': '', 'bairro': 'Rio Branco', 'localidade': 'Porto Alegre', 'uf': 'RS', 'unidade': '', 'ibge': '4314902', 'gia': '' } ]"; var httpClientMock = new MockHttpMessageHandler(); httpClientMock.When("https://viacep.com.br/ws/*/*/*/json") .Respond("application/json", resultData); var httpClient = new HttpClient(httpClientMock) { BaseAddress = _baseUrl }; var client = new ViaCepClient(httpClient); var results = client.Search("RS", "Porto Alegre", "Domingos Jose"); Assert.NotNull(results); var list = results.ToList(); Assert.Equal(3, list.Count); Assert.All(list, result => Assert.False(result.GIACode.HasValue)); Assert.All(list, result => Assert.Empty(result.Complement)); Assert.All(list, result => Assert.Equal("Porto Alegre", result.City)); Assert.All(list, result => Assert.Equal("RS", result.StateInitials)); Assert.All(list, result => Assert.Equal(4314902, result.IBGECode)); }
public void ValidateSearchByZipCodeCoverage() { const string resultData = "{'cep': '01001-000','logradouro': 'Praça da Sé','complemento': 'lado ímpar','bairro': 'Sé','localidade': 'São Paulo','uf': 'SP','unidade': '','ibge': '3550308','gia': '1004'}"; var httpClientMock = new MockHttpMessageHandler(); httpClientMock.When("https://viacep.com.br/ws/*/json") .Respond("application/json", resultData); var httpClient = new HttpClient(httpClientMock) { BaseAddress = _baseUrl }; var client = new ViaCepClient(httpClient); var result = client.Search("01001000"); Assert.NotNull(result); Assert.Equal("01001-000", result.ZipCode); Assert.Equal("Praça da Sé", result.Street); Assert.Equal("lado ímpar", result.Complement); Assert.Equal("Sé", result.Neighborhood); Assert.Equal("São Paulo", result.City); Assert.Equal("SP", result.StateInitials); Assert.Equal(string.Empty, result.Unit); Assert.Equal(3550308, result.IBGECode); Assert.True(result.GIACode.HasValue); Assert.Equal(1004, result.GIACode); }
public ViaCepResult Search([FromBody] string zipCode) { var client = new ViaCepClient(); var result = client.Search(zipCode); string jsonString = JsonSerializer.Serialize(result); Console.WriteLine(jsonString); return(result); }
private void metroTextBoxCEP_Leave(object sender, EventArgs e) { string cep = UtilityClass.retornaApenasNumeros(this.metroTextBoxCEP.Text); if (cep.Length == 8) { try { ViaCepClient viaCepClient = new ViaCepClient(); ViaCepResult resultadoPesquisaCEP = viaCepClient.Search(cep); if (string.IsNullOrWhiteSpace(resultadoPesquisaCEP.StateInitials)) { MessageBox.Show("Não foi possível validar o CEP e preencher automaticamente os campos. Você pode enviar este CEP " + "e preencher os campos manualmente, mas é recomendado verificar se o CEP inserido é valido.", "CEP não encontrado na base de dados", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { this.metroTextBoxCEP.Text = cep; this.metroComboBoxEstados.SelectedItem = UtilityClass.getNomeUFbyIniciais(resultadoPesquisaCEP.StateInitials); this.metroTextBoxBairro.Text = resultadoPesquisaCEP.Neighborhood; this.metroTextBoxCidade.Text = resultadoPesquisaCEP.City; this.metroTextBoxRua.Text = resultadoPesquisaCEP.Street; } } catch (Exception ex) { MensagemModel mensagem = new MensagemModel("Erro ao se conectar na API da ViaCEP", "Ocorreram erros na utilização no Excel, tente novamente."); LogModel log = new LogModel(mensagem.Titulo, ex.Message, ex.StackTrace, DateTime.Now); LogController.logarErro(log); MessageBox.Show(mensagem.Corpo, mensagem.Titulo, MessageBoxButtons.OK); } } else { MessageBox.Show("O CEP inserido é invalido, um cep deve possuir exatamente 8 números", "CEP inválido", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }