public TestingServer(IServerClientFactory serverClientFactory, string updatePath) { this.serverClientFactory = serverClientFactory; Directory = Path.GetTempFileName(); File.Delete(Directory); System.IO.Directory.CreateDirectory(Directory); Url = new Uri("http://localhost:5001"); //so we need a db //we have to rely on env vars var databaseType = Environment.GetEnvironmentVariable("TGS4_TEST_DATABASE_TYPE"); var connectionString = Environment.GetEnvironmentVariable("TGS4_TEST_CONNECTION_STRING"); var gitHubAccessToken = Environment.GetEnvironmentVariable("TGS4_TEST_GITHUB_TOKEN"); var dumpOpenAPISpecPathEnvVar = Environment.GetEnvironmentVariable("TGS4_TEST_DUMP_API_SPEC"); if (String.IsNullOrEmpty(databaseType)) { Assert.Inconclusive("No database type configured in env var TGS4_TEST_DATABASE_TYPE!"); } if (String.IsNullOrEmpty(connectionString)) { Assert.Inconclusive("No connection string configured in env var TGS4_TEST_CONNECTION_STRING!"); } if (String.IsNullOrEmpty(gitHubAccessToken)) { Console.WriteLine("WARNING: No GitHub access token configured, test may fail due to rate limits!"); } dumpOpenAPISpecpath = !String.IsNullOrEmpty(dumpOpenAPISpecPathEnvVar); var args = new List <string>() { String.Format(CultureInfo.InvariantCulture, "Kestrel:EndPoints:Http:Url={0}", Url), String.Format(CultureInfo.InvariantCulture, "Database:DatabaseType={0}", databaseType), String.Format(CultureInfo.InvariantCulture, "Database:ConnectionString={0}", connectionString), String.Format(CultureInfo.InvariantCulture, "Database:DropDatabase={0}", true), String.Format(CultureInfo.InvariantCulture, "General:SetupWizardMode={0}", SetupWizardMode.Never) }; if (!String.IsNullOrEmpty(gitHubAccessToken)) { args.Add(String.Format(CultureInfo.InvariantCulture, "General:GitHubAccessToken={0}", gitHubAccessToken)); } if (dumpOpenAPISpecpath) { Environment.SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development"); } realServer = ServerFactory.CreateDefault().CreateServer(args.ToArray(), updatePath); }
async Task TestServerInformation(IServerClientFactory clientFactory, IServerClient serverClient, CancellationToken cancellationToken) { var serverInfo = await serverClient.ServerInformation(default).ConfigureAwait(false);