Ejemplo n.º 1
0
        public void DynamicState_WithoutHealthChecks_AssumesAllHealthy()
        {
            // Arrange
            var cluster      = _clusterManager.GetOrCreateItem("abc", c => { });
            var destination1 = cluster.DestinationManager.GetOrCreateItem("d1", destination => destination.DynamicStateSignal.Value = new DestinationDynamicState(DestinationHealth.Healthy));
            var destination2 = cluster.DestinationManager.GetOrCreateItem("d2", destination => destination.DynamicStateSignal.Value = new DestinationDynamicState(DestinationHealth.Unhealthy));
            var destination3 = cluster.DestinationManager.GetOrCreateItem("d3", destination => destination.DynamicStateSignal.Value = new DestinationDynamicState(DestinationHealth.Unknown));
            var destination4 = cluster.DestinationManager.GetOrCreateItem("d4", destination => destination.DynamicStateSignal.Value = new DestinationDynamicState(DestinationHealth.Healthy));

            // Assert
            Assert.Same(destination1, cluster.DynamicState.Value.AllDestinations[0]);
            Assert.Same(destination2, cluster.DynamicState.Value.AllDestinations[1]);
            Assert.Same(destination3, cluster.DynamicState.Value.AllDestinations[2]);
            Assert.Same(destination4, cluster.DynamicState.Value.AllDestinations[3]);

            Assert.Same(destination1, cluster.DynamicState.Value.HealthyDestinations[0]);
            Assert.Same(destination2, cluster.DynamicState.Value.HealthyDestinations[1]);
            Assert.Same(destination3, cluster.DynamicState.Value.HealthyDestinations[2]);
            Assert.Same(destination4, cluster.DynamicState.Value.HealthyDestinations[3]);
        }