diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index adc6043d..4ca1164c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,8 +14,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-22.04, windows-2022, macos-12] - dotnet-version: [6.0.x, 7.0.x] + os: [ ubuntu-22.04, windows-2022, macos-12 ] + dotnet-version: [ 6.0.x, 7.0.x ] include: - dotnet-version: 6.0.x dotnet-target-framework: net6.0 @@ -30,17 +30,58 @@ jobs: with: dotnet-version: ${{ matrix.dotnet-version }} - name: Test - run: | + run: | cd src dotnet test --filter "Category=Unit" -f ${{ matrix.dotnet-target-framework }} - - integration-tests: + + ado-net-tests: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: ydb-version: [ 'trunk' ] - dotnet-version: [6.0.x, 7.0.x] + dotnet-version: [ 6.0.x, 7.0.x ] + include: + - dotnet-version: 6.0.x + dotnet-target-framework: net6.0 + - dotnet-version: 7.0.x + dotnet-target-framework: net7.0 + services: + ydb: + image: cr.yandex/yc/yandex-docker-local-ydb:${{ matrix.ydb-version }} + ports: + - 2135:2135 + - 2136:2136 + - 8765:8765 + env: + YDB_LOCAL_SURVIVE_RESTART: true + YDB_USE_IN_MEMORY_PDISKS: true + options: '--name ydb-local -h localhost' + env: + OS: ubuntu-22.04 + YDB_VERSION: ${{ matrix.ydb-version }} + YDB_CONNECTION_STRING: grpc://localhost:2136/local + YDB_CONNECTION_STRING_SECURE: grpcs://localhost:2135/local + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Install Dotnet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ matrix.dotnet-version }} + - name: Run ADO.NET tests + run: | + docker cp ydb-local:/ydb_certs/ca.pem ~/ + cd src + dotnet test --filter "(FullyQualifiedName~Ado) | (FullyQualifiedName~Dapper)" -l "console;verbosity=normal" + + core-integration-tests: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + ydb-version: [ 'trunk' ] + dotnet-version: [ 6.0.x, 7.0.x ] include: - dotnet-version: 6.0.x dotnet-target-framework: net6.0 diff --git a/src/Ydb.Sdk/tests/Ado/Internal/SqlParserTests.cs b/src/Ydb.Sdk/tests/Ado/Internal/SqlParserTests.cs index 5df7a339..ca96aff6 100644 --- a/src/Ydb.Sdk/tests/Ado/Internal/SqlParserTests.cs +++ b/src/Ydb.Sdk/tests/Ado/Internal/SqlParserTests.cs @@ -3,7 +3,6 @@ namespace Ydb.Sdk.Tests.Ado.Internal; -[Trait("Category", "Unit")] public class SqlParserTests { [Fact] diff --git a/src/Ydb.Sdk/tests/Ado/YdbAdoUserPasswordTests.cs b/src/Ydb.Sdk/tests/Ado/YdbAdoUserPasswordTests.cs index 1b21b203..6231a70c 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbAdoUserPasswordTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbAdoUserPasswordTests.cs @@ -3,7 +3,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Integration")] public class YdbAdoUserPasswordTests { [Fact] diff --git a/src/Ydb.Sdk/tests/Ado/YdbCommandTests.cs b/src/Ydb.Sdk/tests/Ado/YdbCommandTests.cs index 762a0843..316c8450 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbCommandTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbCommandTests.cs @@ -6,7 +6,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Integration")] public class YdbCommandTests { [Theory] diff --git a/src/Ydb.Sdk/tests/Ado/YdbConnectionStringBuilderTests.cs b/src/Ydb.Sdk/tests/Ado/YdbConnectionStringBuilderTests.cs index f9ed6fb3..f9f94a61 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbConnectionStringBuilderTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbConnectionStringBuilderTests.cs @@ -3,7 +3,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Unit")] public class YdbConnectionStringBuilderTests { [Fact] diff --git a/src/Ydb.Sdk/tests/Ado/YdbConnectionTests.cs b/src/Ydb.Sdk/tests/Ado/YdbConnectionTests.cs index 5339318e..16f6d6ec 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbConnectionTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbConnectionTests.cs @@ -5,7 +5,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Integration")] [Collection("YdbConnectionTests")] public class YdbConnectionTests { diff --git a/src/Ydb.Sdk/tests/Ado/YdbDataReaderTests.cs b/src/Ydb.Sdk/tests/Ado/YdbDataReaderTests.cs index 647bfe83..644b385e 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbDataReaderTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbDataReaderTests.cs @@ -5,7 +5,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Unit")] public class YdbDataReaderTests { [Fact] diff --git a/src/Ydb.Sdk/tests/Ado/YdbDataSourceTests.cs b/src/Ydb.Sdk/tests/Ado/YdbDataSourceTests.cs index 3f11fb45..ac83a4f6 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbDataSourceTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbDataSourceTests.cs @@ -4,7 +4,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Integration")] public class YdbDataSourceTests { private const int SelectedCount = 100; diff --git a/src/Ydb.Sdk/tests/Ado/YdbExceptionTests.cs b/src/Ydb.Sdk/tests/Ado/YdbExceptionTests.cs index dff8f04c..ff6486fb 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbExceptionTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbExceptionTests.cs @@ -4,7 +4,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Integration")] public class YdbExceptionTests { [Fact] diff --git a/src/Ydb.Sdk/tests/Ado/YdbParameterCollectionTests.cs b/src/Ydb.Sdk/tests/Ado/YdbParameterCollectionTests.cs index 0063362e..74a5e963 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbParameterCollectionTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbParameterCollectionTests.cs @@ -4,7 +4,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Unit")] public class YdbParameterCollectionTests { private readonly YdbParameterCollection _ydbParameterCollection; diff --git a/src/Ydb.Sdk/tests/Ado/YdbParameterTests.cs b/src/Ydb.Sdk/tests/Ado/YdbParameterTests.cs index 7a12f1b7..7672dd2d 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbParameterTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbParameterTests.cs @@ -7,7 +7,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Unit")] public class YdbParameterTests { [Fact] diff --git a/src/Ydb.Sdk/tests/Ado/YdbTransactionTests.cs b/src/Ydb.Sdk/tests/Ado/YdbTransactionTests.cs index 08aed205..f39f1c72 100644 --- a/src/Ydb.Sdk/tests/Ado/YdbTransactionTests.cs +++ b/src/Ydb.Sdk/tests/Ado/YdbTransactionTests.cs @@ -5,7 +5,6 @@ namespace Ydb.Sdk.Tests.Ado; -[Trait("Category", "Integration")] public class YdbTransactionTests : IAsyncLifetime { private static readonly TemporaryTables Tables = new();