public void AwsMessagePublisherTests_Publish()
        {
            Mock <ISnsClient> mockClient = new Mock <ISnsClient>(MockBehavior.Strict);

            mockClient.Setup(x => x.Publish(It.IsAny <string>(), It.IsAny <Type>(), It.IsAny <Dictionary <string, string> >()));
            AwsMessagePublisher publisher = new AwsMessagePublisher(mockClient.Object, _mockLogger.Object);

            publisher.Publish("test message", typeof(TestMessage));
            mockClient.Verify(x => x.Publish("test message", typeof(TestMessage), It.IsAny <Dictionary <string, string> >()), Times.Once());
            _mockLogger.Verify(x => x.OutboundLogMessage(It.IsAny <string>(), It.IsAny <string>()), Times.Once());
        }
 public void AwsMessagePublisherTests_Publish_NoPublicPublish_ThrowsException()
 {
     try
     {
         AwsMessagePublisher publisher = new AwsMessagePublisher(_mockLogger.Object);
         publisher.Publish("string", typeof(TestMessage));
         Assert.Fail();
     }
     catch (JungleBusException ex)
     {
         Assert.AreEqual("Public publishing is disabled", ex.Message);
     }
 }