Search in sources :

Example 1 with HeartbeatEvent

use of org.springframework.cloud.client.discovery.event.HeartbeatEvent in project spring-boot-admin by codecentric.

the class ApplicationDiscoveryListenerTest method single_discovery_for_same_heartbeat.

@Test
public void single_discovery_for_same_heartbeat() {
    Object heartbeat = new Object();
    listener.onParentHeartbeat(new ParentHeartbeatEvent(new Object(), heartbeat));
    when(discovery.getServices()).thenReturn(Collections.singletonList("service"));
    when(discovery.getInstances("service")).thenReturn(Collections.singletonList((ServiceInstance) new DefaultServiceInstance("service", "localhost", 80, false)));
    listener.onApplicationEvent(new HeartbeatEvent(new Object(), heartbeat));
    assertEquals(0, registry.getApplications().size());
    listener.onApplicationEvent(new HeartbeatEvent(new Object(), new Object()));
    assertEquals(1, registry.getApplications().size());
}
Also used : DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) ParentHeartbeatEvent(org.springframework.cloud.client.discovery.event.ParentHeartbeatEvent) HeartbeatEvent(org.springframework.cloud.client.discovery.event.HeartbeatEvent) DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) ServiceInstance(org.springframework.cloud.client.ServiceInstance) ParentHeartbeatEvent(org.springframework.cloud.client.discovery.event.ParentHeartbeatEvent) Test(org.junit.Test)

Example 2 with HeartbeatEvent

use of org.springframework.cloud.client.discovery.event.HeartbeatEvent in project spring-boot-admin by codecentric.

the class ApplicationDiscoveryListenerTest method deregister_removed_app.

@Test
public void deregister_removed_app() {
    registry.register(Application.create("ignored").withHealthUrl("http://health").withId("abcdef").build());
    registry.register(Application.create("different-source").withHealthUrl("http://health2").withId("abcdef").withSource("http-api").build());
    listener.setIgnoredServices(singleton("ignored"));
    List<ServiceInstance> instances = new ArrayList<>();
    instances.add(new DefaultServiceInstance("service", "localhost", 80, false));
    instances.add(new DefaultServiceInstance("service", "example.net", 80, false));
    when(discovery.getServices()).thenReturn(Collections.singletonList("service"));
    when(discovery.getInstances("service")).thenReturn(instances);
    listener.onApplicationEvent(new HeartbeatEvent(new Object(), new Object()));
    assertEquals(2, registry.getApplicationsByName("service").size());
    assertEquals(1, registry.getApplicationsByName("ignored").size());
    assertEquals(1, registry.getApplicationsByName("different-source").size());
    instances.remove(0);
    listener.onApplicationEvent(new HeartbeatEvent(new Object(), new Object()));
    assertEquals(1, registry.getApplicationsByName("service").size());
    assertEquals(1, registry.getApplicationsByName("ignored").size());
    assertEquals(1, registry.getApplicationsByName("different-source").size());
}
Also used : DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) ParentHeartbeatEvent(org.springframework.cloud.client.discovery.event.ParentHeartbeatEvent) HeartbeatEvent(org.springframework.cloud.client.discovery.event.HeartbeatEvent) ArrayList(java.util.ArrayList) DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) ServiceInstance(org.springframework.cloud.client.ServiceInstance) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)2 DefaultServiceInstance (org.springframework.cloud.client.DefaultServiceInstance)2 ServiceInstance (org.springframework.cloud.client.ServiceInstance)2 HeartbeatEvent (org.springframework.cloud.client.discovery.event.HeartbeatEvent)2 ParentHeartbeatEvent (org.springframework.cloud.client.discovery.event.ParentHeartbeatEvent)2 ArrayList (java.util.ArrayList)1