/// <summary> /// Gets today's data from the web API /// </summary> /// <returns>A TodaysData model containing today's data</returns> public TodaysData GetTodaysData() { TodaysData todaysData = null; // Set the URL for the request this.restClient.BaseUrl = this.uriService.GetUri(this.appSettings.Get(AppSettingsKeys.HelloWorldApiUrlKey)); // Setup the request this.restRequest.Resource = "todaysdata"; this.restRequest.Method = Method.GET; // Clear the request parameters this.restRequest.Parameters.Clear(); // Execute the call and get the response var todaysDataResponse = this.restClient.Execute <TodaysData>(this.restRequest); // Check for data in the response if (todaysDataResponse != null) { // Check if any actual data was returned if (todaysDataResponse.Data != null) { todaysData = todaysDataResponse.Data; } else { var errorMessage = "Error in RestSharp, most likely in endpoint URL." + " Error message: " + todaysDataResponse.ErrorMessage + " HTTP Status Code: " + todaysDataResponse.StatusCode + " HTTP Status Description: " + todaysDataResponse.StatusDescription; // Check for existing exception if (todaysDataResponse.ErrorMessage != null && todaysDataResponse.ErrorException != null) { // Log an informative exception including the RestSharp exception this.logger.Error(errorMessage, null, todaysDataResponse.ErrorException); } else { // Log an informative exception including the RestSharp content this.logger.Error(errorMessage, null, new Exception(todaysDataResponse.Content)); } } } else { // Log the exception const string ErrorMessage = "Did not get any response from the Hello World Web Api for the Method: GET /todaysdata"; this.logger.Error(ErrorMessage, null, new Exception(ErrorMessage)); } return(todaysData); }
/// <summary> /// Transforms list of TodaysData BOs to list of TodaysData DTOs. /// </summary> /// <param name="TodaysData">List of TodaysData BOs.</param> /// <returns>List of TodaysData DTOs.</returns> public static TodaysDataDto ToDataTransferObject(TodaysData todaysData) { if (todaysData == null) { return(null); } return(new TodaysDataDto { Data = todaysData.Data }); }
public TodaysDataResponse GetTodaysData(TodaysDataRequest request) { TodaysDataResponse response = new TodaysDataResponse(); TodaysData objTD = new TodaysData(); try { objTD = Mapper.FromDataTransferObject(request.TodaysData); response.Message = todaysDataDao.GetTodaysData(); } catch (Exception ex) { response.Message = ex.Message; response.Acknowledge = AcknowledgeType.Failure; } return(response); }
public void UnitTestHelloWorldConsoleAppRunNormalDataNullDataNullErrorMessage() { // Create return models for dependencies const string WebApiIUrl = "http://www.somesiteheretesting.com"; var uri = new Uri(WebApiIUrl); var mockParameters = new Mock <List <Parameter> >(); var mockRestResponse = new Mock <IRestResponse <TodaysData> >(); TodaysData todaysData = null; const string ErrorMessage = null; const HttpStatusCode StatusCode = HttpStatusCode.InternalServerError; const string StatusDescription = "Status Description"; var errorException = new Exception("errorHere"); const string ProfileContent = "Content here"; var errorMessage = "Error in RestSharp, most likely in endpoint URL." + " Error message: " + ErrorMessage + " HTTP Status Code: " + StatusCode + " HTTP Status Description: " + StatusDescription; this.appSettingsMock.Setup(m => m.Get(AppSettingsKeys.HelloWorldApiUrlKey)).Returns(WebApiIUrl); this.uriServiceMock.Setup(m => m.GetUri(WebApiIUrl)).Returns(uri); this.restRequestMock.Setup(m => m.Parameters).Returns(mockParameters.Object); this.restClientMock.Setup(m => m.Execute <TodaysData>(It.IsAny <IRestRequest>())).Returns(mockRestResponse.Object); mockRestResponse.Setup(m => m.Data).Returns(todaysData); mockRestResponse.Setup(m => m.ErrorMessage).Returns(ErrorMessage); mockRestResponse.Setup(m => m.StatusCode).Returns(StatusCode); mockRestResponse.Setup(m => m.StatusDescription).Returns(StatusDescription); mockRestResponse.Setup(m => m.ErrorException).Returns(errorException); mockRestResponse.Setup(m => m.Content).Returns(ProfileContent); var response = this.helleHelloWorldWebService.GetTodaysData(); Assert.IsNull(response); Assert.AreEqual(this.logMessageList.Count, 1); Assert.AreEqual(this.logMessageList[0], errorMessage); Assert.AreEqual(this.exceptionList.Count, 1); Assert.AreEqual(this.exceptionList[0].Message, ProfileContent); }