public async Task ListConversationsReturns500WhenUnknownExceptionIsThrown()
        {
            conversationsStoreMock.Setup(store => store.ListConversations(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>()))
            .ThrowsAsync(new UnknownException());

            var           conversationsController = new ConversationsController(conversationsStoreMock.Object, profileStoreMock.Object, loggerMock.Object, metricsMock.Object, notificationServiceMock.Object);
            IActionResult result = await conversationsController.ListConversations(
                Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0);

            TestUtils.AssertStatusCode(HttpStatusCode.InternalServerError, result);
        }
        public async Task ListConversationsReturns404WhenProfileNotFoundExceptionIsThrown()
        {
            conversationsStoreMock.Setup(store => store.ListConversations(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>()))
            .ThrowsAsync(new ProfileNotFoundException("test failure"));

            var           conversationsController = new ConversationsController(conversationsStoreMock.Object, profileStoreMock.Object, loggerMock.Object, metricsMock.Object, notificationServiceMock.Object);
            IActionResult result = await conversationsController.ListConversations(
                Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0);

            TestUtils.AssertStatusCode(HttpStatusCode.NotFound, result);
        }
        public async Task ListConversationsReturns503WhenStorageIsUnavailable()
        {
            conversationsStoreMock.Setup(store => store.ListConversations(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>()))
            .ThrowsAsync(new StorageErrorException("Test Failure"));

            var           conversationsController = new ConversationsController(conversationsStoreMock.Object, profileStoreMock.Object, loggerMock.Object, metricsMock.Object, notificationServiceMock.Object);
            IActionResult result = await conversationsController.ListConversations(
                Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0);

            TestUtils.AssertStatusCode(HttpStatusCode.ServiceUnavailable, result);
        }