using System; using System.Collections.Generic; using System.Linq; using Xunit; using Xunit.Abstractions; using Xunit.Sdk; namespace Octokit.Tests.Integration { public class GitHubEnterpriseManagementConsoleTestDiscoverer : IXunitTestCaseDiscoverer { readonly IMessageSink diagnosticMessageSink; public GitHubEnterpriseManagementConsoleTestDiscoverer(IMessageSink diagnosticMessageSink) { this.diagnosticMessageSink = diagnosticMessageSink; } public IEnumerable Discover(ITestFrameworkDiscoveryOptions discoveryOptions, ITestMethod testMethod, IAttributeInfo factAttribute) { if (Helper.Credentials == null) return Enumerable.Empty(); if (!EnterpriseHelper.IsGitHubEnterpriseEnabled) return Enumerable.Empty(); if (String.IsNullOrEmpty(EnterpriseHelper.ManagementConsolePassword)) return Enumerable.Empty(); return new[] { new XunitTestCase(diagnosticMessageSink, discoveryOptions.MethodDisplayOrDefault(), TestMethodDisplayOptions.None, testMethod) }; } } [XunitTestCaseDiscoverer("Octokit.Tests.Integration.GitHubEnterpriseManagementConsoleTestDiscoverer", "Octokit.Tests.Integration")] public class GitHubEnterpriseManagementConsoleTestAttribute : FactAttribute { } }