Skip to content

Commit

Permalink
Merge pull request #28 from Barsonax/feature/ContainerReuse
Browse files Browse the repository at this point in the history
Prepare for container reuse
  • Loading branch information
Barsonax authored Apr 5, 2024
2 parents 2340e67 + e185e34 commit bd923eb
Show file tree
Hide file tree
Showing 34 changed files with 145 additions and 133 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,20 @@ namespace AngularAuth.Backend.Sut;

public class BloggingContext : DbContext
{
private readonly string? _connectionString;
public DbSet<Blog> Blogs => Set<Blog>();
public DbSet<Post> Posts => Set<Post>();

public BloggingContext()
public BloggingContext() { }

public BloggingContext(IConfiguration configuration)
{
_connectionString = configuration["DbConnectionString"];
}

public BloggingContext(DbContextOptions<BloggingContext> context) : base(context)
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql(_connectionString);
}
}

Expand Down
5 changes: 1 addition & 4 deletions Examples/AngularAuth/AngularAuth.Backend.Sut/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@
WebRootPath = "wwwroot/browser"
});

builder.Services.AddDbContext<BloggingContext>(options =>
{
options.UseNpgsql(builder.Configuration["DbConnectionString"]);
});
builder.Services.AddDbContext<BloggingContext>();

builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,7 @@ protected override IHost CreateHost(IHostBuilder builder)
builder.UseEnvironment(Environments.Production);
builder.ConfigureHostConfiguration(config =>
{
config.AddInMemoryCollection(new Dictionary<string, string?>
{
{ "DbConnectionString", _pooledDatabase.ConnectionString }
});
config.AddInMemoryCollection(new Dictionary<string, string?> { { "DbConnectionString", _pooledDatabase.ConnectionString } });
});

builder.ConfigureLogging(loggingBuilder =>
Expand Down Expand Up @@ -90,7 +87,7 @@ protected override IHost CreateHost(IHostBuilder builder)
// enough" for the address it is listening on to be available.
_host = builder.Build();
_host.Start();
_pooledDatabase.EnsureInitialized(_host);
_pooledDatabase.EnsureDatabaseIsReadyForTest(_host);

// Extract the selected dynamic port out of the Kestrel server
// and assign it onto the client options for convenience so it
Expand All @@ -111,12 +108,6 @@ protected override IHost CreateHost(IHostBuilder builder)
return testHost;
}

public override async ValueTask DisposeAsync()
{
await base.DisposeAsync();
await _pooledDatabase.DisposeAsync();
}

protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
Expand All @@ -128,6 +119,7 @@ protected override void Dispose(bool disposing)
_host?.Dispose();
}

_pooledDatabase.Dispose();
_disposed = true;
}
}
Expand Down
8 changes: 4 additions & 4 deletions Examples/Api/MsSql/Api.MsSql.Nunit/TestSetup/ApiMsSqlSut.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ protected override IHost CreateHost(IHostBuilder builder)
});

var app = base.CreateHost(builder);
_pooledDatabase.EnsureInitialized(app);
_pooledDatabase.EnsureDatabaseIsReadyForTest(app);

return app;
}

public override async ValueTask DisposeAsync()
protected override void Dispose(bool disposing)
{
await base.DisposeAsync();
await _pooledDatabase.DisposeAsync();
base.Dispose(disposing);
_pooledDatabase.Dispose();
}

public void SeedData(Action<BloggingContext> seedAction)
Expand Down
11 changes: 7 additions & 4 deletions Examples/Api/MsSql/Api.MsSql.Sut/BloggingContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@ namespace Api.MsSql.Sut;

