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); }
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); }
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); }
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); }
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); }
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); }
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); } } }
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); }
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); } }
public static void ExecuteRequest(this RestClient client, RestRequest oRequest, RestResponseHandler restResponseHandler = null) { if (client != null) { var oResponse = client.Execute(oRequest); HandleRestResponse(oRequest, oResponse, restResponseHandler); } }