public void SetUp()
        {
            _exchangeName = "test-exchange";
            var connection = Mock.Of <IConnection>();
            var model      = Mock.Of <IModel>();

            _logger         = Mock.Of <ILogger <RabbitGamePublisherService> >();
            _connectionMock = Mock.Get(connection);
            _modelMock      = Mock.Get(model);
            _connectionMock.Setup(c => c.CreateModel()).Returns(model);
            _modelMock.Setup(m => m.CreateBasicProperties()).Returns(Mock.Of <IBasicProperties>());
            _publisher = new RabbitGamePublisherService(connection, _exchangeName, _logger);
        }
        public async Task Publish_GivenModelThatThrows_ReturnsFalse()
        {
            var connection = Mock.Of <IConnection>();
            var model      = Mock.Of <IModel>();

            var connectionMock = Mock.Get(connection);
            var modelMock      = Mock.Get(model);

            connectionMock.Setup(c => c.CreateModel()).Returns(model);
            modelMock.Setup(m => m.CreateBasicProperties()).Throws <Exception>();

            var publisher = new RabbitGamePublisherService(connection, _exchangeName, _logger);
            var view      = new GameView()
            {
                Id   = Guid.NewGuid(),
                Name = "Test Name",
            };

            Assert.That(await publisher.Publish(view), Is.False);
        }