internal ApiResult <T> Execute <T>(RestRequest request) { var response = Client.Execute <ApiResult <T> >(request); ApiResultValidator.ValidateResponse(response, _apiContext.ApiResultHandler); return(response.Data); }
internal async Task <ApiResult <T> > ExecuteAsync <T>(RestRequest request, CancellationToken cancellationToken) { var response = await Client.ExecuteAsync <ApiResult <T> >(request, cancellationToken).ConfigureAwait(false); ApiResultValidator.ValidateResponse(response, _apiContext.ApiResultHandler); return(response.Data); }
public void ApiResult_ServiceUnavailabe_Throws() { // Arrange IRestResponse <ApiResult <bool> > response = new RestResponse <ApiResult <bool> > { StatusCode = HttpStatusCode.ServiceUnavailable }; // Assert Assert.Throws <IdokladUnavailableException>(() => ApiResultValidator.ValidateResponse(response, null)); }
public void ApiBatchResult_BatchSchema_Valid() { // Arrange IRestResponse <ApiBatchResult <bool> > response = new RestResponse <ApiBatchResult <bool> > { Content = JsonConvert.SerializeObject(GetDefaultApiBatchResult()) }; // Assert Assert.DoesNotThrow(() => ApiResultValidator.ValidateResponse(response, null)); }
public void ApiBatchResult_InvokeHandler_ThrowsException() { // Arrange IRestResponse <ApiBatchResult <bool> > response = new RestResponse <ApiBatchResult <bool> > { Content = JsonConvert.SerializeObject(GetDefaultApiBatchResult()), Data = GetDefaultApiBatchResult() }; // Assert Assert.Throws <CustomTestException>(() => ApiResultValidator.ValidateResponse(response, ApiBatchResultHandler)); void ApiBatchResultHandler(ApiBatchResult apiResult) { if (apiResult.Status == BatchResultType.Failure) { throw new CustomTestException(); } } }