Files
Shogi/Tests/AcceptanceTests/TestSetup/MsalTestFixture - Copy.cs
2022-10-30 12:47:39 -05:00

63 lines
1.2 KiB
C#

using Microsoft.Extensions.Configuration;
namespace Shogi.AcceptanceTests.TestSetup
{
/// <summary>
/// Acceptance Test fixture for tests which assert features for Microsoft accounts.
/// </summary>
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);
}
}
}