Skip to content

Commit cdbb3db

Browse files
committed
Merge branch 'feature/testcontainers'
2 parents 0a11fe0 + b5ee749 commit cdbb3db

36 files changed

+316
-205
lines changed

.github/workflows/main.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: CI
2+
3+
on:
4+
push
5+
6+
jobs:
7+
build:
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
12+
- name: install .NET Core 6/7 SDK
13+
uses: actions/setup-dotnet@v2
14+
with:
15+
dotnet-version: |
16+
6.0.x
17+
7.0.x
18+
19+
- name: checkout repository
20+
uses: actions/checkout@v2
21+
22+
- name: dotnet restore
23+
run: dotnet restore
24+
25+
- name: build
26+
run: dotnet build --configuration Release --no-restore
27+
28+
- name: test
29+
run: dotnet test --configuration Release --no-build
30+
31+
- name: test results
32+
uses: EnricoMi/publish-unit-test-result-action@v2
33+
id: test-results
34+
if: always()
35+
with:
36+
check_name: tests results
37+
trx_files: "**/test-results/**/*.trx"

Directory.Build.props

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
<Nullable>enable</Nullable>
1818
<NoWarn>$(NoWarn);CA1303;MSB3884;</NoWarn>
1919
<ImplicitUsings>enable</ImplicitUsings>
20+
21+
<VSTestLogger>trx%3bLogFileName=$(MSBuildProjectName).trx</VSTestLogger>
22+
<VSTestResultsDirectory>$(MSBuildThisFileDirectory)test-results/$(TargetFramework)</VSTestResultsDirectory>
2023
</PropertyGroup>
2124

2225
<ItemGroup>

Thinktecture.EntityFrameworkCore.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ ProjectSection(SolutionItems) = preProject
2525
Directory.Build.props = Directory.Build.props
2626
.gitignore = .gitignore
2727
icon.png = icon.png
28+
.github\workflows\main.yml = .github\workflows\main.yml
2829
EndProjectSection
2930
EndProject
3031
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Thinktecture.EntityFrameworkCore.SqlServer.Testing", "src\Thinktecture.EntityFrameworkCore.SqlServer.Testing\Thinktecture.EntityFrameworkCore.SqlServer.Testing.csproj", "{4A68E5B4-B0C9-4076-875A-C88AFAC5EB5F}"

tests/Thinktecture.EntityFrameworkCore.SqlServer.Tests/EntityFrameworkCore/BulkOperations/SqlServerBulkOperationExecutorTests/BulkInsertAsync.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using Microsoft.Data.SqlClient;
22
using Microsoft.EntityFrameworkCore.Infrastructure;
33
using Thinktecture.EntityFrameworkCore.TempTables;
4-
using Thinktecture.EntityFrameworkCore.Testing;
54
using Thinktecture.TestDatabaseContext;
65

76
namespace Thinktecture.EntityFrameworkCore.BulkOperations.SqlServerBulkOperationExecutorTests;
@@ -13,8 +12,8 @@ public class BulkInsertAsync : IntegrationTestsBase
1312

1413
private SqlServerBulkOperationExecutor SUT => _sut ??= ActDbContext.GetService<SqlServerBulkOperationExecutor>();
1514

16-
public BulkInsertAsync(ITestOutputHelper testOutputHelper)
17-
: base(testOutputHelper, ITestIsolationOptions.SharedTablesAmbientTransaction)
15+
public BulkInsertAsync(ITestOutputHelper testOutputHelper, SqlServerContainerFixture sqlServerContainerFixture)
16+
: base(testOutputHelper, sqlServerContainerFixture)
1817
{
1918
}
2019

tests/Thinktecture.EntityFrameworkCore.SqlServer.Tests/EntityFrameworkCore/BulkOperations/SqlServerBulkOperationExecutorTests/BulkInsertOrUpdateAsync.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using Microsoft.Data.SqlClient;
22
using Microsoft.EntityFrameworkCore.Infrastructure;
3-
using Thinktecture.EntityFrameworkCore.Testing;
43
using Thinktecture.TestDatabaseContext;
54

