public async Task ProcessAsync_InvalidPrincipalNameFormat_RetunsBadRequestHttpResponse()
        {
            // Arrange
            PrincipalIdentityName = string.Empty;

            // Act
            var actual = await Target.ProcessAsync(DeleteMessageHttpRequest, DeleteMessageUriTemplateMatch, It.IsAny <ITransportSession>(), CancellationToken.None);

            // Assert
            actual.CorrelatorId.ShouldBe(DeleteMessageHttpRequest.CorrelatorId);
            actual.StatusCode.ShouldBe(HttpStatusCode.BadRequest);
            MessageEnvelopeStorage.Verify();
        }
        public async Task ProcessAsync_RequestUriWithoutId_RetunsBadRequestHttpResponse()
        {
            // Arrange
            DeleteMessageUriTemplateMatch.BoundVariables.Clear();

            // Act
            var actual = await Target.ProcessAsync(DeleteMessageHttpRequest, DeleteMessageUriTemplateMatch, It.IsAny <ITransportSession>(), CancellationToken.None);

            // Assert
            actual.CorrelatorId.ShouldBe(DeleteMessageHttpRequest.CorrelatorId);
            actual.StatusCode.ShouldBe(HttpStatusCode.BadRequest);
            MessageEnvelopeStorage.Verify();
        }
        public async Task ProcessAsync_UnknownEnvelopeId_RetunsNotFoundHttpResponse()
        {
            // Arrange
            MessageEnvelopeStorage
            .Setup(m => m.DeleteEnvelopeAsync(Identity, MessageId))
            .ReturnsAsync(false)
            .Verifiable();

            // Act
            var actual = await Target.ProcessAsync(DeleteMessageHttpRequest, DeleteMessageUriTemplateMatch, It.IsAny <ITransportSession>(), CancellationToken.None);

            // Assert
            actual.CorrelatorId.ShouldBe(DeleteMessageHttpRequest.CorrelatorId);
            actual.StatusCode.ShouldBe(HttpStatusCode.NotFound);
            MessageEnvelopeStorage.Verify();
        }