public async Task GetAllRequestsAsync_ShouldReturnAllRequests() { // Arrange var client = new HttPlaceholderClient(CreateHttpClient(mock => mock .When($"{BaseUrl}ph-api/requests") .Respond("application/json", AllRequestsResponse))); // Act var result = (await client.GetAllRequestsAsync()).ToArray(); // Assert Assert.AreEqual(1, result.Length); var request = result.Single(); Assert.AreEqual("bec89e6a-9bee-4565-bccb-09f0a3363eee", request.CorrelationId); Assert.AreEqual("POST", request.RequestParameters.Method); Assert.AreEqual(8, request.RequestParameters.Headers.Count); Assert.AreEqual("PostmanRuntime/7.26.8", request.RequestParameters.Headers["User-Agent"]); Assert.AreEqual(2, request.StubExecutionResults.Count); Assert.AreEqual("xml-without-namespaces-specified", request.ExecutingStubId); var stubExecutionResult = request.StubExecutionResults[0]; Assert.AreEqual("post-with-json-object-checker", stubExecutionResult.StubId); Assert.AreEqual("MethodConditionChecker", stubExecutionResult.Conditions.ElementAt(0).CheckerName); Assert.AreEqual(2, request.StubResponseWriterResults.Count); Assert.AreEqual("StatusCodeResponseWriter", request.StubResponseWriterResults[0].ResponseWriterName); }
public async Task GetAllRequestsAsync_ExceptionInRequest_ShouldThrowHttPlaceholderClientException() { // Arrange var client = new HttPlaceholderClient(CreateHttpClient(mock => mock .When($"{BaseUrl}ph-api/requests") .Respond(HttpStatusCode.BadRequest, "text/plain", "Error occurred!"))); // Act var exception = await Assert.ThrowsExceptionAsync <HttPlaceholderClientException>(() => client.GetAllRequestsAsync()); // Assert Assert.AreEqual("Status code '400' returned by HttPlaceholder with message 'Error occurred!'", exception.Message); }