use of org.neo4j.bolt.v1.messaging.message.ResponseMessage in project neo4j by neo4j.
the class MessageMatchers method msgFailure.
public static Matcher<ResponseMessage> msgFailure(final Status status, final String message) {
return new TypeSafeMatcher<ResponseMessage>() {
@Override
protected boolean matchesSafely(ResponseMessage t) {
assertThat(t, instanceOf(FailureMessage.class));
FailureMessage msg = (FailureMessage) t;
assertThat(msg.status(), equalTo(status));
assertThat(msg.message(), containsString(message));
return true;
}
@Override
public void describeTo(Description description) {
description.appendText("FAILURE");
}
};
}
use of org.neo4j.bolt.v1.messaging.message.ResponseMessage in project neo4j by neo4j.
the class MessageMatchers method msgRecord.
public static Matcher<ResponseMessage> msgRecord(final Matcher<Record> matcher) {
return new TypeSafeMatcher<ResponseMessage>() {
@Override
protected boolean matchesSafely(ResponseMessage t) {
assertThat(t, instanceOf(RecordMessage.class));
RecordMessage msg = (RecordMessage) t;
assertThat(msg.record(), matcher);
return true;
}
@Override
public void describeTo(Description description) {
description.appendText("RECORD ");
description.appendDescriptionOf(matcher);
}
};
}
use of org.neo4j.bolt.v1.messaging.message.ResponseMessage in project neo4j by neo4j.
the class MessageMatchers method responseMessage.
public static ResponseMessage responseMessage(byte[] bytes) throws IOException {
BoltResponseMessageReader unpacker = responseReader(bytes);
BoltResponseMessageRecorder consumer = new BoltResponseMessageRecorder();
try {
if (unpacker.hasNext()) {
unpacker.read(consumer);
return consumer.asList().get(0);
}
throw new IllegalArgumentException("Expected a message in `" + HexPrinter.hex(bytes) + "`");
} catch (Throwable e) {
throw new IOException("Failed to deserialize response, '" + e.getMessage() + "'.\n" + "Raw data: \n" + HexPrinter.hex(bytes), e);
}
}
use of org.neo4j.bolt.v1.messaging.message.ResponseMessage in project neo4j by neo4j.
the class MessageMatchers method serialize.
public static byte[] serialize(ResponseMessage... messages) throws IOException {
final RecordingByteChannel rawData = new RecordingByteChannel();
final BoltResponseMessageWriter packer = new BoltResponseMessageWriter(new Neo4jPack.Packer(new BufferedChannelOutput(rawData)), NO_BOUNDARY_HOOK);
for (ResponseMessage message : messages) {
message.dispatch(packer);
}
packer.flush();
return rawData.getBytes();
}
use of org.neo4j.bolt.v1.messaging.message.ResponseMessage in project neo4j by neo4j.
the class BoltResponseMessageTest method serializeAndDeserialize.
private <T extends ResponseMessage> T serializeAndDeserialize(T msg) throws IOException {
RecordingByteChannel channel = new RecordingByteChannel();
BoltResponseMessageReader reader = new BoltResponseMessageReader(new Neo4jPack.Unpacker(new BufferedChannelInput(16).reset(channel)));
BoltResponseMessageWriter writer = new BoltResponseMessageWriter(new Neo4jPack.Packer(new BufferedChannelOutput(channel)), NO_BOUNDARY_HOOK);
msg.dispatch(writer);
writer.flush();
channel.eof();
return unpack(reader, channel);
}
Aggregations