public class BloggingContext : DbContext
{
private readonly string? _connectionString;
public DbSet<Blog> Blogs => Set<Blog>();
public DbSet<Post> Posts => Set<Post>();

public BloggingContext()
{
public BloggingContext() { }

public BloggingContext(IConfiguration configuration)
{
_connectionString = configuration["DbConnectionString"];
}

public BloggingContext(DbContextOptions<BloggingContext> context) : base(context)
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{

optionsBuilder.UseSqlServer(_connectionString);
}
}

Expand Down
5 changes: 1 addition & 4 deletions Examples/Api/MsSql/Api.MsSql.Sut/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddDbContext<BloggingContext>(options =>
{
options.UseSqlServer(builder.Configuration["DbConnectionString"]);
});
builder.Services.AddDbContext<BloggingContext>();

var app = builder.Build();

Expand Down
8 changes: 4 additions & 4 deletions Examples/Api/MsSql/Api.MsSql.Xunit/TestSetup/ApiMsSqlSut.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ protected override IHost CreateHost(IHostBuilder builder)
});

var app = base.CreateHost(builder);
_pooledDatabase.EnsureInitialized(app);
_pooledDatabase.EnsureDatabaseIsReadyForTest(app);

return app;
}

public override async ValueTask DisposeAsync()
protected override void Dispose(bool disposing)
{
await base.DisposeAsync();
await _pooledDatabase.DisposeAsync();
base.Dispose(disposing);
_pooledDatabase.Dispose();
}

public void SeedData(Action<BloggingContext> seedAction)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ protected override IHost CreateHost(IHostBuilder builder)
});

var app = base.CreateHost(builder);
_pooledDatabase.EnsureInitialized(app);
_pooledDatabase.EnsureDatabaseIsReadyForTest(app);

return app;
}

public override async ValueTask DisposeAsync()
protected override void Dispose(bool disposing)
{
await base.DisposeAsync();
await _pooledDatabase.DisposeAsync();
base.Dispose(disposing);
_pooledDatabase.Dispose();
}

public void SeedData(Action<BloggingContext> seedAction)
Expand Down
9 changes: 7 additions & 2 deletions Examples/Api/PostgreSql/Api.PostgreSql.Sut/BloggingContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,20 @@ namespace Api.PostgreSql.Sut;

public class BloggingContext : DbContext
{
private readonly string? _connectionString;
public DbSet<Blog> Blogs => Set<Blog>();
public DbSet<Post> Posts => Set<Post>();

public BloggingContext()
public BloggingContext() { }

public BloggingContext(IConfiguration configuration)
{
_connectionString = configuration["DbConnectionString"];
}

public BloggingContext(DbContextOptions<BloggingContext> context) : base(context)
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql(_connectionString);
}
}

Expand Down
5 changes: 1 addition & 4 deletions Examples/Api/PostgreSql/Api.PostgreSql.Sut/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddDbContext<BloggingContext>(options =>
{
options.UseNpgsql(builder.Configuration["DbConnectionString"]);
});
builder.Services.AddDbContext<BloggingContext>();

var app = builder.Build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ protected override IHost CreateHost(IHostBuilder builder)
});

var app = base.CreateHost(builder);
_pooledDatabase.EnsureInitialized(app);
_pooledDatabase.EnsureDatabaseIsReadyForTest(app);

return app;
}

public override async ValueTask DisposeAsync()
protected override void Dispose(bool disposing)
{
await base.DisposeAsync();
await _pooledDatabase.DisposeAsync();
base.Dispose(disposing);
_pooledDatabase.Dispose();
}

public void SeedData(Action<BloggingContext> seedAction)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,15 @@ protected override IHost CreateHost(IHostBuilder builder)
});

var app = base.CreateHost(builder);
_pooledDatabase.EnsureInitialized(app);
_pooledDatabase.EnsureDatabaseIsReadyForTest(app);

return app;
}

public override async ValueTask DisposeAsync()
protected override void Dispose(bool disposing)
{
await base.DisposeAsync();
await _pooledDatabase.DisposeAsync();
base.Dispose(disposing);
_pooledDatabase.Dispose();
}

public void SeedData(Action<BloggingContext> seedAction)
Expand Down
9 changes: 7 additions & 2 deletions Examples/ApiJwtAuth/ApiJwtAuth.Sut/BloggingContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,20 @@ namespace ApiJwtAuth.Sut;

