public IActionResult Configurar( [FromRoute] string uf, [SwaggerParameter(Required = true)] [FromBody] ConfiguracaoContrato configuracao) { ConfiguracaoPool.AdicionarOuAtualizarConfiguracao(uf, ConfiguracaoParser.Parse(configuracao)); return(this.Ok()); }
public void DeveRealizarATransformacaoDoArquivoDeAc() { var configBairroMock = new Mock <IConfiguracaoItem>(MockBehavior.Strict); configBairroMock.SetupGet(mock => mock.PathObjeto).Returns(@"neighborhoods"); configBairroMock.SetupGet(mock => mock.PropriedadeNome).Returns(@"name"); configBairroMock.SetupGet(mock => mock.PropriedadeHabitantes).Returns(@"population"); var configCidadeMock = new Mock <IConfiguracaoItem>(MockBehavior.Strict); configCidadeMock.SetupGet(mock => mock.PathObjeto).Returns(@"cities"); configCidadeMock.SetupGet(mock => mock.PropriedadeNome).Returns(@"name"); configCidadeMock.SetupGet(mock => mock.PropriedadeHabitantes).Returns(@"population"); var configMock = new Mock <IConfiguracao>(MockBehavior.Strict); configMock.SetupGet(mock => mock.ConfiguracaoBairro).Returns(configBairroMock.Object); configMock.SetupGet(mock => mock.ConfiguracaoCidade).Returns(configCidadeMock.Object); const string UF = @"ac"; ConfiguracaoPool.AdicionarOuAtualizarConfiguracao(UF, configMock.Object); const string CONTENT_TYPE = @"application/json"; const string CONTEUDO_ARQUIVO = @" { ""cities"": [ { ""name"": ""Rio Branco"", ""population"": 576589, ""neighborhoods"": [ { ""name"": ""Habitasa"", ""population"": 7503 } ] } ] } "; var parser = new RetornoParser(UF); var retorno = parser.Parse(CONTENT_TYPE, CONTEUDO_ARQUIVO); Assert.IsNotNull(retorno); Assert.AreEqual(1, retorno.Cidades.Count); Assert.AreEqual("Rio Branco", retorno.Cidades[0].Nome); Assert.AreEqual(576589, retorno.Cidades[0].Habitantes); Assert.AreEqual(1, retorno.Cidades[0].Bairros.Count); Assert.AreEqual("Habitasa", retorno.Cidades[0].Bairros[0].Nome); Assert.AreEqual(7503, retorno.Cidades[0].Bairros[0].Habitantes); }
/// <summary> /// Inicializa uma nova instância de <see cref="RetornoParser" />. /// </summary> /// <param name="uf">A uf do parser.</param> public RetornoParser(string uf) { this.configuracao = ConfiguracaoPool.ObterConfiguracao(uf); }
public void Deve_Retornar_Excecao_Ao_Tentar_Recuperar_A_Configuracao_De_Uma_Uf_Que_Ainda_Nao_Esteja_Configurada() { Assert.Throws <UfNaoConfiguradaException>(() => ConfiguracaoPool.ObterConfiguracao("XX")); }
public void DeveRealizarATransformacaoDoArquivoDeMg() { var configBairroMock = new Mock <IConfiguracaoItem>(MockBehavior.Strict); configBairroMock.SetupGet(mock => mock.PathObjeto).Returns(@"neighborhoods/neighborhood"); configBairroMock.SetupGet(mock => mock.PropriedadeNome).Returns(@"name"); configBairroMock.SetupGet(mock => mock.PropriedadeHabitantes).Returns(@"population"); var configCidadeMock = new Mock <IConfiguracaoItem>(MockBehavior.Strict); configCidadeMock.SetupGet(mock => mock.PathObjeto).Returns(@"body/region/cities/city"); configCidadeMock.SetupGet(mock => mock.PropriedadeNome).Returns(@"name"); configCidadeMock.SetupGet(mock => mock.PropriedadeHabitantes).Returns(@"population"); var configMock = new Mock <IConfiguracao>(MockBehavior.Strict); configMock.SetupGet(mock => mock.ConfiguracaoBairro).Returns(configBairroMock.Object); configMock.SetupGet(mock => mock.ConfiguracaoCidade).Returns(configCidadeMock.Object); const string UF = @"mg"; ConfiguracaoPool.AdicionarOuAtualizarConfiguracao(UF, configMock.Object); const string CONTENT_TYPE = @"application/xml"; const string CONTEUDO_ARQUIVO = @" <body> <region> <name>Triangulo Mineiro</name> <cities> <city> <name>Uberlandia</name> <population>700001</population> <neighborhoods> <neighborhood> <name>Santa Monica</name> <zone>Zona Leste</zone> <population>13012</population> </neighborhood> </neighborhoods> </city> <city> <name>Uberaba</name> <population>289376</population> <neighborhoods> <neighborhood> <name>Abaeté</name> <zone>Centro</zone> <population>22690</population> </neighborhood> </neighborhoods> </city> </cities> </region> </body> "; var parser = new RetornoParser(UF); var retorno = parser.Parse(CONTENT_TYPE, CONTEUDO_ARQUIVO); Assert.IsNotNull(retorno); Assert.AreEqual(2, retorno.Cidades.Count); Assert.AreEqual("Uberlandia", retorno.Cidades[0].Nome); Assert.AreEqual(700001, retorno.Cidades[0].Habitantes); Assert.AreEqual(1, retorno.Cidades[0].Bairros.Count); Assert.AreEqual("Santa Monica", retorno.Cidades[0].Bairros[0].Nome); Assert.AreEqual(13012, retorno.Cidades[0].Bairros[0].Habitantes); Assert.AreEqual("Uberaba", retorno.Cidades[1].Nome); Assert.AreEqual(289376, retorno.Cidades[1].Habitantes); Assert.AreEqual(1, retorno.Cidades[1].Bairros.Count); Assert.AreEqual("Abaeté", retorno.Cidades[1].Bairros[0].Nome); Assert.AreEqual(22690, retorno.Cidades[1].Bairros[0].Habitantes); }
public void DeveRealizarATransformacaoDoArquivoDoRj() { var configBairroMock = new Mock <IConfiguracaoItem>(MockBehavior.Strict); configBairroMock.SetupGet(mock => mock.PathObjeto).Returns(@"bairros/bairro"); configBairroMock.SetupGet(mock => mock.PropriedadeNome).Returns(@"nome"); configBairroMock.SetupGet(mock => mock.PropriedadeHabitantes).Returns(@"populacao"); var configCidadeMock = new Mock <IConfiguracaoItem>(MockBehavior.Strict); configCidadeMock.SetupGet(mock => mock.PathObjeto).Returns(@"corpo/cidade"); configCidadeMock.SetupGet(mock => mock.PropriedadeNome).Returns(@"nome"); configCidadeMock.SetupGet(mock => mock.PropriedadeHabitantes).Returns(@"populacao"); var configMock = new Mock <IConfiguracao>(MockBehavior.Strict); configMock.SetupGet(mock => mock.ConfiguracaoBairro).Returns(configBairroMock.Object); configMock.SetupGet(mock => mock.ConfiguracaoCidade).Returns(configCidadeMock.Object); const string UF = @"rj"; ConfiguracaoPool.AdicionarOuAtualizarConfiguracao(UF, configMock.Object); const string CONTENT_TYPE = @"application/xml"; const string CONTEUDO_ARQUIVO = @" <corpo> <cidade> <nome>Rio de Janeiro</nome> <populacao>10345678</populacao> <bairros> <bairro> <nome>Tijuca</nome> <regiao>Zona Norte</regiao> <populacao>135678</populacao> </bairro> <bairro> <nome>Botafogo</nome> <regiao>Zona Sul</regiao> <populacao>105711</populacao> </bairro> </bairros> </cidade> <cidade> <nome>Teresópolis</nome> <populacao>182594</populacao> <bairros> <bairro> <nome>Tijuca</nome> <regiao>Centro</regiao> <populacao>13678</populacao> </bairro> </bairros> </cidade> </corpo> "; var parser = new RetornoParser(UF); var retorno = parser.Parse(CONTENT_TYPE, CONTEUDO_ARQUIVO); Assert.IsNotNull(retorno); Assert.AreEqual(2, retorno.Cidades.Count); Assert.AreEqual("Rio de Janeiro", retorno.Cidades[0].Nome); Assert.AreEqual(10345678, retorno.Cidades[0].Habitantes); Assert.AreEqual(2, retorno.Cidades[0].Bairros.Count); Assert.AreEqual("Tijuca", retorno.Cidades[0].Bairros[0].Nome); Assert.AreEqual(135678, retorno.Cidades[0].Bairros[0].Habitantes); Assert.AreEqual("Botafogo", retorno.Cidades[0].Bairros[1].Nome); Assert.AreEqual(105711, retorno.Cidades[0].Bairros[1].Habitantes); Assert.AreEqual("Teresópolis", retorno.Cidades[1].Nome); Assert.AreEqual(182594, retorno.Cidades[1].Habitantes); Assert.AreEqual(1, retorno.Cidades[1].Bairros.Count); Assert.AreEqual("Tijuca", retorno.Cidades[1].Bairros[0].Nome); Assert.AreEqual(13678, retorno.Cidades[1].Bairros[0].Habitantes); }