protected override void ConfigureWebHost(IWebHostBuilder builder)
        {
            builder.UseEnvironment("Test");
            builder.ConfigureServices(services =>
            {
                var originalDbContext = services.Single(
                    d => d.ServiceType == typeof(DbContextOptions <AuthzContext>));
                services.Remove(originalDbContext);

                services.AddTestAuthentication();
                services.AddScoped(_ => _user);

                // adds the Sqlite version of the dbcontext for tests
                services.AddDbContext <AuthzContext>(options =>
                {
                    options
                    .UseSqlite(_connection)
                    .EnableSensitiveDataLogging()
                    .EnableDetailedErrors();

                    var fac = LoggerFactory.Create(b => _ = b.AddDebug());
                    options.UseLoggerFactory(fac);
                });

                // Build the service provider.
                var sp             = services.BuildServiceProvider();
                using var scope    = sp.CreateScope();
                var scopedServices = scope.ServiceProvider;
                var db             = scopedServices.GetRequiredService <AuthzContext>();

                // Ensure the db is created.
                db.Database.MigrateAsync();
            })
            .ConfigureLogging(builder =>
            {
                builder.AddDebug();
                builder.SetMinimumLevel(LogLevel.Information);
            });
        }