コード例 #1
0
        public static void Setup(TestContext testContext)
        {
            var mockedApiProvider = new Mock <IApiProvider>();
            var webResponseModel  = new WebResponseModel()
            {
                Payloay           = "{\"engineVersion\":\"1.11.4\",\"criteriaVersion\":\"2009i\",\"clientMaxAssessments\":5,\"notice\":\"Some notice goes here\"}",
                StatusCode        = 200,
                StatusDescription = "Ok",
                Url = "https://api.ssllabs.com/api/v2/info"
            };

            mockedApiProvider.Setup(x => x.MakeGetRequest(It.IsAny <RequestModel>())).Returns(webResponseModel);

            var ssllService = new SSLLabsApiService("https://api.ssllabs.com/api/v2/", mockedApiProvider.Object);

            Response = ssllService.Info();
        }
コード例 #2
0
        public static void Setup(TestContext testContext)
        {
            var mockedApiProvider = new Mock <IApiProvider>();
            var webResponseModel  = new WebResponseModel()
            {
                Payloay           = "",
                StatusCode        = 0,
                StatusDescription = "",
                Url = ""
            };

            mockedApiProvider.Setup(x => x.MakeGetRequest(It.IsAny <RequestModel>())).Returns(webResponseModel);

            var ssllService = new SSLLabsApiService("https://blah-blah.dev.ssllabs.com/api/blah/", mockedApiProvider.Object);

            Response = ssllService.Info();
        }
コード例 #3
0
        private static void Main()
        {
            const string apiUrl = "https://api.ssllabs.com/api/v2";

            Console.WriteLine("File path to file with sites.");
            var inputFileName = Console.ReadLine();

            Console.WriteLine("File path to output file.");
            var outputFileName = Console.ReadLine();

            const string delimiter     = ";";
            var          sslService    = new SSLLabsApiService(apiUrl);
            var          serviceStatus = sslService.Info();

            if (serviceStatus.Online && inputFileName != null)
            {
                if (File.Exists(inputFileName))
                {
                    var fileContent = File.ReadAllText(inputFileName, Encoding.UTF8);
                    var sites       = fileContent.Split(delimiter.First());

                    var output = new List <string[]>();
                    foreach (var site in sites)
                    {
                        Console.WriteLine($"Started analyzing {site}");
                        var analysisResult = sslService.AutomaticAnalyze(site);
                        var response       = new Response
                        {
                            SiteUrl = site,
                            Grade   = analysisResult.endpoints != null && analysisResult.endpoints.Any() ? analysisResult.endpoints.First().grade : "FAILED"
                        };

                        output.Add(new[] { response.SiteUrl, response.Grade });
                        Console.WriteLine($"Finished analyzing {response.SiteUrl} with grade: {response.Grade}");
                    }

                    if (outputFileName == null)
                    {
                        outputFileName = "output.csv";
                    }

                    if (File.Exists(outputFileName))
                    {
                        File.Delete(outputFileName);
                    }

                    Console.WriteLine("Generating CSV");
                    using (TextWriter writer = File.CreateText(outputFileName))
                    {
                        foreach (var result in output)
                        {
                            writer.WriteLine(string.Join(delimiter, result));
                        }
                    }
                    Console.WriteLine("CSV generated.");
                    Console.WriteLine("Press any key to exit.");
                    Console.ReadKey();
                }
                else
                {
                    Console.WriteLine("ERROR: Could not find sites.txt file.");
                    Console.WriteLine("Press any key to exit.");
                    Console.ReadKey();
                }
            }
            else
            {
                Console.WriteLine("ERROR: SSL Labs API is unreachable.");
                Console.WriteLine("Press any key to exit.");
                Console.ReadKey();
            }
        }
コード例 #4
0
        public static void Setup(TestContext testContext)
        {
            var ssllService = new SSLLabsApiService(ConfigurationManager.AppSettings.Get("ApiUrl"));

            _info = ssllService.Info();
        }