### Question:
SubscriptionChannelFactory { public IChannelReceiver newDeliveryReceivingChannel(String theChannelName, ChannelConsumerSettings theChannelSettings) { ChannelConsumerSettings config = newConsumerConfigForDeliveryChannel(theChannelSettings); IChannelReceiver channel = myChannelFactory.getOrCreateReceiver(theChannelName, ResourceDeliveryJsonMessage.class, config); return new BroadcastingSubscribableChannelWrapper(channel); } SubscriptionChannelFactory(IChannelFactory theChannelFactory); IChannelProducer newDeliverySendingChannel(String theChannelName, ChannelProducerSettings theChannelSettings); IChannelReceiver newDeliveryReceivingChannel(String theChannelName, ChannelConsumerSettings theChannelSettings); IChannelProducer newMatchingSendingChannel(String theChannelName, ChannelProducerSettings theChannelSettings); IChannelReceiver newMatchingReceivingChannel(String theChannelName, ChannelConsumerSettings theChannelSettings); int getDeliveryChannelConcurrentConsumers(); int getMatchingChannelConcurrentConsumers(); IChannelFactory getChannelFactory();  }### Answer:
@Test public void testInterceptorsOnChannelWrapperArePropagated() { IChannelReceiver channel = mySvc.newDeliveryReceivingChannel("CHANNEL_NAME", null); channel.subscribe(new NpeThrowingHandler()); channel.addInterceptor(myInterceptor); Message<?> input = new GenericMessage<>("TEST"); when(myInterceptor.preSend(any(),any())).thenAnswer(t->t.getArgument(0, Message.class)); try { channel.send(input); fail(); } catch (MessageDeliveryException e) { assertTrue(e.getCause() instanceof NullPointerException); } verify(myInterceptor, times(1)).afterSendCompletion(any(), any(), anyBoolean(), myExceptionCaptor.capture()); assertTrue(myExceptionCaptor.getValue() instanceof NullPointerException); }