use of org.apache.camel.model.cloud.ChainedServiceCallServiceFilterConfiguration in project camel by apache.
the class ChainedServiceFilterTest method testMultiServiceFilter.
@Test
public void testMultiServiceFilter() throws Exception {
ChainedServiceCallServiceFilterConfiguration conf = new ChainedServiceCallServiceFilterConfiguration().healthy().custom(services -> services.stream().filter(s -> s.getPort() < 2000).collect(Collectors.toList()));
List<ServiceDefinition> services = conf.newInstance(context).apply(Arrays.asList(new DefaultServiceDefinition("no-name", "127.0.0.1", 1000), new DefaultServiceDefinition("no-name", "127.0.0.1", 1001, new DefaultServiceHealth(false)), new DefaultServiceDefinition("no-name", "127.0.0.1", 1002, new DefaultServiceHealth(true)), new DefaultServiceDefinition("no-name", "127.0.0.1", 2001, new DefaultServiceHealth(true)), new DefaultServiceDefinition("no-name", "127.0.0.1", 2001, new DefaultServiceHealth(false))));
Assert.assertEquals(2, services.size());
Assert.assertFalse(services.stream().anyMatch(s -> !s.getHealth().isHealthy()));
Assert.assertFalse(services.stream().anyMatch(s -> s.getPort() > 2000));
Assert.assertTrue(services.stream().anyMatch(s -> s.getPort() == 1000));
Assert.assertTrue(services.stream().anyMatch(s -> s.getPort() == 1002));
}
use of org.apache.camel.model.cloud.ChainedServiceCallServiceFilterConfiguration in project camel by apache.
the class ServiceCallConfigurationTest method testServiceDiscoveryConfiguration.
@Test
public void testServiceDiscoveryConfiguration() {
SpringCamelContext context = createContext("org/apache/camel/spring/cloud/ServiceCallConfigurationTest.xml");
ServiceCallConfigurationDefinition conf1 = context.getServiceCallConfiguration("conf1");
assertNotNull("No ServiceCallConfiguration (1)", conf1);
assertNotNull("No ServiceDiscoveryConfiguration (1)", conf1.getServiceDiscoveryConfiguration());
assertNotNull("No ServiceCallLoadBalancerConfiguration (1)", conf1.getLoadBalancerConfiguration());
assertTrue(conf1.getLoadBalancerConfiguration() instanceof DefaultServiceCallLoadBalancerConfiguration);
StaticServiceCallServiceDiscoveryConfiguration discovery1 = (StaticServiceCallServiceDiscoveryConfiguration) conf1.getServiceDiscoveryConfiguration();
assertEquals(1, discovery1.getServers().size());
assertEquals("localhost:9091", discovery1.getServers().get(0));
ServiceCallConfigurationDefinition conf2 = context.getServiceCallConfiguration("conf2");
assertNotNull("No ServiceCallConfiguration (2)", conf2);
assertNotNull("No ServiceDiscoveryConfiguration (2)", conf2.getServiceDiscoveryConfiguration());
assertNull(conf2.getLoadBalancerConfiguration());
ChainedServiceCallServiceDiscoveryConfiguration discovery2 = (ChainedServiceCallServiceDiscoveryConfiguration) conf2.getServiceDiscoveryConfiguration();
assertEquals(2, discovery2.getServiceDiscoveryConfigurations().size());
assertTrue(discovery2.getServiceDiscoveryConfigurations().get(0) instanceof StaticServiceCallServiceDiscoveryConfiguration);
assertTrue(discovery2.getServiceDiscoveryConfigurations().get(1) instanceof StaticServiceCallServiceDiscoveryConfiguration);
StaticServiceCallServiceDiscoveryConfiguration sconf1 = (StaticServiceCallServiceDiscoveryConfiguration) discovery2.getServiceDiscoveryConfigurations().get(0);
assertEquals(1, sconf1.getServers().size());
assertEquals("localhost:9092", sconf1.getServers().get(0));
StaticServiceCallServiceDiscoveryConfiguration sconf2 = (StaticServiceCallServiceDiscoveryConfiguration) discovery2.getServiceDiscoveryConfigurations().get(1);
assertEquals(1, sconf2.getServers().size());
assertEquals("localhost:9093,localhost:9094,localhost:9095,localhost:9096", sconf2.getServers().get(0));
ChainedServiceCallServiceFilterConfiguration filter = (ChainedServiceCallServiceFilterConfiguration) conf2.getServiceFilterConfiguration();
assertEquals(2, filter.getServiceFilterConfigurations().size());
assertTrue(filter.getServiceFilterConfigurations().get(0) instanceof HealthyServiceCallServiceFilterConfiguration);
assertTrue(filter.getServiceFilterConfigurations().get(1) instanceof BlacklistServiceCallServiceFilterConfiguration);
}
use of org.apache.camel.model.cloud.ChainedServiceCallServiceFilterConfiguration in project camel by apache.
the class ChainedServiceFilterTest method testMultiServiceFilterConfiguration.
@Test
public void testMultiServiceFilterConfiguration() throws Exception {
ChainedServiceCallServiceFilterConfiguration conf = new ChainedServiceCallServiceFilterConfiguration().healthy().passThrough();
ChainedServiceFilter filter = (ChainedServiceFilter) conf.newInstance(context);
Assert.assertEquals(2, filter.getDelegates().size());
Assert.assertTrue(filter.getDelegates().get(0) instanceof HealthyServiceFilter);
Assert.assertTrue(filter.getDelegates().get(1) instanceof PassThroughServiceFilter);
}
Aggregations