public void InitializeNetworkStateTest() { _adapter = new Mock <IHttpNetworkAdapter>(); _networkState = new NetworkStateAdapter(); var httpIngestion = new IngestionHttp(_adapter.Object); _networkStateIngestion = new NetworkStateIngestion(httpIngestion, _networkState); }
public void InitializeNetworkStateTest() { _adapter = new Mock <IHttpNetworkAdapter>(); _networkState = new NetworkStateAdapter(); var httpIngestion = new IngestionHttp(_adapter.Object); _networkStateIngestion = new NetworkStateIngestion(httpIngestion, _networkState); AppCenter.Instance = null; #pragma warning disable 612 AppCenter.SetApplicationSettingsFactory(new MockApplicationSettingsFactory(_settingsMock)); _settingsMock.Setup(settings => settings.GetValue(AppCenter.AllowedNetworkRequestsKey, It.IsAny <bool>())).Returns(true); #pragma warning restore 612 }
public async Task ChannelInvokesFailedWithHttpRequestExceptionToSendLogEvent() { // Prepare data. Mock <HttpClient> mockHttpClient = new Mock <HttpClient>(); mockHttpClient.Setup(setup => setup.SendAsync(It.IsAny <HttpRequestMessage>(), It.IsAny <CancellationToken>())).Throws(new HttpRequestException()); IIngestion mockIngestion = new NetworkStateIngestion(new RetryableIngestion(new IngestionHttp(new HttpNetworkAdapter(mockHttpClient.Object))), new NetworkStateAdapter()); SetChannelWithTimeSpanAndIngestion(TimeSpan.FromSeconds(1), mockIngestion); for (var i = 0; i < MaxLogsPerBatch; ++i) { await _channel.EnqueueAsync(new TestLog()); } // Verify that SendAsync was called 3 times. mockHttpClient.Verify(setup => setup.SendAsync(It.IsAny <HttpRequestMessage>(), It.IsAny <CancellationToken>()), Times.AtMost(MaxLogsPerBatch)); // Verify that FailedToSendLog wasn't called. Assert.AreNotEqual(MaxLogsPerBatch, EventWithSemaphoreOccurred(_eventSemaphores[FailedToSendLogSemaphoreIdx]), $"Failed on verify {nameof(Channel.FailedToSendLog)} event call times"); }
public NetworkStateServiceCall(IServiceCall decoratedApi, NetworkStateIngestion networkIngestion) : base(decoratedApi) { _networkIngestion = networkIngestion; }