65
namespace Thinktecture.EntityFrameworkCore.BulkOperations.SqlServerBulkOperationExecutorTests;
@@ -12,8 +11,8 @@ public class BulkInsertOrUpdateAsync : IntegrationTestsBase
1211

1312
private SqlServerBulkOperationExecutor SUT => _sut ??= ActDbContext.GetService<SqlServerBulkOperationExecutor>();
1413

15-
public BulkInsertOrUpdateAsync(ITestOutputHelper testOutputHelper)
16-
: base(testOutputHelper, ITestIsolationOptions.SharedTablesAmbientTransaction)
14+
public BulkInsertOrUpdateAsync(ITestOutputHelper testOutputHelper, SqlServerContainerFixture sqlServerContainerFixture)
15+
: base(testOutputHelper, sqlServerContainerFixture)
1716
{
1817
}
1918

tests/Thinktecture.EntityFrameworkCore.SqlServer.Tests/EntityFrameworkCore/BulkOperations/SqlServerBulkOperationExecutorTests/BulkUpdateAsync.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using Microsoft.EntityFrameworkCore.Infrastructure;
2-
using Thinktecture.EntityFrameworkCore.Testing;
32
using Thinktecture.TestDatabaseContext;
43

54
// ReSharper disable InconsistentNaming
@@ -13,8 +12,8 @@ public class BulkUpdateAsync : IntegrationTestsBase
1312

1413
private SqlServerBulkOperationExecutor SUT => _sut ??= ActDbContext.GetService<SqlServerBulkOperationExecutor>();
1514

16-
public BulkUpdateAsync(ITestOutputHelper testOutputHelper)
17-
: base(testOutputHelper, ITestIsolationOptions.SharedTablesAmbientTransaction)
15+
public BulkUpdateAsync(ITestOutputHelper testOutputHelper, SqlServerContainerFixture sqlServerContainerFixture)
16+
: base(testOutputHelper, sqlServerContainerFixture)
1817
{
1918
}
2019

tests/Thinktecture.EntityFrameworkCore.SqlServer.Tests/EntityFrameworkCore/BulkOperations/SqlServerBulkOperationExecutorTests/TruncateTableAsync.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using Microsoft.EntityFrameworkCore.Infrastructure;
2-
using Thinktecture.EntityFrameworkCore.Testing;
32
using Thinktecture.TestDatabaseContext;
43

54
namespace Thinktecture.EntityFrameworkCore.BulkOperations.SqlServerBulkOperationExecutorTests;
@@ -10,8 +9,8 @@ public class TruncateTableAsync : IntegrationTestsBase
109
private SqlServerBulkOperationExecutor? _sut;
1110
private SqlServerBulkOperationExecutor SUT => _sut ??= ActDbContext.GetService<SqlServerBulkOperationExecutor>();
1211

13-
public TruncateTableAsync(ITestOutputHelper testOutputHelper)
14-
: base(testOutputHelper, ITestIsolationOptions.SharedTablesAmbientTransaction)
12+
public TruncateTableAsync(ITestOutputHelper testOutputHelper, SqlServerContainerFixture sqlServerContainerFixture)
13+
: base(testOutputHelper, sqlServerContainerFixture)
1514
{
1615
}
1716

tests/Thinktecture.EntityFrameworkCore.SqlServer.Tests/EntityFrameworkCore/Storage/NestedTransactionTests.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Transactions;
33
using Microsoft.EntityFrameworkCore.Infrastructure;
44
using Microsoft.EntityFrameworkCore.Storage;
5-
using Thinktecture.EntityFrameworkCore.Testing;
65
using Thinktecture.TestDatabaseContext;
76
using IsolationLevel = System.Data.IsolationLevel;
87

