public void Should_start_the_chain_with_the_first_handler() { // Act HttpMessageHandler result = TeslaClientBase.CreatePipeline(_handlers); // Assert result.Should().BeSameAs(_handlers.First()); }
public void Should_throw_an_ArgumentException() { // Act Action action = () => TeslaClientBase.CreatePipeline(_handlers); // Assert action.ShouldThrowExactly <ArgumentException>(); }
public void Should_create_a_chain_of_delegates() { // Act HttpMessageHandler result = TeslaClientBase.CreatePipeline(_handlers); // Assert HttpMessageHandler current = result; foreach (DelegatingHandler handler in _handlers.OfType <DelegatingHandler>()) { current.Should().BeSameAs(handler); current = handler.InnerHandler; } }
public void Should_end_the_chain_with_a_HttpClientHandler() { // Act HttpMessageHandler result = TeslaClientBase.CreatePipeline(_handlers); // Assert HttpMessageHandler current = result; DelegatingHandler @delegate; while ((@delegate = current as DelegatingHandler) != null) { current = @delegate.InnerHandler; } current.Should().BeOfType <HttpClientHandler>(); }