static MonoValidationTestParameters Create(TestContext ctx, ValidationTestCategory category, MonoValidationTestType type) { var parameters = CreateParameters(category, type); switch (type) { case MonoValidationTestType.MartinTest: parameters.Host = "tlstest-1.xamdev.com"; parameters.Add(CertificateResourceType.TlsTestXamDevNew); parameters.Add(CertificateResourceType.TlsTestXamDevCA); parameters.UseTestRunnerCallback = true; parameters.ExpectSuccess = true; break; case MonoValidationTestType.NoHost: parameters.Host = null; parameters.Add(CertificateResourceType.TlsTestXamDevNew); parameters.Add(CertificateResourceType.TlsTestXamDevCA); parameters.ExpectSuccess = true; break; case MonoValidationTestType.EmptyHost: parameters.Host = string.Empty; parameters.Add(CertificateResourceType.TlsTestXamDevNew); parameters.Add(CertificateResourceType.TlsTestXamDevCA); /* * Older versions of AppleTls prior to Xamarin.iOS 10 incorrectly * returned success. */ parameters.ExpectSuccess = false; break; case MonoValidationTestType.WrongHost: parameters.Host = "invalid.xamdev-error.com"; parameters.Add(CertificateResourceType.TlsTestXamDevNew); parameters.Add(CertificateResourceType.TlsTestXamDevCA); parameters.ExpectSuccess = false; break; case MonoValidationTestType.Success: parameters.Host = "tlstest-1.xamdev.com"; parameters.Add(CertificateResourceType.TlsTestXamDevNew); parameters.Add(CertificateResourceType.TlsTestXamDevCA); parameters.ExpectSuccess = true; break; case MonoValidationTestType.RejectSelfSigned: parameters.Host = string.Empty; parameters.Add(CertificateResourceType.SelfSignedServerCertificate); parameters.ExpectSuccess = false; break; case MonoValidationTestType.RejectHamillerTube: parameters.Host = string.Empty; parameters.Add(CertificateResourceType.ServerCertificateFromLocalCA); parameters.Add(CertificateResourceType.HamillerTubeCA); parameters.ExpectSuccess = false; break; case MonoValidationTestType.TestRunnerCallback: parameters.Host = "tlstest-1.xamdev.com"; parameters.Add(CertificateResourceType.TlsTestXamDevNew); parameters.Add(CertificateResourceType.TlsTestXamDevCA); parameters.UseTestRunnerCallback = true; parameters.ExpectSuccess = true; break; case MonoValidationTestType.TestRunnerCallbackChain: parameters.Host = "tlstest-1.xamdev.com"; parameters.Add(CertificateResourceType.TlsTestXamDevNew); parameters.Add(CertificateResourceType.TlsTestXamDevCA); parameters.AddExpectedChainEntry(CertificateResourceType.TlsTestXamDevNew); parameters.AddExpectedChainEntry(CertificateResourceType.TlsTestXamDevCA); parameters.UseTestRunnerCallback = true; parameters.ExpectSuccess = true; break; default: ctx.AssertFail("Unsupported validation type: '{0}'.", type); break; } return(parameters); }
static MonoValidationTestParameters CreateParameters(ValidationTestCategory category, MonoValidationTestType type, params object[] args) { var sb = new StringBuilder(); sb.Append(type); foreach (var arg in args) { sb.AppendFormat(":{0}", arg); } var name = sb.ToString(); return(new MonoValidationTestParameters(category, type, name)); }
public MonoValidationTestParameters(ValidationTestCategory category, MonoValidationTestType type, string identifier) : base(category, identifier) { Type = type; }
protected MonoValidationTestParameters(MonoValidationTestParameters other) : base(other) { Type = other.Type; UseTestRunnerCallback = other.UseTestRunnerCallback; }
public MonoValidationTestParametersAttribute(MonoValidationTestType type) : base(null, TestFlags.Browsable | TestFlags.ContinueOnError) { Type = type; }