Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
artem-v committed Jul 6, 2024
1 parent d1234be commit 37a49a4
Showing 1 changed file with 75 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -242,13 +242,85 @@ void testPingThenTimeoutThenPingRequestThenTimeout() {
class OnPingTests {

@Test
void testOnPing() {}
void testOnPing() {
final long cid = 100;

emitMessageFromTransport(codec -> codec.encodePing(cid, aliceMember, localMember, null));

verify(transport)
.send(
eq(aliceMember.address()),
argThat(
arg -> {
final MutableDirectBuffer buffer = (MutableDirectBuffer) arg;
final MessageHeaderDecoder headerDecoder = new MessageHeaderDecoder();
final PingAckDecoder decoder = new PingAckDecoder();
final MemberCodec memberCodec = new MemberCodec();

headerDecoder.wrap(buffer, 0);
decoder.wrapAndApplyHeader(buffer, 0, headerDecoder);

assertEquals(PingAckDecoder.TEMPLATE_ID, headerDecoder.templateId());
assertEquals(cid, decoder.cid());

final Member from = memberCodec.member(decoder::wrapFrom);
final Member target = memberCodec.member(decoder::wrapTarget);
final Member issuer = memberCodec.member(decoder::wrapIssuer);

assertEquals(aliceMember, from);
assertEquals(localMember, target);
assertNull(issuer);

return true;
}),
anyInt(),
anyInt());
}

@Test
void testOnPingWithIssuer() {}
void testOnPingWithIssuer() {
final long cid = 100;

emitMessageFromTransport(codec -> codec.encodePing(cid, aliceMember, localMember, fooMember));

verify(transport)
.send(
eq(aliceMember.address()),
argThat(
arg -> {
final MutableDirectBuffer buffer = (MutableDirectBuffer) arg;
final MessageHeaderDecoder headerDecoder = new MessageHeaderDecoder();
final PingAckDecoder decoder = new PingAckDecoder();
final MemberCodec memberCodec = new MemberCodec();

headerDecoder.wrap(buffer, 0);
decoder.wrapAndApplyHeader(buffer, 0, headerDecoder);

assertEquals(PingAckDecoder.TEMPLATE_ID, headerDecoder.templateId());
assertEquals(cid, decoder.cid());

final Member from = memberCodec.member(decoder::wrapFrom);
final Member target = memberCodec.member(decoder::wrapTarget);
final Member issuer = memberCodec.member(decoder::wrapIssuer);

assertEquals(aliceMember, from);
assertEquals(localMember, target);
assertEquals(fooMember, issuer);

return true;
}),
anyInt(),
anyInt());
}

@Test
void testOnPingWithNonMatchingTarget() {}
void testOnPingWithNonMatchingTarget() {
final long cid = 100;

emitMessageFromTransport(codec -> codec.encodePing(cid, fooMember, barMember, null));

verify(transport, never()).send(any(), any(), anyInt(), anyInt());
}
}

@Nested
Expand Down

0 comments on commit 37a49a4

Please sign in to comment.