Search in sources :

Example 1 with EurekaInstanceConfigBean

use of org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean in project spring-cloud-netflix by spring-cloud.

the class EurekaServiceRegistryTests method eurekaClientGetStatusNoInstance.

@Test
public void eurekaClientGetStatusNoInstance() {
    EurekaServiceRegistry registry = new EurekaServiceRegistry();
    EurekaInstanceConfigBean config = new EurekaInstanceConfigBean(new InetUtils(new InetUtilsProperties()));
    config.setAppname("myapp");
    config.setInstanceId("1234");
    CloudEurekaClient eurekaClient = mock(CloudEurekaClient.class);
    when(eurekaClient.getInstanceInfo("myapp", "1234")).thenReturn(null);
    EurekaRegistration registration = EurekaRegistration.builder(config).with(eurekaClient).with(mock(ApplicationInfoManager.class)).with(new EurekaClientConfigBean(), mock(ApplicationEventPublisher.class)).build();
    Object status = registry.getStatus(registration);
    assertThat(status).isInstanceOf(Map.class);
    Map<Object, Object> map = (Map<Object, Object>) status;
    assertThat(map).hasSize(1).containsEntry("status", UNKNOWN.toString());
}
Also used : CloudEurekaClient(org.springframework.cloud.netflix.eureka.CloudEurekaClient) EurekaInstanceConfigBean(org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean) InetUtilsProperties(org.springframework.cloud.commons.util.InetUtilsProperties) EurekaClientConfigBean(org.springframework.cloud.netflix.eureka.EurekaClientConfigBean) InetUtils(org.springframework.cloud.commons.util.InetUtils) Map(java.util.Map) ApplicationInfoManager(com.netflix.appinfo.ApplicationInfoManager) Test(org.junit.Test)

Example 2 with EurekaInstanceConfigBean

use of org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean in project spring-cloud-netflix by spring-cloud.

the class EurekaServiceRegistryTests method eurekaClientNotShutdownInDeregister.

@Test
public void eurekaClientNotShutdownInDeregister() {
    EurekaServiceRegistry registry = new EurekaServiceRegistry();
    CloudEurekaClient eurekaClient = mock(CloudEurekaClient.class);
    ApplicationInfoManager applicationInfoManager = mock(ApplicationInfoManager.class);
    when(applicationInfoManager.getInfo()).thenReturn(mock(InstanceInfo.class));
    EurekaRegistration registration = EurekaRegistration.builder(new EurekaInstanceConfigBean(new InetUtils(new InetUtilsProperties()))).with(eurekaClient).with(applicationInfoManager).with(new EurekaClientConfigBean(), mock(ApplicationEventPublisher.class)).build();
    registry.deregister(registration);
    verifyZeroInteractions(eurekaClient);
}
Also used : CloudEurekaClient(org.springframework.cloud.netflix.eureka.CloudEurekaClient) EurekaInstanceConfigBean(org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean) InetUtilsProperties(org.springframework.cloud.commons.util.InetUtilsProperties) EurekaClientConfigBean(org.springframework.cloud.netflix.eureka.EurekaClientConfigBean) InstanceInfo(com.netflix.appinfo.InstanceInfo) InetUtils(org.springframework.cloud.commons.util.InetUtils) ApplicationInfoManager(com.netflix.appinfo.ApplicationInfoManager) Test(org.junit.Test)

Example 3 with EurekaInstanceConfigBean

use of org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean in project spring-cloud-netflix by spring-cloud.

the class EurekaServiceRegistryTests method eurekaClientGetStatus.

@Test
public void eurekaClientGetStatus() {
    EurekaServiceRegistry registry = new EurekaServiceRegistry();
    EurekaInstanceConfigBean config = new EurekaInstanceConfigBean(new InetUtils(new InetUtilsProperties()));
    config.setAppname("myapp");
    config.setInstanceId("1234");
    CloudEurekaClient eurekaClient = mock(CloudEurekaClient.class);
    InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder().setAppName("myapp").setInstanceId("1234").setStatus(DOWN).setOverriddenStatus(UNKNOWN).build();
    when(eurekaClient.getInstanceInfo("myapp", "1234")).thenReturn(instanceInfo);
    EurekaRegistration registration = EurekaRegistration.builder(config).with(eurekaClient).with(mock(ApplicationInfoManager.class)).with(new EurekaClientConfigBean(), mock(ApplicationEventPublisher.class)).build();
    Object status = registry.getStatus(registration);
    assertThat(status).isInstanceOf(Map.class);
    Map<Object, Object> map = (Map<Object, Object>) status;
    assertThat(map).hasSize(2).containsEntry("status", DOWN.toString()).containsEntry("overriddenStatus", UNKNOWN.toString());
}
Also used : CloudEurekaClient(org.springframework.cloud.netflix.eureka.CloudEurekaClient) EurekaInstanceConfigBean(org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean) InetUtilsProperties(org.springframework.cloud.commons.util.InetUtilsProperties) EurekaClientConfigBean(org.springframework.cloud.netflix.eureka.EurekaClientConfigBean) InetUtils(org.springframework.cloud.commons.util.InetUtils) InstanceInfo(com.netflix.appinfo.InstanceInfo) Map(java.util.Map) ApplicationInfoManager(com.netflix.appinfo.ApplicationInfoManager) Test(org.junit.Test)

