### Question:
MongodbClientSendersProvider implements ClientSendersProvider, CamelContextAware { @Override public ClientMessageSender getSender(String topic, String pluginId, String feNotifyUri) { return new ClientMessageSender() { @Override public void send(Object message) { send(topic, message); } @Override public void send(String topic, Object message) { senderPool.submit( () -> queue.add(new MongoQueueMessage(pluginId, message, topic)) ); } }; } MongodbClientSendersProvider(MessagesSerializer serializer, MongoSerializerBuilder serializerBuilder,
                                        PluginUriBuilder uriBuilder, int poolSize,
                                        MongoClient mongoClient, String dbName, String colName, long maxSize,
                                        int minPollIntervalMs); @Override ClientMessageSender getSender(String topic, String pluginId, String feNotifyUri); @Override CamelContext getCamelContext(); @Override void setCamelContext(CamelContext camelContext);  }### Answer:
@Test public void testMessagesAreSentFromQueueFrontend() throws Exception { final Plugin plugin = pluginsService.getPlugin(SaveAggregator.class); final PluginContext ctx = plugin.getContext(); final ClientMessageSender sender = provider.getSender("topic", plugin.getId(), ctx.getEndpoints().getFrontendSendUri()); feNotify.expectedMessageCount(10); feNotify.expectedHeaderReceived(TOPIC, "topic"); feNotify.expectedHeaderReceived(BODY_CLASS, String.class.getName()); rangeClosed(1, 10).forEach(n -> sender.send("Hello" + n)); feNotify.assertIsSatisfied(3000L); }