@Before public void before() { factory = QBit.factory(); final ServiceBundle bundle = new ServiceBundleBuilder().setAddress("/foo").buildAndStart(); serviceBundle = bundle; serviceBundleImpl = (ServiceBundleImpl) bundle; adderService = new AdderService(); callCount = 0; }
@Before public void setUp() throws Exception { setupLatch(); sum = new AtomicInteger(); client = new BoonClientFactory().create("/services", new HttpClientMock(), 10, new BeforeMethodSent() { }); client.start(); serviceBundle = new ServiceBundleBuilder().setAddress("/services").buildAndStart(); serviceBundle.addService(new ServiceMock()); sum.set(0); serviceBundle.startReturnHandlerProcessor(item -> response = item); Sys.sleep(1000); }
final ServiceBundle bundle = new ServiceBundleBuilder().setAddress("/root").buildAndStart();
@Test public void callingActualService() { SomeInterface myService = new SomeInterface() { @Override public void method1() { } @Override public void method2(String hi, int amount) { } @Override public String method3(String hi, int amount) { return null; } }; final ServiceBundle bundle = new ServiceBundleBuilder().setAddress("/root").buildAndStart(); bundle.addServiceObject("myService", myService); final SomeInterface myServiceProxy = bundle.createLocalProxy(SomeInterface.class, "myService"); myServiceProxy.method2("hi", 5); Sys.sleep(1000); }
@Test public void testRejectCall() { final ServiceBundle serviceBundle = new ServiceBundleBuilder().setBeforeMethodCall(new BeforeMethodCall() { @Override public boolean before(MethodCall call) { beforeHandlerCalled = true; return false; } }).buildAndStart(); serviceBundle.addService(new MockServer()); final MethodCall<Object> method = QBit.factory().createMethodCallByNames("callme", "mockserver", "", Collections.emptyList(), params); serviceBundle.call(method); serviceBundle.flush(); Sys.sleep(100); ok = !called || die(); ok = beforeHandlerCalled || die(); }
final ServiceBundle serviceBundle = new ServiceBundleBuilder().setAddress("/root").buildAndStart();
@Test public void testWithBundleUsingObjectName() { final ServiceBundle serviceBundle = new ServiceBundleBuilder().setAddress("/services").buildAndStart(); serviceBundle.addService(new TodoService()); Todo todoItem = new Todo("call mom", "give mom a call", new Date()); MethodCall<Object> addMethodCall = QBit.factory().createMethodCallByNames("add", "/services/todo-manager", "call1:localhost", todoItem, null); serviceBundle.call(addMethodCall); MethodCall<Object> listMethodCall = QBit.factory().createMethodCallByNames("list", "/services/todo-manager", "call2:localhost", todoItem, null); serviceBundle.call(listMethodCall); serviceBundle.flush(); Sys.sleep(100); ReceiveQueue<Response<Object>> responses = serviceBundle.responses().receiveQueue(); Response<Object> response = responses.take(); Object body = response.body(); if (body instanceof List) { @SuppressWarnings("unchecked") List<Todo> items = (List) body; ok = items.size() > 0 || die("items should have one todo in it"); Todo todoItem1 = items.get(0); ok = todoItem.equals(todoItem1) || die("TodoItem ", todoItem, todoItem1); } else { die("Response was not a list", body); } }
@Test public void testAllowCall() { final ServiceBundle serviceBundle = new ServiceBundleBuilder().setBeforeMethodCall(new BeforeMethodCall() { @Override public boolean before(MethodCall call) { beforeHandlerCalled = true; return true; } }).buildAndStart(); serviceBundle.addService(new MockServer()); serviceBundle.startReturnHandlerProcessor(); final MethodCall<Object> method = QBit.factory().createMethodCallByNames("callme", "mockserver", "", Collections.emptyList(), params); serviceBundle.call(method); serviceBundle.flush(); Sys.sleep(200); ok = called || die(); ok = beforeHandlerCalled || die(); }
@Before public void setup() { method = new AtomicReference<>(); event = new AtomicReference<>(); eventManager = EventManagerBuilder.eventManagerBuilder().build("localtest"); eventServiceQueue = ServiceBuilder.serviceBuilder().setServiceObject(eventManager).buildAndStartAll(); eventManager = eventServiceQueue.createProxy(EventManager.class); testServiceImpl = new TestServiceImpl(); ServiceBuilder serviceBuilder = ServiceBuilder.serviceBuilder().setEventManager(eventManager); serviceBuilder.getRequestQueueBuilder().setBatchSize(100); this.serviceQueue = serviceBuilder .setServiceObject(testServiceImpl).buildAndStart(); serviceBundle = serviceBundleBuilder().buildAndStart(); eventBusProxyCreator = QBit.factory().eventBusProxyCreator(); sender = eventBusProxyCreator.createProxy(eventManager, EventChannel1.class); serviceBundle.addServiceQueue(serviceName, this.serviceQueue); testService = serviceBundle.createLocalProxy(TestService.class, serviceName); }
@Test public void testWithBundleUsingAddress() { final ServiceBundle serviceBundle = new ServiceBundleBuilder().setAddress("/services").buildAndStart(); serviceBundle.addService(new TodoService()); Todo todoItem = new Todo("call mom", "give mom a call", new Date()); MethodCall<Object> addMethod = MethodCallBuilder.methodCallBuilder().setAddress("/services/todo-manager").setName("add").setReturnAddress("client1").setBody(todoItem).build(); serviceBundle.call(addMethod); MethodCall<Object> listMethod = MethodCallBuilder.methodCallBuilder().setAddress("/services/todo-manager").setName("list").setReturnAddress("client1").setBody(todoItem).build(); serviceBundle.call(listMethod); serviceBundle.flush(); Sys.sleep(100); ReceiveQueue<Response<Object>> responses = serviceBundle.responses().receiveQueue(); Response<Object> response = responses.take(); Object body = response.body(); if (body instanceof List) { @SuppressWarnings("unchecked") List<Todo> items = (List) body; ok = items.size() > 0 || die("items should have one todo in it"); Todo todoItem1 = items.get(0); ok = todoItem.equals(todoItem1) || die("TodoItem ", todoItem, todoItem1); } else { die("Response was not a list", body); } }
@Test //TODO fails sometimes during build but not always public void callingActualServiceWithReturn() { @RequestMapping("myService") class MyServiceClass implements SomeInterface { @Override public void method1() { } @Override public void method2(String hi, int amount) { } @Override public String method3(String hi, int amount) { return "Hi" + hi + " " + amount; } } SomeInterface myService = new MyServiceClass(); final ServiceBundle bundle = new ServiceBundleBuilder().setAddress("/root").buildAndStart(); bundle.addService(myService); final ReceiveQueue<Response<Object>> responseReceiveQueue = bundle.responses().receiveQueue(); final SomeInterface myServiceProxy = bundle.createLocalProxy( SomeInterface.class, "myService"); myServiceProxy.method3("hi", 5); bundle.flush(); Sys.sleep(1000); final Response<Object> objectResponse = responseReceiveQueue.pollWait(); objectResponse.address(); puts(objectResponse.body()); ok = "Hihi 5".equals(objectResponse.body()) || die(); }
@Before public void setup() { systemManager = new QBitSystemManager(); eventManager = EventManagerBuilder .eventManagerBuilder().setName("Event Bus") .build(); serviceBundleBuilder = ServiceBundleBuilder.serviceBundleBuilder() .setEventManager(eventManager) .setSystemManager(systemManager); final ServiceBundle serviceBundle = serviceBundleBuilder.buildAndStart(); serviceBundle.addServiceObject("eventManager", eventManager); serviceB = new ServiceB(); serviceBundle.addServiceObject("serviceB", serviceB); ServiceA serviceA = new ServiceA(serviceBundle.createLocalProxy(EventManager.class, "eventManager")); serviceBundle.addServiceObject("serviceA", serviceA); serviceAQueueProxy = serviceBundle.createLocalProxy(ServiceAInterface.class, "serviceA"); serviceBundle.startReturnHandlerProcessor(); }