public AgentSinkTests() { _fixture = new Fixture().Customize(new AutoNSubstituteCustomization()); _socketClientFactory = _fixture.Create <ISocketClientFactory>(); _client = new TestClient(); _socketClientFactory.GetClient(Endpoint.DEFAULT_TCP_ENDPOINT).Returns(_client); }
public void Constructor_MonitorNull_CreateObject() { // arrange Mock <ISocketProtocol> protocol = new(); ISocketClientFactory optionsMonitor = null !; // act Exception?exception = Record.Exception(() => new SessionPool(optionsMonitor)); // assert Assert.IsType <ArgumentNullException>(exception); }
public AgentSink( string logGroupName, string logStreamName, Endpoint endpoint, ISocketClientFactory clientFactory, IConfiguration config, ILoggerFactory loggerFactory) { _logGroupName = logGroupName; _logStreamName = logStreamName; _socketClient = clientFactory.GetClient(endpoint); _queue = new BlockingCollection <string>(config.AgentBufferSize); _logger = loggerFactory.CreateLogger <AgentSink>(); _cancellationTokenSource = new CancellationTokenSource(); _sender = RunSenderThread(loggerFactory); }
public async Task RentAsync_NoRentals_OpenSocketConnection() { // arrange Mock <ISocketClientFactory> optionsMonitorMock = new(MockBehavior.Strict); Mock <ISocketProtocol> protocol = new(); ISocketClientFactory optionsMonitor = optionsMonitorMock.Object; var socket = new SocketClientStub() { Protocol = protocol.Object, Name = "Foo" }; optionsMonitorMock .Setup(x => x.CreateClient("Foo")) .Returns(() => socket); var pool = new SessionPool(optionsMonitor); // act await pool.CreateAsync("Foo"); // assert Assert.Equal(1, socket.GetCallCount(x => x.OpenAsync(default !)));
public async Task RentAsync_OneRentals_ReturnSameClient() { // arrange Mock <ISocketClientFactory> optionsMonitorMock = new(MockBehavior.Strict); Mock <ISocketProtocol> protocol = new(); ISocketClientFactory optionsMonitor = optionsMonitorMock.Object; optionsMonitorMock .Setup(x => x.CreateClient("Foo")) .Returns(() => new SocketClientStub() { Protocol = protocol.Object, Name = "Foo" }); var pool = new SessionPool(optionsMonitor); ISession first = await pool.CreateAsync("Foo"); // act ISession second = await pool.CreateAsync("Foo"); // assert Assert.Equal(first, second); }
public async Task RentAsync_NoRentals_ReturnClient() { // arrange Mock <ISocketClientFactory> optionsMonitorMock = new(MockBehavior.Strict); Mock <ISocketProtocol> protocol = new(); ISocketClientFactory optionsMonitor = optionsMonitorMock.Object; optionsMonitorMock .Setup(x => x.CreateClient("Foo")) .Returns(() => new SocketClientStub() { Protocol = protocol.Object, Name = "Foo" }); var pool = new SessionPool(optionsMonitor); // act ISession rented = await pool.CreateAsync("Foo"); // assert optionsMonitorMock.VerifyAll(); Assert.NotNull(rented); }
public AgentSink(string logGroupName, string logStreamName, Endpoint endpoint, ISocketClientFactory clientFactory, IConfiguration config) : this(logGroupName, logStreamName, endpoint, clientFactory, config, NullLoggerFactory.Instance) { }