Example #1
0
        public void Status_Should_ReturnRestResponseHandler()
        {
            IRestResponse response            = Mock.Of <IRestResponse>();
            var           sut                 = new RestResponseHandler(response);
            var           restResponseHandler = sut.Status(HttpStatusCode.OK, (res) => { return; });

            Assert.AreEqual(sut, restResponseHandler);
        }
Example #2
0
        public void ServerError_WhenConfigured_ShouldNotHandleNon5XX()
        {
            IRestResponse upgradeRequiredResponse = Mock.Of <IRestResponse>();

            upgradeRequiredResponse.StatusCode = HttpStatusCode.UpgradeRequired;

            var sut = new RestResponseHandler(upgradeRequiredResponse);

            sut.ServerError(restResponse => { });
            var handled = sut.Evaluate();

            Assert.AreEqual(false, handled);
        }
Example #3
0
        public void ServerError_WhenConfigured_ShouldHandle5XX()
        {
            IRestResponse internalServerErrorResponse = Mock.Of <IRestResponse>();

            internalServerErrorResponse.StatusCode = HttpStatusCode.InternalServerError;

            var sut = new RestResponseHandler(internalServerErrorResponse);

            sut.ServerError(restResponse => { });
            var handled = sut.Evaluate();

            Assert.AreEqual(true, handled);
        }
Example #4
0
        public void ClientError_WhenConfigured_ShouldHandle4XX()
        {
            IRestResponse badResponse = Mock.Of <IRestResponse>();

            badResponse.StatusCode = HttpStatusCode.BadRequest;

            var sut = new RestResponseHandler(badResponse);

            sut.ClientError(restResponse => {});
            var handled = sut.Evaluate();

            Assert.AreEqual(true, handled);
        }
Example #5
0
        public void Evaluate_WhenConditionsIsMet_ShouldHandle()
        {
            IRestResponse response = Mock.Of <IRestResponse>();

            response.StatusCode = HttpStatusCode.BadRequest;

            var sut    = new RestResponseHandler(response);
            var result = HttpStatusCode.Continue;

            sut = sut.Status(HttpStatusCode.OK, (res) => result = HttpStatusCode.OK)
                  .Status(HttpStatusCode.BadRequest, (res => result = HttpStatusCode.BadRequest))
                  .Status(HttpStatusCode.InternalServerError, res => result = HttpStatusCode.InternalServerError);
            var handled = sut.Evaluate();

            Assert.AreEqual(true, handled);
            Assert.AreEqual(response.StatusCode, result);
        }
Example #6
0
        public void ClientError_WhenConfigured_ShouldNotHandleNon4XX()
        {
            IRestResponse badResponse = Mock.Of <IRestResponse>();

            badResponse.StatusCode = HttpStatusCode.TemporaryRedirect;

            IRestResponse internalServerErrorResponse = Mock.Of <IRestResponse>();

            internalServerErrorResponse.StatusCode = HttpStatusCode.InternalServerError;

            var sut = new RestResponseHandler(badResponse);

            sut.ClientError(restResponse => {});
            var handled = sut.Evaluate();

            Assert.AreEqual(false, handled);

            sut = new RestResponseHandler(internalServerErrorResponse);
            sut.ClientError(restResponse => { });
            handled = sut.Evaluate();

            Assert.AreEqual(false, handled);
        }
Example #7
0
 private static void HandleRestResponse <T>(IRestRequest oRequest, IRestResponse <T> oResponse, RestResponseHandler <T> restResponseHandler = null)
 {
     if (restResponseHandler != null)
     {
         restResponseHandler.Invoke(oRequest, oResponse);
     }
     else
     {
         try {
             HandleRestResponse(oResponse);
         } catch (Exception ex) {
             throw new RestException(ex.Message, oRequest, oResponse);
         }
     }
 }
Example #8
0
        public static async Task <T> ExecuteRequestAsync <T>(this RestClient client, RestRequest oRequest, RestResponseHandler <T> restResponseHandler = null) where T : new()
        {
            T retVal = default(T);

            if (client != null)
            {
                var oResponse = await client.ExecuteTaskAsync <T>(oRequest);

                HandleRestResponse(oRequest, oResponse, restResponseHandler);
                retVal = oResponse.Data;
            }
            return(retVal);
        }
Example #9
0
        public static async Task ExecuteRequestAsync(this RestClient client, RestRequest oRequest, RestResponseHandler restResponseHandler = null)
        {
            if (client != null)
            {
                var oResponse = await client.ExecuteTaskAsync(oRequest);

                HandleRestResponse(oRequest, oResponse, restResponseHandler);
            }
        }
Example #10
0
 public static void ExecuteRequest(this RestClient client, RestRequest oRequest, RestResponseHandler restResponseHandler = null)
 {
     if (client != null)
     {
         var oResponse = client.Execute(oRequest);
         HandleRestResponse(oRequest, oResponse, restResponseHandler);
     }
 }