Skip to content

Commit d346c69

Browse files
committed
Test cleanup
1 parent 49658d8 commit d346c69

File tree

8 files changed

+59
-76
lines changed

8 files changed

+59
-76
lines changed

test/EFCore.Relational.Specification.Tests/TestModels/StoredProcedureUpdateModel/StoredProcedureUpdateContext.cs

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -60,32 +60,4 @@ public DbSet<Entity> WithInputOutputParameterOnNonConcurrencyToken
6060
public DbSet<TptMixedChild> TptMixedChild { get; set; }
6161
public DbSet<TpcParent> TpcParent { get; set; }
6262
public DbSet<TpcChild> TpcChild { get; set; }
63-
64-
public static void CleanData(StoredProcedureUpdateContext context)
65-
{
66-
context.WithOutputParameter.RemoveRange(context.WithOutputParameter);
67-
context.WithResultColumn.RemoveRange(context.WithResultColumn);
68-
context.WithTwoResultColumns.RemoveRange(context.WithTwoResultColumns);
69-
context.WithOutputParameterAndResultColumn.RemoveRange(context.WithOutputParameterAndResultColumn);
70-
context.WithOutputParameterAndResultColumnAndResultValue.RemoveRange(context.WithOutputParameterAndResultColumnAndResultValue);
71-
context.WithTwoOutputParameters.RemoveRange(context.WithTwoOutputParameters);
72-
context.WithRowsAffectedParameter.RemoveRange(context.WithRowsAffectedParameter);
73-
context.WithRowsAffectedResultColumn.RemoveRange(context.WithRowsAffectedResultColumn);
74-
context.WithRowsAffectedReturnValue.RemoveRange(context.WithRowsAffectedReturnValue);
75-
context.WithStoreGeneratedConcurrencyTokenAsInoutParameter.RemoveRange(context.WithStoreGeneratedConcurrencyTokenAsInoutParameter);
76-
context.WithStoreGeneratedConcurrencyTokenAsTwoParameters.RemoveRange(context.WithStoreGeneratedConcurrencyTokenAsTwoParameters);
77-
context.WithUserManagedConcurrencyToken.RemoveRange(context.WithUserManagedConcurrencyToken);
78-
context.WithOriginalAndCurrentValueOnNonConcurrencyToken.RemoveRange(context.WithOriginalAndCurrentValueOnNonConcurrencyToken);
79-
context.WithInputOutputParameterOnNonConcurrencyToken.RemoveRange(context.WithInputOutputParameterOnNonConcurrencyToken);
80-
context.TphParent.RemoveRange(context.TphParent);
81-
context.TphChild.RemoveRange(context.TphChild);
82-
context.TptParent.RemoveRange(context.TptParent);
83-
context.TptChild.RemoveRange(context.TptChild);
84-
context.TptMixedParent.RemoveRange(context.TptMixedParent);
85-
context.TptMixedChild.RemoveRange(context.TptMixedChild);
86-
context.TpcParent.RemoveRange(context.TpcParent);
87-
context.TpcChild.RemoveRange(context.TpcChild);
88-
89-
context.SaveChanges();
90-
}
9163
}

test/EFCore.Relational.Specification.Tests/Update/StoreValueGenerationFixtureBase.cs

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,26 @@ protected override void Seed(StoreValueGenerationContext context)
7272
context.SaveChanges();
7373
}
7474

