public void DoesNotSetMaxSenderAndBufferCapacitiesToZeroWhenNetworkIsAvailable() { var network = new StubNetwork { OnIsAvailable = () => true }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); Assert.Null(policy.MaxSenderCapacity); Assert.Null(policy.MaxBufferCapacity); }
public void DoesNotSetMaxSenderAndBufferCapacitiesToZeroWhenNetworkAvailabilityCheckFailsHopingThatTransmissionsThemselvesMaySucceed() { var network = new StubNetwork { OnIsAvailable = () => { throw new Exception("NetworkInformationException"); } }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); Assert.Null(policy.MaxSenderCapacity); Assert.Null(policy.MaxBufferCapacity); }
public void SetsMaxSenderAndBufferCapacitiesToZeroWhenNetworkIsUnavailable() { var network = new StubNetwork { OnIsAvailable = () => false }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); Assert.Equal(0, policy.MaxSenderCapacity); Assert.Equal(0, policy.MaxBufferCapacity); }
public void DoesNotSetMaxSenderAndBufferCapacitiesToZeroWhenNetworkAvailabilityCheckFailsHopingThatTransmissionsThemselvesMaySucceed() { var network = new StubNetwork { OnIsAvailable = () => { throw new SocketException(); } }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); Assert.Null(policy.MaxSenderCapacity); Assert.Null(policy.MaxBufferCapacity); }
public void DoesNotSetMaxSenderAndBufferCapacitiesToZeroWhenNetworkIsAvailable() { var network = new StubNetwork { OnIsAvailable = () => true }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); Assert.Null(policy.MaxSenderCapacity); Assert.Null(policy.MaxBufferCapacity); }
public void SetsMaxSenderAndBufferCapacitiesToZeroWhenNetworkIsUnavailable() { var network = new StubNetwork { OnIsAvailable = () => false }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); Assert.Equal(0, policy.MaxSenderCapacity); Assert.Equal(0, policy.MaxBufferCapacity); }
public void ResetsMaxSenderAndBufferCapacitiesToNullWhenNetworkBecomesAvailable() { bool isNetworkAvailable = false; var network = new StubNetwork { OnIsAvailable = () => isNetworkAvailable }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); isNetworkAvailable = true; network.OnStatusChanged(EventArgs.Empty); Assert.Null(policy.MaxSenderCapacity); Assert.Null(policy.MaxBufferCapacity); }
public void AsksTransmitterToApplyPoliciesWhenNetworkAvailabilityChanges() { bool policiesApplied = false; var transmitter = new StubTransmitter(); transmitter.OnApplyPolicies = () => { policiesApplied = true; }; var network = new StubNetwork(); var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(transmitter); network.OnStatusChanged(EventArgs.Empty); Assert.True(policiesApplied); }
public void HandlesExceptionsThrownByNetworkWhenAddingAddressChangedEventHandler() { using (var listener = new TestEventListener()) { const long AllKeywords = -1; listener.EnableEvents(TelemetryChannelEventSource.Log, EventLevel.Warning, (EventKeywords)AllKeywords); var exception = new SocketException(); var network = new StubNetwork { OnAddAddressChangedEventHandler = handler => { throw exception; } }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); EventWrittenEventArgs error = listener.Messages.First(arg => arg.EventId == 38); Assert.Contains(exception.Message, (string)error.Payload[0], StringComparison.CurrentCulture); } }
public void InitializeCatchAllExceptionsAndDoesNotSetCapacity() { var network = new StubNetwork { OnIsAvailable = () => { throw new Exception("error"); } }; var policy = new NetworkAvailabilityTransmissionPolicy(network); try { policy.Initialize(new StubTransmitter()); } catch (Exception ex) { Assert.Fail("No exception should have been thrown from Initialize. Exception thrown: " + ex.ToString()); } Assert.IsNull(policy.MaxSenderCapacity); Assert.IsNull(policy.MaxBufferCapacity); }
public void HandlesExceptionsThrownByNetworkIsAvailable() { using (var listener = new TestEventListener()) { const long AllKeywords = -1; listener.EnableEvents(TelemetryChannelEventSource.Log, EventLevel.Warning, (EventKeywords)AllKeywords); var exception = new SocketException(); var network = new StubNetwork { OnIsAvailable = () => { throw exception; } }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); network.OnStatusChanged(EventArgs.Empty); EventWrittenEventArgs error = listener.Messages.First(); Assert.Contains(exception.Message, (string)error.Payload[0], StringComparison.Ordinal); } }
public void HandlesExceptionsThrownByNetworkWhenAddingAddressChangedEventHandler() { using (var listener = new TestEventListener()) { const long AllKeywords = -1; listener.EnableEvents(TelemetryChannelEventSource.Log, EventLevel.Warning, (EventKeywords)AllKeywords); var exception = new SocketException(); var network = new StubNetwork { OnAddAddressChangedEventHandler = handler => { throw exception; } }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); EventWrittenEventArgs error = listener.Messages.First(arg => arg.EventId == 38); Assert.Contains(exception.Message, (string)error.Payload[0], StringComparison.CurrentCulture); } }
public void HandlesExceptionsThrownByNetworkIsAvailable() { using (var listener = new TestEventListener()) { const long AllKeywords = -1; listener.EnableEvents(TelemetryChannelEventSource.Log, EventLevel.Warning, (EventKeywords)AllKeywords); var exception = new Exception("Socket Error"); var network = new StubNetwork { OnIsAvailable = () => { throw exception; } }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); network.OnStatusChanged(EventArgs.Empty); EventWrittenEventArgs error = listener.Messages.First(); Assert.Contains(exception.Message, (string)error.Payload[0], StringComparison.Ordinal); } }
public void AsksTransmitterToApplyPoliciesWhenNetworkAvailabilityChanges() { bool policiesApplied = false; var transmitter = new StubTransmitter(); transmitter.OnApplyPolicies = () => { policiesApplied = true; }; var network = new StubNetwork(); var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(transmitter); network.OnStatusChanged(EventArgs.Empty); Assert.True(policiesApplied); }
public void ResetsMaxSenderAndBufferCapacitiesToNullWhenNetworkBecomesAvailable() { bool isNetworkAvailable = false; var network = new StubNetwork { OnIsAvailable = () => isNetworkAvailable }; var policy = new NetworkAvailabilityTransmissionPolicy(network); policy.Initialize(new StubTransmitter()); isNetworkAvailable = true; network.OnStatusChanged(EventArgs.Empty); Assert.Null(policy.MaxSenderCapacity); Assert.Null(policy.MaxBufferCapacity); }