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)); }
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); }
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()); }
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); }
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); }