Example 4 with EurekaInstanceConfigBean

use of org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean in project spring-cloud-netflix by spring-cloud.

the class EurekaRibbonClientConfigurationTests method testSetProp.

@Test
public void testSetProp() {
    EurekaClientConfigBean client = new EurekaClientConfigBean();
    EurekaInstanceConfigBean configBean = getEurekaInstanceConfigBean();
    EurekaRibbonClientConfiguration preprocessor = new EurekaRibbonClientConfiguration(client, "myService", configBean, false);
    String serviceId = "myService";
    String suffix = "mySuffix";
    String value = "myValue";
    DynamicStringProperty property = getProperty(getRibbonKey(serviceId, suffix));
    assertEquals("property doesn't have default value", VALUE_NOT_SET, property.get());
    setRibbonProperty(serviceId, suffix, value);
    assertEquals("property has wrong value", value, property.get());
    setRibbonProperty(serviceId, suffix, value);
    assertEquals("property has wrong value", value, property.get());
}
Also used : EurekaInstanceConfigBean(org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean) DynamicStringProperty(com.netflix.config.DynamicStringProperty) EurekaClientConfigBean(org.springframework.cloud.netflix.eureka.EurekaClientConfigBean) Test(org.junit.Test)

Example 5 with EurekaInstanceConfigBean

use of org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean in project spring-cloud-netflix by spring-cloud.

the class EurekaRibbonClientConfigurationTests method basicConfigurationCreatedForLoadBalancer.

@Test
@Ignore
public void basicConfigurationCreatedForLoadBalancer() {
    EurekaClientConfigBean client = new EurekaClientConfigBean();
    EurekaInstanceConfigBean configBean = getEurekaInstanceConfigBean();
    client.getAvailabilityZones().put(client.getRegion(), "foo");
    SpringClientFactory clientFactory = new SpringClientFactory();
    EurekaRibbonClientConfiguration clientPreprocessor = new EurekaRibbonClientConfiguration(client, "service", configBean, false);
    clientPreprocessor.preprocess();
    ILoadBalancer balancer = clientFactory.getLoadBalancer("service");
    assertNotNull(balancer);
    @SuppressWarnings("unchecked") ZoneAwareLoadBalancer<DiscoveryEnabledServer> aware = (ZoneAwareLoadBalancer<DiscoveryEnabledServer>) balancer;
    assertTrue(aware.getServerListImpl() instanceof DomainExtractingServerList);
    assertEquals("foo", ConfigurationManager.getDeploymentContext().getValue(ContextKey.zone));
}
Also used : EurekaInstanceConfigBean(org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean) SpringClientFactory(org.springframework.cloud.netflix.ribbon.SpringClientFactory) ILoadBalancer(com.netflix.loadbalancer.ILoadBalancer) DiscoveryEnabledServer(com.netflix.niws.loadbalancer.DiscoveryEnabledServer) ZoneAwareLoadBalancer(com.netflix.loadbalancer.ZoneAwareLoadBalancer) EurekaClientConfigBean(org.springframework.cloud.netflix.eureka.EurekaClientConfigBean) Ignore(org.junit.Ignore) Test(org.junit.Test)

Aggregations

EurekaInstanceConfigBean (org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean)10 Test (org.junit.Test)8 EurekaClientConfigBean (org.springframework.cloud.netflix.eureka.EurekaClientConfigBean)8 ApplicationInfoManager (com.netflix.appinfo.ApplicationInfoManager)3 InetUtils (org.springframework.cloud.commons.util.InetUtils)3 InetUtilsProperties (org.springframework.cloud.commons.util.InetUtilsProperties)3 CloudEurekaClient (org.springframework.cloud.netflix.eureka.CloudEurekaClient)3 InstanceInfo (com.netflix.appinfo.InstanceInfo)2 Map (java.util.Map)2 EurekaConfigBasedInstanceInfoProvider (com.netflix.appinfo.providers.EurekaConfigBasedInstanceInfoProvider)1 DynamicStringProperty (com.netflix.config.DynamicStringProperty)1 DefaultEndpoint (com.netflix.discovery.shared.resolver.DefaultEndpoint)1 ILoadBalancer (com.netflix.loadbalancer.ILoadBalancer)1 ZoneAwareLoadBalancer (com.netflix.loadbalancer.ZoneAwareLoadBalancer)1 DiscoveryEnabledServer (com.netflix.niws.loadbalancer.DiscoveryEnabledServer)1 Before (org.junit.Before)1 Ignore (org.junit.Ignore)1 SpringClientFactory (org.springframework.cloud.netflix.ribbon.SpringClientFactory)1 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)1