public void ServiceLayer_DeleteDomainTopic_DataLayerException_ShouldRethrow(bool getClientThrowsException, bool deleteThrowsException)
        {
            // Setup
            _eventGridManager.ThrowExceptionOnGetClient = getClientThrowsException;
            _eventGridManager.ThrowExceptionOnDelete    = deleteThrowsException;

            ServiceLayer serviceLayer = new ServiceLayer(
                _eventGridManager,
                _queueManager,
                _tableManager,
                _log);

            DataCleanupParameters parameters = TestValues.GetDataCleanupParameters();

            parameters.DomainTopicName = "domaintopicname";
            Func <Task> act = async() => await serviceLayer.DeleteDomainTopic(parameters);

            // Act
            act.Should().Throw <RequestFailedException>().WithMessage(_eventGridManager.ExceptionMessage);

            // Verify
            _log.Messages.Should().HaveCount(2);
            _log.Messages[0].Message.Should().Be($"Deleting domain topic {parameters.DomainTopicName}");
            _log.Messages[1].Message.Should().Be("Exception encountered in DeleteDomainTopic method.");
        }
        public async Task ServiceLayer_DeleteDomainTopic_ShouldWork()
        {
            // Setup
            DataCleanupParameters parameters = TestValues.GetDataCleanupParameters();

            parameters.DomainTopicName = "domaintopicname";

            ServiceLayer serviceLayer = new ServiceLayer(
                _eventGridManager,
                _queueManager,
                _tableManager,
                _log);

            // Act
            await serviceLayer.DeleteDomainTopic(parameters);

            // Verify
            _log.Messages.Should().HaveCount(2);
            _log.Messages[0].Message.Should().Be($"Deleting domain topic {parameters.DomainTopicName}");
            _log.Messages[1].Message.Should().Be($"Domain topic deletion completed! {parameters.DomainTopicName}");
        }