use of com.netflix.appinfo.InstanceInfo in project spring-boot-admin by codecentric.
the class EurekaServiceInstanceConverterTest method convert_secure_healthUrl.
@Test
public void convert_secure_healthUrl() {
InstanceInfo instanceInfo = mock(InstanceInfo.class);
when(instanceInfo.getSecureHealthCheckUrl()).thenReturn("https://localhost:80/health");
EurekaServiceInstance service = mock(EurekaServiceInstance.class);
when(service.getInstanceInfo()).thenReturn(instanceInfo);
when(service.getUri()).thenReturn(URI.create("http://localhost:80"));
when(service.getServiceId()).thenReturn("test");
Application application = new EurekaServiceInstanceConverter().convert(service);
assertThat(application.getHealthUrl(), is("https://localhost:80/health"));
}
use of com.netflix.appinfo.InstanceInfo in project spring-boot-admin by codecentric.
the class EurekaServiceInstanceConverterTest method convert_secure.
@Test
public void convert_secure() {
InstanceInfo instanceInfo = mock(InstanceInfo.class);
when(instanceInfo.getSecureHealthCheckUrl()).thenReturn("");
when(instanceInfo.getHealthCheckUrl()).thenReturn("http://localhost:80/mgmt/ping");
EurekaServiceInstance service = mock(EurekaServiceInstance.class);
when(service.getInstanceInfo()).thenReturn(instanceInfo);
when(service.getUri()).thenReturn(URI.create("http://localhost:80"));
when(service.getServiceId()).thenReturn("test");
when(service.getMetadata()).thenReturn(singletonMap("management.context-path", "/mgmt"));
Application application = new EurekaServiceInstanceConverter().convert(service);
assertThat(application.getId(), nullValue());
assertThat(application.getName(), is("test"));
assertThat(application.getServiceUrl(), is("http://localhost:80"));
assertThat(application.getManagementUrl(), is("http://localhost:80/mgmt"));
assertThat(application.getHealthUrl(), is("http://localhost:80/mgmt/ping"));
}
use of com.netflix.appinfo.InstanceInfo in project spring-boot-admin by codecentric.
the class EurekaServiceInstanceConverterTest method convert_missing_mgmtpath.
@Test
public void convert_missing_mgmtpath() {
InstanceInfo instanceInfo = mock(InstanceInfo.class);
when(instanceInfo.getHealthCheckUrl()).thenReturn("http://localhost:80/mgmt/ping");
EurekaServiceInstance service = mock(EurekaServiceInstance.class);
when(service.getInstanceInfo()).thenReturn(instanceInfo);
when(service.getUri()).thenReturn(URI.create("http://localhost:80"));
when(service.getServiceId()).thenReturn("test");
Application application = new EurekaServiceInstanceConverter().convert(service);
assertThat(application.getManagementUrl(), is("http://localhost:80"));
}
use of com.netflix.appinfo.InstanceInfo in project spring-boot-admin by codecentric.
the class EurekaServiceInstanceConverter method getHealthUrl.
@Override
protected URI getHealthUrl(ServiceInstance instance) {
Assert.isInstanceOf(EurekaServiceInstance.class, instance, "serviceInstance must be of type EurekaServiceInstance");
InstanceInfo instanceInfo = ((EurekaServiceInstance) instance).getInstanceInfo();
String healthUrl = instanceInfo.getSecureHealthCheckUrl();
if (StringUtils.isEmpty(healthUrl)) {
healthUrl = instanceInfo.getHealthCheckUrl();
}
return URI.create(healthUrl);
}
use of com.netflix.appinfo.InstanceInfo in project SimianArmy by Netflix.
the class DiscoveryASGInstanceValidator method isActiveInstance.
/**
* Returns true if the instance is registered in Eureka/Discovery.
* @param instanceId the instance id
* @return true if the instance is active, false otherwise
*/
private boolean isActiveInstance(String instanceId) {
Validate.notNull(instanceId);
LOGGER.debug(String.format("Checking if instance %s is active", instanceId));
List<InstanceInfo> instanceInfos = discoveryClient.getInstancesById(instanceId);
for (InstanceInfo info : instanceInfos) {
InstanceStatus status = info.getStatus();
if (status == InstanceStatus.UP || status == InstanceStatus.STARTING) {
LOGGER.debug(String.format("Instance %s is active in Discovery.", instanceId));
return true;
}
}
LOGGER.debug(String.format("Instance %s is not active in Discovery.", instanceId));
return false;
}
Aggregations