+ @Test
+ public void testConcurrentMessageLimit() throws Exception {
+ setupSession();
+ ArrayList<String> messageID = new ArrayList<>();
+
+ for (int i = 0; i < 10; i++) {
+ messageID.add(UUID.randomUUID().toString());
+ ListenableFuture<RpcResult<NetconfMessage>> resultFuture = sendRequest(messageID.get(i), false);
+ assertEquals("ListenableFuture is null", true, resultFuture instanceof UncancellableFuture);
+ }
+
+ final String notWorkingMessageID = UUID.randomUUID().toString();
+ ListenableFuture<RpcResult<NetconfMessage>> resultFuture = sendRequest(notWorkingMessageID, false);
+ assertEquals("ListenableFuture is null", false, resultFuture instanceof UncancellableFuture);
+
+ communicator.onMessage(mockSession, createSuccessResponseMessage(messageID.get(0)));
+
+ resultFuture = sendRequest(messageID.get(0), false);
+ assertNotNull("ListenableFuture is null", resultFuture);
+ }
+