using Microsoft.Extensions.Configuration; namespace Shogi.AcceptanceTests.TestSetup { /// /// Acceptance Test fixture for tests which assert features for Microsoft accounts. /// public class GuestTestFixture : IAsyncLifetime, IDisposable { private bool disposedValue; public GuestTestFixture() { Configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json") //.AddEnvironmentVariables() .Build(); Service = new HttpClient { BaseAddress = new Uri(Configuration["ServiceUrl"], UriKind.Absolute) }; } public IConfiguration Configuration { get; private set; } public HttpClient Service { get; } public async Task InitializeAsync() { // Log in as a guest account. var loginResponse = await Service.GetAsync(new Uri("User/LoginAsGuest", UriKind.Relative)); loginResponse.EnsureSuccessStatusCode(); } protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { Service.Dispose(); } disposedValue = true; } } public Task DisposeAsync() { Dispose(true); return Task.CompletedTask; } public void Dispose() { Dispose(disposing: true); GC.SuppressFinalize(this); } } }