### Question:
PushNotificationSubscriptionRequestQueueProducerServiceImpl implements PushNotificationSubscriptionRequestQueueProducerService { @Override public void processPushNotificationSubscriptionRequest(@Nonnull final Long requestId) { Assert.notNull(requestId, "Push notification subscription request should not be null"); logger.debug("Processing push notification subscription request with id - {}", requestId); amqpConnectorService.publishMessage(RPCCallType.START_PUSH_NOTIFICATION_SUBSCRIPTION_PROCESSING, new PushNotificationSubscriptionRequestRPCTransferModel(requestId), PushNotificationSubscriptionRequestRPCTransferModel.class, new PushNotificationSubscriptionRPCResponseHandler()); } PushNotificationSubscriptionRequestQueueProducerServiceImpl(); @Override void processPushNotificationSubscriptionRequest(@Nonnull final Long requestId); ApplicationEventDistributionService getApplicationEventDistributionService(); void setApplicationEventDistributionService(final ApplicationEventDistributionService applicationEventDistributionService); AmqpConnectorService getAmqpConnectorService(); void setAmqpConnectorService(final AmqpConnectorService amqpConnectorService);  }### Answer:
@Test public void testProcessPushNotificationSubscriptionRequestArguments() { resetAll(); replayAll(); try { pushNotificationSubscriptionRequestQueueProducerService.processPushNotificationSubscriptionRequest(null); fail("Exception will be thrown"); } catch (final IllegalArgumentException e) { } verifyAll(); }
@Test public void testProcessPushNotificationSubscriptionRequest() { final Long requestId = 1L; resetAll(); amqpConnectorService.publishMessage(eq(RPCCallType.START_PUSH_NOTIFICATION_SUBSCRIPTION_PROCESSING), isA(PushNotificationSubscriptionRequestRPCTransferModel.class), eq(PushNotificationSubscriptionRequestRPCTransferModel.class), isA(AmqpResponseHandler.class)); expectLastCall().once(); replayAll(); pushNotificationSubscriptionRequestQueueProducerService.processPushNotificationSubscriptionRequest(requestId); verifyAll(); }