Search in sources :

Example 46 with SimpleMessage

use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.

the class LocalNetworkTest method requireThatBlockingSendTimeOutInSendQ.

@Test
public void requireThatBlockingSendTimeOutInSendQ() throws InterruptedException {
    final LocalWire wire = new LocalWire();
    final Server serverA = new Server(wire);
    final SourceSession source = serverA.newSourceSession(new StaticThrottlePolicy().setMaxPendingCount(1));
    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.sendBlocking(msg).isAccepted(), is(true));
    long start = SystemTimer.INSTANCE.milliTime();
    Message msg2 = new SimpleMessage("foo2");
    msg2.setRoute(new Route().addHop(Hop.parse(intermediate.getConnectionSpec())).addHop(Hop.parse(destination.getConnectionSpec())));
    long TIMEOUT = 1000;
    msg2.setTimeRemaining(TIMEOUT);
    Result res = source.sendBlocking(msg2);
    assertThat(res.isAccepted(), is(false));
    assertEquals(ErrorCode.TIMEOUT, res.getError().getCode());
    assertTrue(res.getError().getMessage().endsWith("Timed out in sendQ"));
    long end = SystemTimer.INSTANCE.milliTime();
    assertThat(end, greaterThanOrEqualTo(start + TIMEOUT));
    assertThat(end, lessThan(start + 5 * TIMEOUT));
    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);
    assertEquals(ErrorCode.TIMEOUT, reply.getError(0).getCode());
    assertTrue(reply.getError(0).getMessage().endsWith("Timed out in sendQ"));
    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();
}
Also used : SimpleReply(com.yahoo.messagebus.test.SimpleReply) SimpleMessage(com.yahoo.messagebus.test.SimpleMessage) SimpleMessage(com.yahoo.messagebus.test.SimpleMessage) SimpleReply(com.yahoo.messagebus.test.SimpleReply) Route(com.yahoo.messagebus.routing.Route) Test(org.junit.Test)

Example 47 with SimpleMessage

use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.

the class LocalNetworkTest method requireThatUnknownServiceRepliesWithNoAddressForService.

@Test
public void requireThatUnknownServiceRepliesWithNoAddressForService() throws InterruptedException {
    final Server server = new Server(new LocalWire());
    final SourceSession source = server.newSourceSession();
    final Message msg = new SimpleMessage("foo").setRoute(Route.parse("bar"));
    assertThat(source.send(msg).isAccepted(), is(true));
    final Reply reply = server.replies.poll(60, TimeUnit.SECONDS);
    assertThat(reply, instanceOf(EmptyReply.class));
    server.mbus.destroy();
}
Also used : SimpleMessage(com.yahoo.messagebus.test.SimpleMessage) SimpleMessage(com.yahoo.messagebus.test.SimpleMessage) SimpleReply(com.yahoo.messagebus.test.SimpleReply) Test(org.junit.Test)

Example 48 with SimpleMessage

use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.

the class SendAdapterTestCase method assertVersionedSend.