@@ -12,8 +11,8 @@ public class NestedTransactionTests : IntegrationTestsBase
1211
{
1312
protected NestedRelationalTransactionManager SUT => (NestedRelationalTransactionManager)ActDbContext.GetService<IDbContextTransactionManager>();
1413

15-
public NestedTransactionTests(ITestOutputHelper testOutputHelper)
16-
: base(testOutputHelper, ITestIsolationOptions.CleanupOnly)
14+
public NestedTransactionTests(ITestOutputHelper testOutputHelper, SqlServerContainerFixture sqlServerContainerFixture)
15+
: base(testOutputHelper, sqlServerContainerFixture)
1716
{
1817
TestCtxProviderBuilder.UseSharedTablesIsolationLevel(IsolationLevel.Serializable);
1918
}

tests/Thinktecture.EntityFrameworkCore.SqlServer.Tests/EntityFrameworkCore/TempTables/SqlServerTempTableCreatorTests/CreatePrimaryKeyAsync.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System.Data;
22
using Microsoft.Data.SqlClient;
33
using Microsoft.EntityFrameworkCore.Infrastructure;
4-
using Thinktecture.EntityFrameworkCore.Testing;
54
using Thinktecture.TestDatabaseContext;
65

76
namespace Thinktecture.EntityFrameworkCore.TempTables.SqlServerTempTableCreatorTests;
@@ -12,8 +11,8 @@ public class CreatePrimaryKeyAsync : IntegrationTestsBase
1211
private SqlServerTempTableCreator? _sut;
1312
private SqlServerTempTableCreator SUT => _sut ??= (SqlServerTempTableCreator)ActDbContext.GetService<ITempTableCreator>();
1413

15-
public CreatePrimaryKeyAsync(ITestOutputHelper testOutputHelper)
16-
: base(testOutputHelper, ITestIsolationOptions.SharedTablesAmbientTransaction)
14+
public CreatePrimaryKeyAsync(ITestOutputHelper testOutputHelper, SqlServerContainerFixture sqlServerContainerFixture)
15+
: base(testOutputHelper, sqlServerContainerFixture)
1716
{
1817
TestCtxProviderBuilder.UseSharedTablesIsolationLevel(IsolationLevel.Serializable);
1918
}

tests/Thinktecture.EntityFrameworkCore.SqlServer.Tests/EntityFrameworkCore/TempTables/SqlServerTempTableCreatorTests/CreateTempTableAsync.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using Microsoft.EntityFrameworkCore.Infrastructure;
55
using Microsoft.EntityFrameworkCore.Storage;
66
using Thinktecture.EntityFrameworkCore.BulkOperations;
7-
using Thinktecture.EntityFrameworkCore.Testing;
87
using Thinktecture.TestDatabaseContext;
98

109
namespace Thinktecture.EntityFrameworkCore.TempTables.SqlServerTempTableCreatorTests;
@@ -13,13 +12,15 @@ namespace Thinktecture.EntityFrameworkCore.TempTables.SqlServerTempTableCreatorT
1312
public class CreateTempTableAsync : IntegrationTestsBase
1413
{
1514
private readonly SqlServerTempTableCreationOptions _optionsWithNonUniqueName;
15+
private readonly string _connectionString;
1616

1717
private SqlServerTempTableCreator? _sut;
1818
private SqlServerTempTableCreator SUT => _sut ??= (SqlServerTempTableCreator)ActDbContext.GetService<ITempTableCreator>();
1919

20-
public CreateTempTableAsync(ITestOutputHelper testOutputHelper)
21-
: base(testOutputHelper, ITestIsolationOptions.SharedTablesAmbientTransaction)
20+
public CreateTempTableAsync(ITestOutputHelper testOutputHelper, SqlServerContainerFixture sqlServerContainerFixture)
21+
: base(testOutputHelper, sqlServerContainerFixture)
2222
{
23+
_connectionString = sqlServerContainerFixture.ConnectionString;
2324
_optionsWithNonUniqueName = new SqlServerTempTableCreationOptions { TableNameProvider = DefaultTempTableNameProvider.Instance, PrimaryKeyCreation = IPrimaryKeyPropertiesProvider.None };
2425
}
2526

@@ -690,9 +691,9 @@ public async Task Should_honor_collation()
690691
ValidateColumn(columns[2], nameof(TestEntityWithCollation.ColumnWithoutCollation), "nvarchar", false, collation: databaseCollation);
691692
}
692693

693-
private static DbConnection CreateConnection()
694+
private DbConnection CreateConnection()
694695
{
695-
return new SqlConnection(TestContext.Instance.ConnectionString);
696+
return new SqlConnection(_connectionString);
696697
}
697698

698699
private DbContextOptions<TestDbContext> CreateOptions(DbConnection connection)

0 commit comments

Comments
 (0)