public void Get15DaysWeatherById_When_Parameter_IsNull_OrEmpty_Returns_BadRequest(string city, string state) { var request = new ParameterRequest() { City = null, State = null }; if (city == null && state == null) { request = null; } else { request.City = city; request.State = state; } var result = new ErrorResponse(); result.Message = "Cidade ou Estado Inválidos"; var controller = new WeatherController(_service); var response = controller.Get15daysWeatherById(request); response.Should().BeEquivalentTo(new BadRequestObjectResult(result)); }
public void GetCurrentWeatherByCity_When_Parameter_IsIncorrect_Returns_BadRequest(bool hasValue, string errorMessage) { var request = new ParameterRequest() { City = "maue", State = "SP" }; var httpResponse = new HttpResponseMessage() { StatusCode = HttpStatusCode.OK }; httpResponse.Content = !hasValue ? null : new StringContent("vazio"); _client.GetAsync($"{_host}/locale/city?name={request.City}&state={request.State}&{_token}").ReturnsForAnyArgs(httpResponse); var result = _service.GetCurrentWeatherByCity(request); var response = new CityResponse(); response.Detail = errorMessage; response.StatusCode = HttpStatusCode.BadRequest; result.Should().BeEquivalentTo(response); }
public ActionResult GetCurrentWeatherByCity([FromRoute] ParameterRequest request) { if (request == null || string.IsNullOrEmpty(request.City) || string.IsNullOrEmpty(request.State)) { var result = new ErrorResponse(); result.Message = "Cidade ou Estado Inválidos"; return(new BadRequestObjectResult(result)); } try { var result = _service.GetCurrentWeatherByCity(request); if (result == null) { var errorResponse = new ErrorResponse(); errorResponse.Message = "Cidade invalida, verifique."; return(new BadRequestObjectResult(errorResponse)); } return(new OkObjectResult(result)); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public void GetCurrentWeatherByCity_When_Has_OK_Returns_Success() { var request = new ParameterRequest(); request.City = "Mauá"; request.State = "SP"; var response = new CityResponse() { StatusCode = HttpStatusCode.OK, Detail = "Falha de comunicação.", Id = 3954, Name = "Nublado", State = "SP", Country = "Brasil", }; _service.GetCurrentWeatherByCity(request).Returns(response); var controller = new WeatherController(_service); var result = controller.GetCurrentWeatherByCity(request); result.Should().BeEquivalentTo(new OkObjectResult(response)); }
public void Get15DaysWeatherById_When_CustomerService_Throws_Exceptions_Returns_InternalServerError() { var parameterRequest = new ParameterRequest() { City = "Mauá", State = "SP" }; var controller = new WeatherController(_service); _service.Get15DaysWeather(parameterRequest).Throws(new Exception()); var result = controller.Get15daysWeatherById(parameterRequest); result.Should().BeEquivalentTo(new StatusCodeResult(StatusCodes.Status500InternalServerError)); }
/// <summary> Adds pObjRecord. </summary> /// <remarks> Ranaya, 08/05/2017. </remarks> /// <param name="pObjRecord"> The Object record to add. </param> /// <returns> An int. </returns> public int Add(ParameterRequest pObjRecord) { int lIntResult = 0; //CREAR if (!mObjPermissionsDAO.ExistRequest(pObjRecord.RequestId)) { lIntResult = mObjParameterRequestDAO.Add(pObjRecord); if (lIntResult == 0) { LogService.WriteSuccess("[ParameterRequest CREATE]"); if (mObjPermissionsDAO.IsRequestPreparedToCreateSaleOrder(pObjRecord.RequestId)) { lIntResult = mObjPermissionsDAO.CreateSaleOrder(pObjRecord.RequestId); } } else { LogService.WriteError("[ParameterRequest NO CREATE]"); } } /* * //EDITAR * else * { * try * { * pObjRecord.RowCode = mObjPermissionsDAO.GetRowCode("[@UG_PE_WS_PARE]", pObjRecord.RequestId); * lIntResult = mObjParameterRequestDAO.Update(pObjRecord); * * if (lIntResult == 0) * { * LogService.WriteSuccess("[ParameterRequest UPDATE]"); * lIntResult = mObjPermissionsDAO.UpdateSaleOrder(pObjRecord.RequestId); * } * else * { * LogService.WriteError("ERROR:[ParameterRequest UPDATE]"); * } * } * catch (Exception ex) * { * LogService.WriteError("ERROR:[ParameterRequest UPDATE] - " + ex.Message); * } * * } */ return(lIntResult); }
public void GetCurrentWeatherByCity_When_Success_Returns_CityResponse() { var request = new ParameterRequest() { City = "Mauá", State = "SP" }; var baseM = _fixture.Build <BaseListModel>() .With(x => x.Id, 1234) .With(x => x.Name, "Mauá") .With(x => x.State, "SP") .With(x => x.Country, "BR") .CreateMany(1); var response = new CityResponse() { StatusCode = HttpStatusCode.OK, Detail = "Falha de comunicação.", Id = 1234, Name = "Nublado", State = "SP", Country = "Brasil", }; var cityID = 1234; var httpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK); var jsonfile = JsonConvert.SerializeObject(baseM); httpResponseMessage.Content = new StringContent(jsonfile); httpResponseMessage.Content.Headers.ContentType.MediaType = "application/json"; _client.GetAsync($"{_host}/locale/city?name={request.City}&state={request.State}&{_token}").Returns(httpResponseMessage); var httpResponse = new HttpResponseMessage(HttpStatusCode.OK); var httpRequest = new HttpRequestMessage(); httpRequest.Content = new StringContent($"localeId[]={cityID}"); httpRequest.Content.Headers.ContentType.MediaType = "application/x-www-form-urlencoded"; _client.PutAsync("http://apiadvisor.climatempo.com.br/api-manager/user-token/f444ae97bad0cadc04e972d4566220f1/locales", httpRequest.Content).ReturnsForAnyArgs(httpResponse); var httpResponseMessageResult = new HttpResponseMessage(HttpStatusCode.OK); jsonfile = JsonConvert.SerializeObject(response); httpResponseMessageResult.Content = new StringContent(jsonfile); httpResponseMessageResult.Content.Headers.ContentType.MediaType = "application/json"; _client.GetAsync($"{_host}/weather/locale/1234/current?{_token}").Returns(httpResponseMessageResult); var result = _service.GetCurrentWeatherByCity(request); result.Should().BeEquivalentTo(response); }
/// <summary> Updates the given pObjRecord. </summary> /// <remarks> Ranaya, 08/05/2017. </remarks> /// <param name="pObjRecord"> The Object record to add. </param> /// <returns> An int. </returns> public int Update(ParameterRequest pObjRecord) { int lIntResult = 0; lIntResult = mObjParameterRequestDAO.Update(pObjRecord); if (lIntResult == 0 && mObjPermissionsDAO.ExistsSaleOrder(pObjRecord.RequestId)) { lIntResult = mObjPermissionsDAO.UpdateSaleOrder(pObjRecord.RequestId); } return(lIntResult); }
public void Get15DaysWeatherById_When_Has_OK_Returns_Success() { var request = new ParameterRequest() { City = "Mauá", State = "SP" }; var controller = new WeatherController(_service); var response = Substitute.For <DaysResponse>(); _service.Get15DaysWeather(request).Returns(response); var result = controller.Get15daysWeatherById(request); result.Should().BeEquivalentTo(new OkObjectResult(response)); }
public void Get72hrWeatherById_When_Success_Returns_HourResponse() { var request = new ParameterRequest() { City = "Mauá", State = "SP" }; var baseM = _fixture.Build <BaseListModel>().With(x => x.Country, "BR") .With(x => x.Id, 1234) .With(x => x.Name, "Mauá") .With(x => x.State, "SP").CreateMany(2); var cityID = 1234; var response = _fixture.Create <HourResponse>(); response.StatusCode = HttpStatusCode.OK; var httpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK); var jsonfile = JsonConvert.SerializeObject(baseM); httpResponseMessage.Content = new StringContent(jsonfile); httpResponseMessage.Content.Headers.ContentType.MediaType = "application/json"; _client.GetAsync($"{_host}/locale/city?name={request.City}&state={request.State}&{_token}").Returns(httpResponseMessage); var httpResponse = new HttpResponseMessage(HttpStatusCode.OK); var httpRequest = new HttpRequestMessage(); httpRequest.Content = new StringContent($"localeId[]={cityID}"); httpRequest.Content.Headers.ContentType.MediaType = "application/x-www-form-urlencoded"; _client.PutAsync($"{_hostPut}/{_token}/locales", httpRequest.Content).ReturnsForAnyArgs(httpResponse); var httpResponseMessageResult = new HttpResponseMessage(HttpStatusCode.OK); jsonfile = JsonConvert.SerializeObject(response); httpResponseMessageResult.Content = new StringContent(jsonfile); httpResponseMessageResult.Content.Headers.ContentType.MediaType = "application/json"; _client.GetAsync($"{_host}/forecast/locale/1234/hours/72?{_token}").Returns(httpResponseMessageResult); var result = _service.Get72hrWeatherById(request); result.Should().BeEquivalentTo(response); }
public void GetCurrentWeatherByCity_When_ThrowsException_Returns_ErrorResponse() { var request = new ParameterRequest() { City = "Mauá", State = "SP" }; _client.GetAsync($"{_host}/locale/city?name={request.City}&state={request.State}&{_token}").Throws(new Exception()); var result = _service.GetCurrentWeatherByCity(request); var errorMessage = new CityResponse { StatusCode = HttpStatusCode.BadGateway, Detail = "Falha de comunicação." }; result.Should().BeEquivalentTo(errorMessage); }
public void Get72hrWeatherById_When_ThrowsException_Returns_ErrorResponse() { var request = new ParameterRequest() { City = "Mauá", State = "SP" }; _client.GetAsync($"{_host}/locale/city?name={request.City}&state={request.State}&{_token}").Throws(new Exception()); var result = _service.Get72hrWeatherById(request); var errorMessage = _fixture.Build <HourResponse>().With(x => x.StatusCode, HttpStatusCode.BadGateway) .With(x => x.Data, (List <Hour>)null) .With(x => x.Detail, "Falha de comunicação.").Create(); result.Should().BeEquivalentTo(errorMessage); }
public void GetCurrentWeatherByCity_When_Parameters_IsNull_OrEmpty_Returns_BadRequest(string city, string state) { ParameterRequest request = null; if (city != null || state != null) { request = new ParameterRequest { City = city, State = state } } ; var result = new ErrorResponse(); result.Message = "Cidade ou Estado Inválidos"; var controller = new WeatherController(_service); var response = controller.GetCurrentWeatherByCity(request); response.Should().BeEquivalentTo(new BadRequestObjectResult(result)); }
public void Get15DaysWeatherById_When_InvalidCity_Returns_BadRequest() { var request = new ParameterRequest() { City = "Mauaaa", State = "SP" }; var errorMessage = new ErrorResponse() { Message = "Cidade invalida, verifique." }; DaysResponse response = null; _service.Get15DaysWeather(request).Returns(response); var controller = new WeatherController(_service); var result = controller.Get15daysWeatherById(request); result.Should().BeEquivalentTo(new BadRequestObjectResult(errorMessage)); }
public bool UpdateByName([FromBody] ParameterRequest updateModel) { var result = _parameterService.UpdateParameter(updateModel); return(result); }
public CityResponse GetCurrentWeatherByCity(ParameterRequest parameterRequest) { CityResponse response; if (parameterRequest == null || parameterRequest.State == null || parameterRequest.City == null) { response = new CityResponse() { Detail = "Parâmetros Inválidos", StatusCode = HttpStatusCode.BadRequest }; return(response); } try { var result = _httpClient.GetAsync($"{_host}/locale/city?name={parameterRequest.City}&state={parameterRequest.State}&{_token}").Result; if (result.Content == null) { return(new CityResponse() { Detail = "Cidade ou Estado inválidos.", StatusCode = HttpStatusCode.BadRequest }); } var baseModel = result.Content.ReadAsAsync <IEnumerable <BaseListModel> >().Result; if (baseModel == null || !baseModel.Any()) { return(new CityResponse() { Detail = "Cidade ou Estado inválidos.", StatusCode = HttpStatusCode.BadRequest }); } var cityID = baseModel.First().Id; var request = new HttpRequestMessage(); request.Content = new StringContent($"localeId[]={cityID}"); request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded"); result = _httpClient.PutAsync($"{_hostPut}/{_token}/locales", request.Content)?.Result; if (result.StatusCode != HttpStatusCode.OK) { return(new CityResponse() { Detail = "Não foi possível executar a operação, verifique os " + "Parametros informados e tente novamente.", StatusCode = HttpStatusCode.BadRequest }); } var resultIdSearch = _httpClient.GetAsync($"{_host}/weather/locale/{cityID}/current?{_token}")?.Result; var finalResult = resultIdSearch.Content.ReadAsAsync <CityResponse>().Result; finalResult.StatusCode = resultIdSearch.StatusCode; return(finalResult); } catch (UnsupportedMediaTypeException) { return(new CityResponse() { Detail = "Não foi possível executar a operação, verifique os " + "Parametros informados e tente novamente.", StatusCode = HttpStatusCode.BadRequest }); } catch (Exception ex) { return(new CityResponse() { StatusCode = HttpStatusCode.BadGateway, Detail = "Falha de comunicação." }); } }