use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.
the class MbusServerTestCase method requireThatReplyInsideMbusResponseIsUsed.
@Test
public void requireThatReplyInsideMbusResponseIsUsed() {
MyRequestHandler requestHandler = MyRequestHandler.newInstance();
ServerTestDriver driver = ServerTestDriver.newInstance(requestHandler);
assertTrue(driver.sendMessage(new SimpleMessage("foo")));
assertNotNull(requestHandler.awaitRequest());
Reply reply = new SimpleReply("bar");
reply.swapState(((MbusRequest) requestHandler.request).getMessage());
assertTrue(requestHandler.sendResponse(new MbusResponse(Response.Status.OK, reply)));
reply = driver.awaitSuccess();
assertTrue(reply instanceof SimpleReply);
assertEquals("bar", ((SimpleReply) reply).getValue());
assertTrue(driver.close());
}
use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.
the class MbusServerTestCase method requireThatBindingSetNotFoundExceptionIsCaught.
@Test
public void requireThatBindingSetNotFoundExceptionIsCaught() {
ServerTestDriver driver = ServerTestDriver.newUnboundInstance(new MySelector("foo"));
assertTrue(driver.sendMessage(new SimpleMessage("bar")));
assertNotNull(driver.awaitErrors(ErrorCode.APP_FATAL_ERROR));
assertTrue(driver.close());
}
use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.
the class MbusServerTestCase method requireThatContainerNotReadyExceptionIsCaught.
@Test
public void requireThatContainerNotReadyExceptionIsCaught() {
ServerTestDriver driver = ServerTestDriver.newInactiveInstance();
assertTrue(driver.sendMessage(new SimpleMessage("foo")));
assertNotNull(driver.awaitErrors(ErrorCode.APP_FATAL_ERROR));
assertTrue(driver.close());
}
use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.
the class SharedDestinationSessionTestCase method requireThatMessageHandlerIsCalled.
@Test
public void requireThatMessageHandlerIsCalled() throws InterruptedException {
SharedDestinationSession session = newDestinationSession();
MessageQueue queue = new MessageQueue();
session.setMessageHandler(queue);
session.handleMessage(new SimpleMessage("foo"));
assertNotNull(queue.awaitMessage(60, TimeUnit.SECONDS));
session.release();
}
use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.
the class LocalNetworkTest method requireThatLocalNetworkCanSendAndReceive.
@Test
public void requireThatLocalNetworkCanSendAndReceive() throws InterruptedException {
final LocalWire wire = new LocalWire();
final Server serverA = new Server(wire);
final SourceSession source = serverA.newSourceSession();
final Server serverB = new Server(wire);
final IntermediateSession intermediate = serverB.newIntermediateSession();
final Server serverC = new Server(wire);
final DestinationSession destination = serverC.newDestinationSession();
Message msg = new SimpleMessage("foo");
msg.setRoute(new Route().addHop(Hop.parse(intermediate.getConnectionSpec())).addHop(Hop.parse(destination.getConnectionSpec())));
assertThat(source.send(msg).isAccepted(), is(true));
msg = serverB.messages.poll(60, TimeUnit.SECONDS);
assertThat(msg, instanceOf(SimpleMessage.class));
assertThat(((SimpleMessage) msg).getValue(), is("foo"));
intermediate.forward(msg);
msg = serverC.messages.poll(60, TimeUnit.SECONDS);
assertThat(msg, instanceOf(SimpleMessage.class));
assertThat(((SimpleMessage) msg).getValue(), is("foo"));
Reply reply = new SimpleReply("bar");
reply.swapState(msg);
destination.reply(reply);
reply = serverB.replies.poll(60, TimeUnit.SECONDS);
assertThat(reply, instanceOf(SimpleReply.class));
assertThat(((SimpleReply) reply).getValue(), is("bar"));
intermediate.forward(reply);
reply = serverA.replies.poll(60, TimeUnit.SECONDS);
assertThat(reply, instanceOf(SimpleReply.class));
assertThat(((SimpleReply) reply).getValue(), is("bar"));
serverA.mbus.destroy();
serverB.mbus.destroy();
serverC.mbus.destroy();
}
Aggregations