75-
protected override void Clean(DbContext context)
75+
public void Seed()
7676
{
77-
var storeValueGenerationContext = CreateContext();
77+
using var context = CreateContext();
78+
Seed(context);
79+
}
80+
81+
public virtual void CleanData()
82+
{
83+
using var context = CreateContext();
7884

79-
storeValueGenerationContext.WithSomeDatabaseGenerated.RemoveRange(storeValueGenerationContext.WithSomeDatabaseGenerated);
80-
storeValueGenerationContext.WithSomeDatabaseGenerated2.RemoveRange(storeValueGenerationContext.WithSomeDatabaseGenerated2);
85+
context.WithSomeDatabaseGenerated.RemoveRange(context.WithSomeDatabaseGenerated);
86+
context.WithSomeDatabaseGenerated2.RemoveRange(context.WithSomeDatabaseGenerated2);
8187

82-
storeValueGenerationContext.WithNoDatabaseGenerated.RemoveRange(storeValueGenerationContext.WithNoDatabaseGenerated);
83-
storeValueGenerationContext.WithNoDatabaseGenerated2.RemoveRange(storeValueGenerationContext.WithNoDatabaseGenerated2);
88+
context.WithNoDatabaseGenerated.RemoveRange(context.WithNoDatabaseGenerated);
89+
context.WithNoDatabaseGenerated2.RemoveRange(context.WithNoDatabaseGenerated2);
8490

85-
storeValueGenerationContext.WithAllDatabaseGenerated.RemoveRange(storeValueGenerationContext.WithAllDatabaseGenerated);
86-
storeValueGenerationContext.WithAllDatabaseGenerated2.RemoveRange(storeValueGenerationContext.WithAllDatabaseGenerated2);
91+
context.WithAllDatabaseGenerated.RemoveRange(context.WithAllDatabaseGenerated);
92+
context.WithAllDatabaseGenerated2.RemoveRange(context.WithAllDatabaseGenerated2);
8793

88-
storeValueGenerationContext.SaveChanges();
94+
context.SaveChanges();
8995
}
9096

9197
protected override bool ShouldLogCategory(string logCategory)

test/EFCore.Relational.Specification.Tests/Update/StoreValueGenerationTestBase.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ protected StoreValueGenerationTestBase(TFixture fixture)
1414
{
1515
Fixture = fixture;
1616

17-
fixture.Reseed();
17+
fixture.CleanData();
18+
fixture.Seed();
1819

1920
ClearLog();
2021
}

test/EFCore.Relational.Specification.Tests/Update/StoredProcedureUpdateFixtureBase.cs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,34 @@ protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext con
249249
protected abstract void ConfigureStoreGeneratedConcurrencyToken(EntityTypeBuilder entityTypeBuilder, string propertyName);
250250

251251
public virtual void CleanData()
252-
=> StoredProcedureUpdateContext.CleanData(CreateContext());
252+
{
253+
using var context = CreateContext();
254+
255+
context.WithOutputParameter.RemoveRange(context.WithOutputParameter);
256+
context.WithResultColumn.RemoveRange(context.WithResultColumn);
257+
context.WithTwoResultColumns.RemoveRange(context.WithTwoResultColumns);
258+
context.WithOutputParameterAndResultColumn.RemoveRange(context.WithOutputParameterAndResultColumn);
259+
context.WithOutputParameterAndResultColumnAndResultValue.RemoveRange(context.WithOutputParameterAndResultColumnAndResultValue);
260+
context.WithTwoOutputParameters.RemoveRange(context.WithTwoOutputParameters);
261+
context.WithRowsAffectedParameter.RemoveRange(context.WithRowsAffectedParameter);
262+
context.WithRowsAffectedResultColumn.RemoveRange(context.WithRowsAffectedResultColumn);
263+
context.WithRowsAffectedReturnValue.RemoveRange(context.WithRowsAffectedReturnValue);
264+
context.WithStoreGeneratedConcurrencyTokenAsInoutParameter.RemoveRange(context.WithStoreGeneratedConcurrencyTokenAsInoutParameter);
265+
context.WithStoreGeneratedConcurrencyTokenAsTwoParameters.RemoveRange(context.WithStoreGeneratedConcurrencyTokenAsTwoParameters);
266+
context.WithUserManagedConcurrencyToken.RemoveRange(context.WithUserManagedConcurrencyToken);
267+
context.WithOriginalAndCurrentValueOnNonConcurrencyToken.RemoveRange(context.WithOriginalAndCurrentValueOnNonConcurrencyToken);
268+
context.WithInputOutputParameterOnNonConcurrencyToken.RemoveRange(context.WithInputOutputParameterOnNonConcurrencyToken);
269+
context.TphParent.RemoveRange(context.TphParent);
270+
context.TphChild.RemoveRange(context.TphChild);
271+
context.TptParent.RemoveRange(context.TptParent);
272+
context.TptChild.RemoveRange(context.TptChild);
273+
context.TptMixedParent.RemoveRange(context.TptMixedParent);
274+
context.TptMixedChild.RemoveRange(context.TptMixedChild);
275+
context.TpcParent.RemoveRange(context.TpcParent);
276+
context.TpcChild.RemoveRange(context.TpcChild);
277+
278+
context.SaveChanges();
279+
}
253280

