public HW_Message Get()
        {
            HW_Message ret = null;

            ret = this.dataService.GetHW_Message();
            return(ret);
        }
Esempio n. 2
0
        /// <summary>
        ///     Gets today's data from the web API
        /// </summary>
        /// <returns>A TodaysData model containing today's data</returns>
        public HW_Message GetHW_Message()
        {
            HW_Message hw_MessageData = null;

            // Set the URL for the request
            this.restClient.BaseUrl = this.uriService.GetUri(this.appSettings.Get(AppSettingsKeys.WebAPIUrlKey));

            // Setup the request
            this.restRequest.Resource = "hw_message";
            this.restRequest.Method   = Method.GET;

            // Clear the request parameters
            this.restRequest.Parameters.Clear();

            // Execute the call and get the response
            var hw_MessageDataResponse = this.restClient.Execute <HW_Message>(this.restRequest);

            // Check for data in the response
            if (hw_MessageDataResponse != null)
            {
                // Check if any actual data was returned
                if (hw_MessageDataResponse.Data != null)
                {
                    hw_MessageData = hw_MessageDataResponse.Data;
                }
                else
                {
                    var errorMessage = "Error in RestSharp, most likely in endpoint URL." + " Error message: "
                                       + hw_MessageDataResponse.ErrorMessage + " HTTP Status Code: "
                                       + hw_MessageDataResponse.StatusCode + " HTTP Status Description: "
                                       + hw_MessageDataResponse.StatusDescription;

                    // Check for existing exception
                    if (hw_MessageDataResponse.ErrorMessage != null && hw_MessageDataResponse.ErrorException != null)
                    {
                        // Log an informative exception including the RestSharp exception
                        this.logger.Error(errorMessage, null, hw_MessageDataResponse.ErrorException);
                    }
                    else
                    {
                        // Log an informative exception including the RestSharp content
                        this.logger.Error(errorMessage, null, new Exception(hw_MessageDataResponse.Content));
                    }
                }
            }
            else
            {
                // Log the exception
                const string ErrorMessage =
                    "Did not get any response from the Web Api for the Method: GET /todaysdata";

                this.logger.Error(ErrorMessage, null, new Exception(ErrorMessage));
            }

            return(hw_MessageData);
        }
Esempio n. 3
0
        public void UnitTestConsoleAppRunNormalDataNullDataNullErrorException()
        {
            // 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 <HW_Message> >();
            HW_Message           todaysData        = null;
            const string         ErrorMessage      = "Error Message";
            const HttpStatusCode StatusCode        = HttpStatusCode.InternalServerError;
            const string         StatusDescription = "Status Description";
            Exception            errorException    = null;
            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;

            // Set up dependencies
            this.appSettingsMock.Setup(m => m.Get(AppSettingsKeys.HW_MessageFileKey)).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 <HW_Message>(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);

            // Call the method to test
            var response = this.HW_WebService.GetHW_Message();

            // Check values
            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);
        }