package io.scalecube.services; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import io.scalecube.services.Microservices.Builder; import io.scalecube.services.Microservices.DispatcherContext; import io.scalecube.services.Microservices.ProxyContext; import io.scalecube.services.routing.RoundRobinServiceRouter; import org.junit.Test; public class MicroservicesTest { @Test public void test_microservices_config() { Builder builder = new Builder(); ServicesConfig servicesConfig = ServicesConfig.builder(builder).create(); Microservices micro = Microservices.builder().services(servicesConfig).build(); assertTrue(servicesConfig.services().isEmpty()); assertTrue(micro.services().isEmpty()); micro.shutdown(); } @Test public void test_microservices_dispatcher_router() { Builder builder = new Builder(); ServicesConfig servicesConfig = ServicesConfig.builder(builder).create(); Microservices micro = Microservices.builder().services(servicesConfig).build(); DispatcherContext dispatcher = micro.dispatcher(); dispatcher.router(RoundRobinServiceRouter.class); assertTrue(dispatcher.router().equals(RoundRobinServiceRouter.class)); assertTrue(servicesConfig.services().isEmpty()); micro.shutdown(); } @Test public void test_microservices_proxy_router() { Builder builder = new Builder(); ServicesConfig servicesConfig = ServicesConfig.builder(builder).create(); Microservices micro = Microservices.builder().services(servicesConfig).build(); ProxyContext proxy = micro.proxy(); assertTrue(proxy.router().equals(RoundRobinServiceRouter.class)); micro.shutdown(); } @Test public void test_microservices_unregister() { GreetingServiceImpl greeting = new GreetingServiceImpl(); Microservices micro = Microservices.builder().services(greeting).build(); assertEquals(micro.services().size(), 1); micro.unregisterService(greeting); assertEquals(micro.services().size(), 0); try { micro.unregisterService(null); } catch (Exception ex) { assertEquals("Service object can't be null.", ex.getMessage().toString()); } micro.shutdown(); } }