@Test(enabled = false) public void testInvokeFunctionWithTrackMessageSizeDecoder_CombinedMessages() throws Exception { List<String> originalMessages = createMessages(5); List<String> modifiableMessages = new ArrayList<>(originalMessages); CountDownLatch latch = new CountDownLatch(modifiableMessages.size()); List<Decoder<?, ?>> decoders = withTrackMessageSizeDecoder(); List<FunctionWrapper> functions = withMessageFunction(modifiableMessages, latch); String firstMessage = originalMessages.get(0); String combinedMessages = ""; for (String message : originalMessages.subList(1, originalMessages.size())) { combinedMessages += withLengthPrefixed(message); } assertTrue( TransportsUtil.invokeFunction( decoders, functions, String.class, withLengthPrefixed(firstMessage), FUNCTION_NAME_MESSAGE, FunctionResolver.DEFAULT)); assertTrue( TransportsUtil.invokeFunction( decoders, functions, String.class, withLengthPrefixed(combinedMessages), FUNCTION_NAME_MESSAGE, FunctionResolver.DEFAULT)); assertTrue(latch.await(3, TimeUnit.SECONDS), "latch count was " + latch.getCount()); assertTrue(modifiableMessages.isEmpty()); }
@Test public void testInvokeFunctionWithTrackMessageSizeDecoder_NormalMessages() throws Exception { List<String> originalMessages = createMessages(3); List<String> modifiableMessages = new ArrayList<>(originalMessages); CountDownLatch latch = new CountDownLatch(originalMessages.size()); List<Decoder<?, ?>> decoders = withTrackMessageSizeDecoder(); List<FunctionWrapper> functions = withMessageFunction(modifiableMessages, latch); for (String message : originalMessages) { assertTrue( TransportsUtil.invokeFunction( decoders, functions, String.class, withLengthPrefixed(message), FUNCTION_NAME_MESSAGE, FunctionResolver.DEFAULT)); } assertTrue(latch.await(5, TimeUnit.SECONDS)); assertTrue(modifiableMessages.isEmpty()); }