public async Task FailsToAuthorize_WhenNoCertificateMatchesMpc()
        {
            // Arrange
            var signingCertificate = GetSigningCertificate();

            const string     expectedMpc = "message-mpc";
            MessagingContext context     = ContextWithSignedPullRequest(expectedMpc, signingCertificate);

            var stubMap = new StubAuthorizationMapProvider(new[] { new PullRequestAuthorizationEntry(expectedMpc, "ANOTHERTHUMBPRINT", true) });
            var sut     = new VerifyPullRequestAuthorizationStep(stubMap);

            // Act and assert.
            await Assert.ThrowsAsync <SecurityException>(() => sut.ExecuteAsync(context));
        }
        public async Task ContinuesExecution_IfMatchedCertificateCanBeFoundForTheMpc()
        {
            // Arrange
            var signingCertificate = GetSigningCertificate();

            const string     expectedMpc = "message-mpc";
            MessagingContext context     = ContextWithSignedPullRequest(expectedMpc, signingCertificate);

            var stubMap = new StubAuthorizationMapProvider(new[] { new PullRequestAuthorizationEntry(expectedMpc, signingCertificate.Thumbprint, true) });
            var sut     = new VerifyPullRequestAuthorizationStep(stubMap);

            // Act
            StepResult result = await sut.ExecuteAsync(context);

            // Assert
            Assert.True(result.CanProceed);
        }