public class BloggingContext : DbContext
{
private readonly string? _connectionString;
public DbSet<Blog> Blogs => Set<Blog>();
public DbSet<Post> Posts => Set<Post>();

public BloggingContext()
public BloggingContext() { }

public BloggingContext(IConfiguration configuration)
{
_connectionString = configuration["DbConnectionString"];
}

public BloggingContext(DbContextOptions<BloggingContext> context) : base(context)
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql(_connectionString);
}
}

Expand Down
5 changes: 1 addition & 4 deletions Examples/ApiJwtAuth/ApiJwtAuth.Sut/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@

builder.Services.AddAuthorization();

builder.Services.AddDbContext<BloggingContext>(options =>
{
options.UseNpgsql(builder.Configuration["DbConnectionString"]);
});
builder.Services.AddDbContext<BloggingContext>();

var app = builder.Build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ private sealed class MigrationTestCases : IEnumerable
{
public IEnumerator GetEnumerator()
{
using DbContext context = new BloggingContext(new DbContextOptionsBuilder<BloggingContext>().UseSqlServer().Options);
using DbContext context = new BloggingContext();
var migrations = context.GenerateMigrationScripts();

foreach (var migration in migrations)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@ namespace Migrations.MsSql.EntityFrameworkCore.Sut;

public class BloggingContext : DbContext
{
private readonly string? _connectionString;
public DbSet<Blog> Blogs => Set<Blog>();
public DbSet<Post> Posts => Set<Post>();

public BloggingContext()
{
public BloggingContext() { }

public BloggingContext(IConfiguration configuration)
{
_connectionString = configuration["DbConnectionString"];
}

public BloggingContext(DbContextOptions<BloggingContext> context) : base(context)
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{

optionsBuilder.UseSqlServer(_connectionString);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddDbContext<BloggingContext>(options =>
{
options.UseSqlServer(builder.Configuration["DbConnectionString"]);
});
builder.Services.AddDbContext<BloggingContext>();

var app = builder.Build();

Expand Down
10 changes: 2 additions & 8 deletions Examples/Razor/Razor.Playwright/TestSetup/RazorSut.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ protected override IHost CreateHost(IHostBuilder builder)
// enough" for the address it is listening on to be available.
_host = builder.Build();
_host.Start();
_pooledDatabase.EnsureInitialized(_host);
_pooledDatabase.EnsureDatabaseIsReadyForTest(_host);

// Extract the selected dynamic port out of the Kestrel server
// and assign it onto the client options for convenience so it
Expand All @@ -107,12 +107,6 @@ protected override IHost CreateHost(IHostBuilder builder)
return testHost;
}

public override async ValueTask DisposeAsync()
{
await base.DisposeAsync();
await _pooledDatabase.DisposeAsync();
}

protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
Expand All @@ -123,7 +117,7 @@ protected override void Dispose(bool disposing)
{
_host?.Dispose();
}

_pooledDatabase.Dispose();
_disposed = true;
}
}
Expand Down
9 changes: 7 additions & 2 deletions Examples/Razor/Razor.Sut/BloggingContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,20 @@ namespace Razor.PostgreSql.Sut;

public class BloggingContext : DbContext
{
private readonly string? _connectionString;
public DbSet<Blog> Blogs => Set<Blog>();
public DbSet<Post> Posts => Set<Post>();

public BloggingContext()
public BloggingContext() { }

public BloggingContext(IConfiguration configuration)
{
_connectionString = configuration["DbConnectionString"];
}

public BloggingContext(DbContextOptions<BloggingContext> context) : base(context)
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql(_connectionString);
}
}

Expand Down
5 changes: 1 addition & 4 deletions Examples/Razor/Razor.Sut/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddDbContext<BloggingContext>(options =>
{
options.UseNpgsql(builder.Configuration["DbConnectionString"]);
});
builder.Services.AddDbContext<BloggingContext>();

builder.Services.AddRazorPages();

Expand Down
Loading

0 comments on commit bd923eb

Please sign in to comment.