public void When_executing_call_async_and_the_response_has_an_error_it_throws_an_exception()
        {
            var request = new RequestWithoutResponse(new DummyResourceIdentifier()) { StringProperty = _fixture.Create<string>() };

            ConfigureRestSharpFakeWrapper();

            Assert.ThrowsAsync<RestClientCallException>(async () => await _sut.CallAsync(request));
        }
Ejemplo n.º 2
0
        public void When_executing_call_async_and_the_request_without_response_is_not_valid_it_throws_an_exception()
        {
            var request = new RequestWithoutResponse(new DummyResourceIdentifier())
            {
                StringProperty = null
            };

            Assert.ThrowsAsync <RestClientCallException>(async() => await _sut.CallAsync(request));
        }
        public void When_executing_call_async_and_the_response_has_does_not_indicate_2xx_status_code_it_throws_an_exception()
        {
            var request = new RequestWithoutResponse(new DummyResourceIdentifier()) { StringProperty = _fixture.Create<string>() };
            _restClientWrapper.ExpectedError = null;
            _restClientWrapper.ExpectedResponseStatusCode = HttpStatusCode.BadRequest;

            var exception = Assert.ThrowsAsync<RestClientCallException>(async () => await _sut.CallAsync(request));

            Assert.AreEqual(_restClientWrapper.ExpectedResponseStatusCode, exception.HttpStatusCode);
        }
        public async Task When_executing_call_async_the_rest_request_without_response_has_the_expected_http_method()
        {
            var request = new RequestWithoutResponse(new DummyResourceIdentifier()) { StringProperty = _fixture.Create<string>() };

            await _sut.CallAsync(request);

            var restRequest = _restClientWrapper.LastRequest;

            Assert.AreEqual(Method.POST, restRequest.Method);
        }
Ejemplo n.º 5
0
        public async Task When_executing_call_then_headers_are_set_on_request()
        {
            var request = new RequestWithoutResponse(new DummyResourceIdentifier())
            {
                StringProperty = _fixture.Create <string>()
            };

            await _sut.CallAsync(request);

            CollectionAssert.AreEquivalent(_headers, request.GetHeaders());
        }
Ejemplo n.º 6
0
        public async Task When_executing_call_async_and_the_request_does_not_have_a_context_then_a_context_is_added()
        {
            var request = new RequestWithoutResponse(new DummyResourceIdentifier())
            {
                StringProperty = _fixture.Create <string>()
            };

            await _sut.CallAsync(request);

            Assert.AreEqual(_context, request.Context);
        }
Ejemplo n.º 7
0
        public async Task When_executing_call_async_with_resilience_handler_and_request_without_response_then_verify_resilience_handler_is_called()
        {
            var request = new RequestWithoutResponse(new DummyResourceIdentifier())
            {
                StringProperty = _fixture.Create <string>()
            };

            await _sut.CallAsync(request);

            _resilienceHandler.Verify();
        }
        public async void When_executing_call_async_the_rest_request_without_response_has_the_expected_uri()
        {
            var request = new RequestWithoutResponse(new DummyResourceIdentifier())
            {
                StringProperty = _fixture.Create <string>()
            };

            await _sut.CallAsync(request);

            var restRequest = _restClientWrapper.LastRequest;

            Assert.AreEqual(request.GetResourceIdentifier().Uri, restRequest.Resource);
        }
        public void When_executing_call_async_and_the_response_has_an_error_it_throws_an_exception_with_the_correct_error()
        {
            var request = new RequestWithoutResponse(new DummyResourceIdentifier()) { StringProperty = _fixture.Create<string>() };
            var expectedError = _fixture.Create<Error>();

            ConfigureRestSharpFakeWrapper(expectedError);

            var exception = Assert.ThrowsAsync<RestClientCallException>(async () => await _sut.CallAsync(request));

            Assert.AreEqual(expectedError.Code, exception.Error.Code);
            Assert.AreEqual(expectedError.Message, exception.Error.Message);
            CollectionAssert.AreEqual(expectedError.Errors.Select(e => e.Message), exception.Error.Errors.Select(e => e.Message));
            CollectionAssert.AreEqual(expectedError.Errors.Select(e => e.Reason), exception.Error.Errors.Select(e => e.Reason));
        }
        public async Task When_executing_call_async_and_the_request_has_headers_then_headers_are_added_to_rest_request()
        {
            var name = _fixture.Create<string>();
            var value = _fixture.Create<string>();
            var request = new RequestWithoutResponse(new DummyResourceIdentifier());
            request.AddHeader(name, value);

            await _sut.CallAsync(request);

            var restRequest = _restClientWrapper.LastRequest;

            var result = restRequest.Parameters.SingleOrDefault(p => p.Name == name && p.Type == ParameterType.HttpHeader);

            Assert.NotNull(result);
            Assert.AreEqual(value, result.Value);
        }