Skip to content

Commit 2158b97

Browse files
committed
Add unit test for server stream custom events in AbstractTransportTest
1 parent 5caf237 commit 2158b97

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

core/src/testFixtures/java/io/grpc/internal/AbstractTransportTest.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2088,6 +2088,35 @@ public void clientChecksInboundMetadataSize_trailer() throws Exception {
20882088
assertNull(metadata.get(tellTaleKey));
20892089
}
20902090

2091+
@Test
2092+
public void serverStream_triggerEvent() throws Exception {
2093+
server.start(serverListener);
2094+
client = newClientTransport(server);
2095+
startTransport(client, mockClientTransportListener);
2096+
MockServerTransportListener serverTransportListener
2097+
= serverListener.takeListenerOrFail(TIMEOUT_MS, TimeUnit.MILLISECONDS);
2098+
serverTransport = serverTransportListener.transport;
2099+
2100+
ClientStream clientStream = client.newStream(
2101+
methodDescriptor, new Metadata(), callOptions, noopTracers);
2102+
ClientStreamListenerBase clientStreamListener = new ClientStreamListenerBase();
2103+
clientStream.start(clientStreamListener);
2104+
2105+
StreamCreation serverStreamCreation
2106+
= serverTransportListener.takeStreamOrFail(TIMEOUT_MS, TimeUnit.MILLISECONDS);
2107+
ServerStream serverStream = serverStreamCreation.stream;
2108+
ServerStreamListenerBase serverStreamListener = serverStreamCreation.listener;
2109+
2110+
Object event = new Object();
2111+
serverStream.triggerEvent(event);
2112+
2113+
Object receivedEvent = serverStreamListener.eventQueue.poll(TIMEOUT_MS, TimeUnit.MILLISECONDS);
2114+
assertEquals(event, receivedEvent);
2115+
2116+
// Cleanup
2117+
clientStream.cancel(Status.CANCELLED);
2118+
}
2119+
20912120
/**
20922121
* Helper that simply does an RPC. It can be used similar to a sleep for negative testing: to give
20932122
* time for actions _not_ to happen. Since it is based on doing an actual RPC with actual

0 commit comments

Comments
 (0)