Example #1
0
        public void BadSSLTests(string uri, SecurityCheckState expected)
        {
            var pipeline = new SecurityCheckPipeline(new[] { CreateSecurityCheck() });
            var result   = pipeline.Run(new System.Uri(uri));

            Assert.Equal(expected, result.First().SecurityCheckResult.State);
        }
Example #2
0
        protected void AssertSecurityCheckStateWhenNoHeaderIsSet(string headerName, SecurityCheckState securityCheckState = SecurityCheckState.Bad)
        {
            var securityCheck = CreateSecurityCheck();
            var response      = CreateResponseMessage();
            var result        = securityCheck.Check(response);

            Assert.True(result.State == securityCheckState, $"{nameof(securityCheckState)}:{result.State}");
        }
Example #3
0
        public void NoCertificateError(SslPolicyErrors sslPolicyErrors, SecurityCheckState expected)
        {
            var response = CreateResponseMessage();

            AddServerCertificateInfo(response, sslPolicyErrors);

            var result = RunCheck(response);

            Assert.Equal(expected, result.State);
        }
Example #4
0
        protected void AssertSecurityCheckState(string headerName, string value, SecurityCheckState securityCheckState)
        {
            var securityCheck = CreateSecurityCheck();
            var response      = CreateResponseMessage();

            response.Headers.Add(headerName, value);
            var result = securityCheck.Check(response);

            Assert.True(result.State == securityCheckState, $"{nameof(securityCheckState)}:{result.State}");
        }
        protected string GetText(SecurityCheckState securityCheckState)
        {
            switch (securityCheckState)
            {
            case SecurityCheckState.None:
                return("None");

            case SecurityCheckState.Skipped:
                return("Skipped");

            case SecurityCheckState.Bad:
                return("Bad");

            case SecurityCheckState.Good:
                return("Good");

            case SecurityCheckState.Best:
                return("Best Practice");

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Example #6
0
        private (string Text, ConsoleColor Color) GetTextAndColor(SecurityCheckState securityCheckState)
        {
            switch (securityCheckState)
            {
            case SecurityCheckState.None:
                return(GetText(securityCheckState), Console.ForegroundColor);

            case SecurityCheckState.Skipped:
                return(GetText(securityCheckState), ConsoleColor.Blue);

            case SecurityCheckState.Bad:
                return(GetText(securityCheckState), ConsoleColor.Red);

            case SecurityCheckState.Good:
                return(GetText(securityCheckState), ConsoleColor.Green);

            case SecurityCheckState.Best:
                return(GetText(securityCheckState), ConsoleColor.Green);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
 public void CheckValue(string value, SecurityCheckState securityCheckState)
 {
     AssertSecurityCheckState(HeaderName, value, securityCheckState);
 }
Example #8
0
        public void CheckState(bool https, SecurityCheckState expectedSecurityCheckState)
        {
            var result = RunCheck(https);

            Assert.Equal(expectedSecurityCheckState, result.State);
        }
Example #9
0
 public HeaderValueCheck(SecurityCheckState securityCheckState, Predicate <string> when, string recommendation = "")
 {
     _when = when;
     SecurityCheckState = securityCheckState;
     Recommendation     = recommendation;
 }
 private SecurityCheckResult(SecurityCheckState state, string recommandation, string value = "")
 {
     State          = state;
     Recommandation = recommandation;
     Value          = value;
 }
 public static SecurityCheckResult Create(SecurityCheckState state, string recommandation = "", string value = "") => new SecurityCheckResult(state, recommandation, value);