Beispiel #1
0
        internal ApiResult <T> Execute <T>(RestRequest request)
        {
            var response = Client.Execute <ApiResult <T> >(request);

            ApiResultValidator.ValidateResponse(response, _apiContext.ApiResultHandler);

            return(response.Data);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        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();
                }
            }
        }