Search in sources :

Example 1 with DefaultServiceInstance

use of org.springframework.cloud.client.DefaultServiceInstance in project spring-boot-admin by codecentric.

the class ApplicationDiscoveryListenerTest method test_ignore.

@Test
public void test_ignore() {
    when(discovery.getServices()).thenReturn(Collections.singletonList("service"));
    when(discovery.getInstances("service")).thenReturn(Collections.singletonList((ServiceInstance) new DefaultServiceInstance("service", "localhost", 80, false)));
    listener.setIgnoredServices(singleton("service"));
    listener.onInstanceRegistered(new InstanceRegisteredEvent<>(new Object(), null));
    assertEquals(0, registry.getApplications().size());
}
Also used : DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) ServiceInstance(org.springframework.cloud.client.ServiceInstance) Test(org.junit.Test)

Example 2 with DefaultServiceInstance

use of org.springframework.cloud.client.DefaultServiceInstance in project spring-boot-admin by codecentric.

the class ApplicationDiscoveryListenerTest method test_register_and_convert.

@Test
public void test_register_and_convert() {
    when(discovery.getServices()).thenReturn(Collections.singletonList("service"));
    when(discovery.getInstances("service")).thenReturn(Collections.singletonList((ServiceInstance) new DefaultServiceInstance("service", "localhost", 80, false)));
    listener.onInstanceRegistered(new InstanceRegisteredEvent<>(new Object(), null));
    assertEquals(1, registry.getApplications().size());
    Application application = registry.getApplications().iterator().next();
    assertEquals("http://localhost:80/health", application.getHealthUrl());
    assertEquals("http://localhost:80", application.getManagementUrl());
    assertEquals("http://localhost:80", application.getServiceUrl());
    assertEquals("service", application.getName());
}
Also used : DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) ServiceInstance(org.springframework.cloud.client.ServiceInstance) Application(de.codecentric.boot.admin.model.Application) Test(org.junit.Test)

Example 3 with DefaultServiceInstance

use of org.springframework.cloud.client.DefaultServiceInstance in project spring-boot-admin by codecentric.

the class ApplicationDiscoveryListenerTest method test_ignore_pattern.

@Test
public void test_ignore_pattern() {
    when(discovery.getServices()).thenReturn(asList("service", "rabbit-1", "rabbit-2"));
    when(discovery.getInstances("service")).thenReturn(Collections.singletonList((ServiceInstance) new DefaultServiceInstance("service", "localhost", 80, false)));
    listener.setIgnoredServices(singleton("rabbit-*"));
    listener.onInstanceRegistered(new InstanceRegisteredEvent<>(new Object(), null));
    Collection<Application> applications = registry.getApplications();
    assertEquals(1, applications.size());
    assertEquals("service", applications.iterator().next().getName());
}
Also used : DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) DefaultServiceInstance(org.springframework.cloud.client.DefaultServiceInstance) ServiceInstance(org.springframework.cloud.client.ServiceInstance) Application(de.codecentric.boot.admin.model.Application) Test(org.junit.Test)

Example 4 with DefaultServiceInstance

use of org.springframework.cloud.client.DefaultServiceInstance 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 5 with DefaultServiceInstance

use of org.springframework.cloud.client.DefaultServiceInstance 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

DefaultServiceInstance (org.springframework.cloud.client.DefaultServiceInstance)13 Test (org.junit.Test)12 ServiceInstance (org.springframework.cloud.client.ServiceInstance)12 Application (de.codecentric.boot.admin.model.Application)7 ArrayList (java.util.ArrayList)2 HeartbeatEvent (org.springframework.cloud.client.discovery.event.HeartbeatEvent)2 ParentHeartbeatEvent (org.springframework.cloud.client.discovery.event.ParentHeartbeatEvent)2 URIEndpointObject (io.servicecomb.foundation.common.net.URIEndpointObject)1 MicroserviceInstance (io.servicecomb.serviceregistry.api.registry.MicroserviceInstance)1 ServiceRegistryClient (io.servicecomb.serviceregistry.client.ServiceRegistryClient)1 HashMap (java.util.HashMap)1 DiscoveryClient (org.springframework.cloud.client.discovery.DiscoveryClient)1 NoopDiscoveryClient (org.springframework.cloud.client.discovery.noop.NoopDiscoveryClient)1 Route (org.springframework.cloud.netflix.zuul.filters.Route)1 ZuulProperties (org.springframework.cloud.netflix.zuul.filters.ZuulProperties)1 ZuulRoute (org.springframework.cloud.netflix.zuul.filters.ZuulProperties.ZuulRoute)1