Esempio n. 1
0
 protected TestBase(ITestOutputHelper output)
 {
     Output        = output;
     Writer        = new TextWriterOutputHelper(output);
     socketManager = new SocketManager(GetType().Name);
     ClearAmbientFailures();
 }
Esempio n. 2
0
 protected TestBase(ITestOutputHelper output)
 {
     Output = output;
     Output.WriteFrameworkVersion();
     Writer = new TextWriterOutputHelper(output, TestConfig.Current.LogToConsole);
     ClearAmbientFailures();
 }
Esempio n. 3
0
 protected TestBase(ITestOutputHelper output, SharedConnectionFixture fixture = null)
 {
     Output = output;
     Output.WriteFrameworkVersion();
     Writer   = new TextWriterOutputHelper(output, TestConfig.Current.LogToConsole);
     _fixture = fixture;
     ClearAmbientFailures();
 }
Esempio n. 4
0
        public static RemoteCertificateValidationCallback ShowCertFailures(TextWriterOutputHelper output)
        {
            if (output == null)
            {
                return(null);
            }

            return((sender, certificate, chain, sslPolicyErrors) =>
            {
                void WriteStatus(X509ChainStatus[] status)
                {
                    if (status != null)
                    {
                        for (int i = 0; i < status.Length; i++)
                        {
                            var item = status[i];
                            output.WriteLine($"\tstatus {i}: {item.Status}, {item.StatusInformation}");
                        }
                    }
                }

                lock (output)
                {
                    if (certificate != null)
                    {
                        output.WriteLine($"Subject: {certificate.Subject}");
                    }
                    output.WriteLine($"Policy errors: {sslPolicyErrors}");
                    if (chain != null)
                    {
                        WriteStatus(chain.ChainStatus);

                        var elements = chain.ChainElements;
                        if (elements != null)
                        {
                            int index = 0;
                            foreach (var item in elements)
                            {
                                output.WriteLine($"{index++}: {item.Certificate.Subject}; {item.Information}");
                                WriteStatus(item.ChainElementStatus);
                            }
                        }
                    }
                }
                return sslPolicyErrors == SslPolicyErrors.None;
            });
        }