// //////////////////////////////////////////////////////////////////////////////
// 
// Utilities
// 
// //////////////////////////////////////////////////////////////////////////////
private void assertVersionedSend(Version srcVersion, Version itrVersion, Version dstVersion) {
    System.out.println("Sending from " + srcVersion + " through " + itrVersion + " to " + dstVersion + ":");
    srcServer.net.setVersion(srcVersion);
    itrServer.net.setVersion(itrVersion);
    dstServer.net.setVersion(dstVersion);
    Message msg = new SimpleMessage("foo");
    msg.getTrace().setLevel(9);
    assertTrue(srcSession.send(msg, Route.parse("itr/session dst/session")).isAccepted());
    assertNotNull(msg = ((Receptor) itrSession.getMessageHandler()).getMessage(300));
    System.out.println("\tMessage version " + srcProtocol.lastVersion + " serialized at source.");
    Version minVersion = srcVersion.compareTo(itrVersion) < 0 ? srcVersion : itrVersion;
    assertEquals(minVersion, srcProtocol.lastVersion);
    System.out.println("\tMessage version " + itrProtocol.lastVersion + " reached intermediate.");
    assertEquals(minVersion, itrProtocol.lastVersion);
    itrSession.forward(msg);
    assertNotNull(msg = ((Receptor) dstSession.getMessageHandler()).getMessage(300));
    System.out.println("\tMessage version " + itrProtocol.lastVersion + " serialized at intermediate.");
    minVersion = itrVersion.compareTo(dstVersion) < 0 ? itrVersion : dstVersion;
    assertEquals(minVersion, itrProtocol.lastVersion);
    System.out.println("\tMessage version " + dstProtocol.lastVersion + " reached destination.");
    assertEquals(minVersion, dstProtocol.lastVersion);
    Reply reply = new SimpleReply("bar");
    reply.swapState(msg);
    dstSession.reply(reply);
    assertNotNull(reply = ((Receptor) itrSession.getReplyHandler()).getReply(300));
    System.out.println("\tReply version " + dstProtocol.lastVersion + " serialized at destination.");
    assertEquals(minVersion, dstProtocol.lastVersion);
    System.out.println("\tReply version " + itrProtocol.lastVersion + " reached intermediate.");
    assertEquals(minVersion, itrProtocol.lastVersion);
    itrSession.forward(reply);
    assertNotNull(((Receptor) srcSession.getReplyHandler()).getReply(300));
    System.out.println("\tReply version " + itrProtocol.lastVersion + " serialized at intermediate.");
    minVersion = srcVersion.compareTo(itrVersion) < 0 ? srcVersion : itrVersion;
    assertEquals(minVersion, itrProtocol.lastVersion);
    System.out.println("\tReply version " + srcProtocol.lastVersion + " reached source.");
    assertEquals(minVersion, srcProtocol.lastVersion);
}
Also used : SimpleReply(com.yahoo.messagebus.test.SimpleReply) SimpleMessage(com.yahoo.messagebus.test.SimpleMessage) Receptor(com.yahoo.messagebus.test.Receptor) Version(com.yahoo.component.Version) SimpleMessage(com.yahoo.messagebus.test.SimpleMessage) SimpleReply(com.yahoo.messagebus.test.SimpleReply)

Example 49 with SimpleMessage

use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.

the class ResenderTestCase method createMessage.

// //////////////////////////////////////////////////////////////////////////////
// 
// Utilities
// 
// //////////////////////////////////////////////////////////////////////////////
private static Message createMessage(String msg) {
    SimpleMessage ret = new SimpleMessage(msg);
    ret.getTrace().setLevel(9);
    return ret;
}
Also used : SimpleMessage(com.yahoo.messagebus.test.SimpleMessage)

Example 50 with SimpleMessage

use of com.yahoo.messagebus.test.SimpleMessage in project vespa by vespa-engine.

the class ChokeTestCase method createMessage.

private static Message createMessage(String msg) {
    Message ret = new SimpleMessage(msg);
    ret.getTrace().setLevel(9);
    return ret;
}
Also used : SimpleMessage(com.yahoo.messagebus.test.SimpleMessage) SimpleMessage(com.yahoo.messagebus.test.SimpleMessage)

Aggregations

SimpleMessage (com.yahoo.messagebus.test.SimpleMessage)58 Test (org.junit.Test)38 SimpleReply (com.yahoo.messagebus.test.SimpleReply)23 Response (com.yahoo.jdisc.Response)14 Receptor (com.yahoo.messagebus.test.Receptor)13 ServerTestDriver (com.yahoo.messagebus.jdisc.test.ServerTestDriver)12 ClientTestDriver (com.yahoo.messagebus.jdisc.test.ClientTestDriver)9 TestServer (com.yahoo.messagebus.network.rpc.test.TestServer)7 Slobrok (com.yahoo.jrt.slobrok.server.Slobrok)6 Route (com.yahoo.messagebus.routing.Route)5 MessageQueue (com.yahoo.messagebus.jdisc.test.MessageQueue)4 ReplyQueue (com.yahoo.messagebus.jdisc.test.ReplyQueue)4 Request (com.yahoo.jdisc.Request)3 TestDriver (com.yahoo.jdisc.test.TestDriver)3 EmptyReply (com.yahoo.messagebus.EmptyReply)3 Reply (com.yahoo.messagebus.Reply)3 SimpleProtocol (com.yahoo.messagebus.test.SimpleProtocol)3 Error (com.yahoo.messagebus.Error)2 Message (com.yahoo.messagebus.Message)2 RemoteClient (com.yahoo.messagebus.jdisc.test.RemoteClient)2