示例#1
0
        public void AddApplicationHealthStatus_AddsExpected()
        {
            var contrib = new EurekaApplicationsHealthContributor();
            var app1    = new Application("app1");

            app1.Add(new InstanceInfo()
            {
                InstanceId = "id1", Status = InstanceStatus.UP
            });
            app1.Add(new InstanceInfo()
            {
                InstanceId = "id2", Status = InstanceStatus.UP
            });

            var app2 = new Application("app2");

            app2.Add(new InstanceInfo()
            {
                InstanceId = "id1", Status = InstanceStatus.DOWN
            });
            app2.Add(new InstanceInfo()
            {
                InstanceId = "id2", Status = InstanceStatus.STARTING
            });

            var result = new HealthCheckResult();

            contrib.AddApplicationHealthStatus("app1", null, result);
            Assert.Equal(HealthStatus.DOWN, result.Status);
            Assert.Equal("No instances found", result.Details["app1"]);

            result = new HealthCheckResult();
            contrib.AddApplicationHealthStatus("foobar", app1, result);
            Assert.Equal(HealthStatus.DOWN, result.Status);
            Assert.Equal("No instances found", result.Details["foobar"]);

            result = new HealthCheckResult
            {
                Status = HealthStatus.UP
            };
            contrib.AddApplicationHealthStatus("app1", app1, result);
            Assert.Equal(HealthStatus.UP, result.Status);
            Assert.Equal("2 instances with UP status", result.Details["app1"]);

            result = new HealthCheckResult
            {
                Status = HealthStatus.UP
            };
            contrib.AddApplicationHealthStatus("app2", app2, result);
            Assert.Equal(HealthStatus.DOWN, result.Status);
            Assert.Equal("0 instances with UP status", result.Details["app2"]);
        }
        public void GetApplicationsFromConfig_ReturnsExpected()
        {
            EurekaApplicationsHealthContributor contrib = new EurekaApplicationsHealthContributor();
            EurekaClientConfig config = new EurekaClientConfig();
            var apps = contrib.GetApplicationsFromConfig(config);

            Assert.Null(apps);
            config = new EurekaClientConfig()
            {
                HealthMonitoredApps = "foo,bar, boo "
            };

            apps = contrib.GetApplicationsFromConfig(config);
            Assert.NotEmpty(apps);
            Assert.Equal(3, apps.Count);
            Assert.Contains("foo", apps);
            Assert.Contains("bar", apps);
            Assert.Contains("boo", apps);
        }