254281
public TestSqlLoggerFactory TestSqlLoggerFactory
255282
=> (TestSqlLoggerFactory)ListLoggerFactory;

test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceSqlServerTest.cs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -397,13 +397,5 @@ protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext con
397397
.HasDefaultValueSql("NEXT VALUE FOR [Ids]");
398398
}
399399
}
400-
401-
protected override void Clean(DbContext context)
402-
{
403-
base.Clean(context);
404-
405-
// Reset the sequence values since we assert on them
406-
context.Database.ExecuteSqlRaw("ALTER SEQUENCE [Ids] RESTART WITH 1");
407-
}
408400
}
409401
}

test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceTriggerSqlServerTest.cs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -473,20 +473,5 @@ protected override void OnModelCreating(ModelBuilder modelBuilder, DbContext con
473473
.HasDefaultValueSql("NEXT VALUE FOR [Ids]");
474474
}
475475
}
476-
477-
public override void Reseed()
478-
{
479-
using var context = CreateContext();
480-
Clean(context);
481-
Seed(context);
482-
}
483-
484-
protected override void Clean(DbContext context)
485-
{
486-
base.Clean(context);
487-
488-
// Reset the sequence values since we assert on them
489-
context.Database.ExecuteSqlRaw("ALTER SEQUENCE [Ids] RESTART WITH 1");
490-
}
491476
}
492477
}

test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSqlServerFixtureBase.cs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,19 @@ namespace Microsoft.EntityFrameworkCore.Update;
77

88
public abstract class StoreValueGenerationSqlServerFixtureBase : StoreValueGenerationFixtureBase
99
{
10-
private string? _truncateCommand;
10+
private string? _cleanDataSql;
1111

12-
public override void Reseed()
12+
public override void CleanData()
1313
{
1414
using var context = CreateContext();
15-
Clean(context);
16-
Seed(context);
15+
context.Database.ExecuteSqlRaw(GetCleanDataSql());
1716
}
1817

19-
protected override void Clean(DbContext context)
20-
=> context.Database.ExecuteSqlRaw(GetTruncateCommand());
21-
22-
private string GetTruncateCommand()
18+
private string GetCleanDataSql()
2319
{
24-
if (_truncateCommand is not null)
20+
if (_cleanDataSql is not null)
2521
{
26-
return _truncateCommand;
22+
return _cleanDataSql;
2723
}
2824

2925
var context = CreateContext();
@@ -38,6 +34,11 @@ private string GetTruncateCommand()
3834
builder.AppendLine($"TRUNCATE TABLE {table};");
3935
}
4036

41-
return _truncateCommand = builder.ToString();
37+
foreach (var sequence in context.Model.GetSequences().Select(s => helper.DelimitIdentifier(s.Name, s.Schema)))
38+
{
39+
builder.AppendLine($"ALTER SEQUENCE {sequence} RESTART WITH 1;");
40+
}
41+
42+
return _cleanDataSql = builder.ToString();
4243
}
4344
}

test/EFCore.SqlServer.FunctionalTests/Update/StoredProcedureUpdateSqlServerTest.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -358,10 +358,10 @@ protected override void ConfigureStoreGeneratedConcurrencyToken(EntityTypeBuilde
358358
public override void CleanData()
359359
{
360360
using var context = CreateContext();
361-
context.Database.ExecuteSqlRaw(EmptyTablesCommand);
361+
context.Database.ExecuteSqlRaw(CleanDataSql);
362362
}
363363

364-
private const string EmptyTablesCommand = @"
364+
private const string CleanDataSql = @"
365365
-- Regular tables without foreign keys
366366
TRUNCATE TABLE [WithInputOutputParameterOnNonConcurrencyToken];
367367
TRUNCATE TABLE [WithOriginalAndCurrentValueOnNonConcurrencyToken];
@@ -378,7 +378,6 @@ public override void CleanData()
378378
TRUNCATE TABLE [WithTwoOutputParameters];
379379
TRUNCATE TABLE [WithUserManagedConcurrencyToken];
380380
TRUNCATE TABLE [Tph];
381-
TRUNCATE TABLE [Tph];
382381
TRUNCATE TABLE [TpcChild];
383382
TRUNCATE TABLE [TpcParent];
384383

0 commit comments

Comments
 (0)