public override bool IsServerSupported(TestContext ctx, ConnectionProvider provider, string filter) { if (!IsServerSupported(provider)) { return(false); } var supported = IsSupported(ctx, provider, filter); if (supported != null) { return(supported.Value); } return(ConnectionTestRunner.IsSupported(ctx, Category, provider)); }
bool IsSupported(TestContext ctx, ConnectionProvider provider, string filter) { var supportsSslStream = (provider.Flags & ConnectionProviderFlags.SupportsSslStream) != 0; var supportsHttps = (provider.Flags & ConnectionProviderFlags.SupportsHttp) != 0; var supportsTrustedRoots = (provider.Flags & ConnectionProviderFlags.SupportsTrustedRoots) != 0; if ((Flags & ConnectionTestFlags.RequireSslStream) != 0 && !supportsSslStream) { return(false); } if ((Flags & ConnectionTestFlags.RequireHttp) != 0 && !supportsHttps) { return(false); } if ((Flags & ConnectionTestFlags.RequireTrustedRoots) != 0 && !supportsTrustedRoots) { return(false); } var match = MatchesFilter(provider, filter); if (match != null) { return(match.Value); } if ((provider.Flags & ConnectionProviderFlags.IsExplicit) != 0) { return(false); } if ((Flags & ConnectionTestFlags.AssumeSupportedByTest) != 0) { return(true); } return(ConnectionTestRunner.IsSupported(ctx, Category, provider)); }