public void RecordingSourcePath() { var echoMessageHandler = new EchoMessageHandler(); string expected = Path.GetFullPath(Path.Combine(GetOutputDirectory(), "..", "..", "..", "..", "src", "HttpClientEcho.Tests", "HttpClientEcho" + Path.DirectorySeparatorChar)); Assert.Equal(expected, echoMessageHandler.RecordingSourcePath); }
public async Task CacheIsSharedAcrossInstances() { var handler2 = new EchoMessageHandler(this.mockHandler) { PlaybackRuntimePath = this.echoMessageHandler.PlaybackRuntimePath, RecordingSourcePath = this.echoMessageHandler.RecordingSourcePath, }; var httpClient2 = new HttpClient(handler2); // The first time should hit the network. await this.httpClient.GetAsync(PublicTestSite); Assert.Equal(1, this.mockHandler.TrafficCounter); // The subsequent time should not, even if using a different instance of the message handler. this.mockHandler.ThrowIfCalled = true; await httpClient2.GetAsync(PublicTestSite); }
private void StartNewSession() { this.echoMessageHandler = new EchoMessageHandler(this.mockHandler) { RecordingSourcePath = Path.Combine(this.tempDir, "recording"), PlaybackRuntimePath = Path.Combine(this.tempDir, "playback"), }; this.ClearMemoryCache(); // If prior recordings existed, migrate them to playback. // This emulates the anticipated build step that will occur in test projects to deploy recorded files. var recordingDir = new DirectoryInfo(this.echoMessageHandler.RecordingSourcePath); if (recordingDir.Exists) { foreach (var file in recordingDir.EnumerateFiles()) { Directory.CreateDirectory(this.echoMessageHandler.PlaybackRuntimePath); file.CopyTo(Path.Combine(this.echoMessageHandler.PlaybackRuntimePath, file.Name), overwrite: true); } } this.httpClient = new HttpClient(this.echoMessageHandler); }
public void PlaybackRuntimePath() { var echoMessageHandler = new EchoMessageHandler(); Assert.Equal("HttpClientEcho" + Path.DirectorySeparatorChar, echoMessageHandler.PlaybackRuntimePath); }
public void InnerHandlerIsSet() { var handler = new EchoMessageHandler(this.mockHandler); Assert.Same(this.mockHandler, handler.InnerHandler); }
public void DefaultCtorUsesRealNetwork() { var handler = new EchoMessageHandler(); Assert.IsType <HttpClientHandler>(handler.InnerHandler); }