diff --git a/.gitignore b/.gitignore index 1fd9da6..aaac5ca 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ samples/**/DatabaseProject/**/*.sql !samples/**/DatabaseProject/**/*.sqlproj !samples/**/DatabaseProject/**/*.csproj packages/ + +# CI-generated dependency reports +outdated.txt diff --git a/src/JD.Efcpt.Build.Tasks/JD.Efcpt.Build.Tasks.csproj b/src/JD.Efcpt.Build.Tasks/JD.Efcpt.Build.Tasks.csproj index ac63960..fa37fce 100644 --- a/src/JD.Efcpt.Build.Tasks/JD.Efcpt.Build.Tasks.csproj +++ b/src/JD.Efcpt.Build.Tasks/JD.Efcpt.Build.Tasks.csproj @@ -33,10 +33,10 @@ MSBuild packages: Use ExcludeAssets="runtime" to prevent copying to output. These assemblies are provided by the MSBuild host (Visual Studio/dotnet). --> - - - - + + + + - - - - - + + + + + - + - - + + - - + + + @@ -33,13 +33,12 @@ runtime all - - - - - + + + + + - diff --git a/tests/JD.Efcpt.Build.Tests/MessageLevelHelpersTests.cs b/tests/JD.Efcpt.Build.Tests/MessageLevelHelpersTests.cs index 4dab27b..3d88038 100644 --- a/tests/JD.Efcpt.Build.Tests/MessageLevelHelpersTests.cs +++ b/tests/JD.Efcpt.Build.Tests/MessageLevelHelpersTests.cs @@ -11,7 +11,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("MessageLevelHelpers: parse and validate message severity levels")] [Collection(nameof(AssemblySetup))] -public sealed class MessageLevelHelpersTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class MessageLevelHelpersTests(ITestOutputHelper output) : TinyBddXunitBase(output) { [Scenario("Parse valid level names (case-insensitive)")] [Theory] @@ -95,3 +95,4 @@ await Given($"input with whitespace '{input}'", () => input) .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/MsBuildPropertyHelpersTests.cs b/tests/JD.Efcpt.Build.Tests/MsBuildPropertyHelpersTests.cs index 9f7727e..dee4840 100644 --- a/tests/JD.Efcpt.Build.Tests/MsBuildPropertyHelpersTests.cs +++ b/tests/JD.Efcpt.Build.Tests/MsBuildPropertyHelpersTests.cs @@ -11,7 +11,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("MsBuildPropertyHelpers: MSBuild property value utilities")] [Collection(nameof(AssemblySetup))] -public sealed class MsBuildPropertyHelpersTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class MsBuildPropertyHelpersTests(ITestOutputHelper output) : TinyBddXunitBase(output) { #region NullIfEmpty Tests @@ -181,3 +181,4 @@ public async Task AddIfNotEmpty_skips_whitespace() #endregion } + diff --git a/tests/JD.Efcpt.Build.Tests/PathUtilsTests.cs b/tests/JD.Efcpt.Build.Tests/PathUtilsTests.cs index 5c0dfdc..78ea0b9 100644 --- a/tests/JD.Efcpt.Build.Tests/PathUtilsTests.cs +++ b/tests/JD.Efcpt.Build.Tests/PathUtilsTests.cs @@ -11,7 +11,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("PathUtils: path resolution and validation utilities")] [Collection(nameof(AssemblySetup))] -public sealed class PathUtilsTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class PathUtilsTests(ITestOutputHelper output) : TinyBddXunitBase(output) { #region FullPath Tests @@ -221,3 +221,4 @@ await Given("a current directory reference", () => "./file.txt") #endregion } + diff --git a/tests/JD.Efcpt.Build.Tests/PipelineTests.cs b/tests/JD.Efcpt.Build.Tests/PipelineTests.cs index d3175c5..0c3fa45 100644 --- a/tests/JD.Efcpt.Build.Tests/PipelineTests.cs +++ b/tests/JD.Efcpt.Build.Tests/PipelineTests.cs @@ -11,7 +11,7 @@ namespace JD.Efcpt.Build.Tests; [Feature("Full pipeline: resolve, dacpac, stage, fingerprint, generate, rename")] [Collection(nameof(AssemblySetup))] -public sealed class PipelineTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class PipelineTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record PipelineState( TestFolder Folder, @@ -291,3 +291,4 @@ public Task End_to_end_generates_dacpac_and_runs_real_efcpt() .Finally(r => r.Fingerprint.Stage.Ensure.Resolve.State.Folder.Dispose()) .AssertPassed(); } + diff --git a/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerAdditionalTests.cs b/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerAdditionalTests.cs index 1137c38..7d1fdb9 100644 --- a/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerAdditionalTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerAdditionalTests.cs @@ -11,7 +11,7 @@ namespace JD.Efcpt.Build.Tests.Profiling; /// [Feature("BuildProfiler: Additional coverage for edge cases")] [Collection(nameof(AssemblySetup))] -public sealed class BuildProfilerAdditionalTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class BuildProfilerAdditionalTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState(BuildProfiler Profiler, string ProjectPath); @@ -326,3 +326,4 @@ await Given("an enabled profiler", () => Setup()) .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerManagerTests.cs b/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerManagerTests.cs index 8246506..186c9cc 100644 --- a/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerManagerTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerManagerTests.cs @@ -11,7 +11,7 @@ namespace JD.Efcpt.Build.Tests.Profiling; /// [Feature("BuildProfilerManager: Cross-task profiler coordination")] [Collection(nameof(AssemblySetup))] -public sealed class BuildProfilerManagerTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class BuildProfilerManagerTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState(string ProjectPath); @@ -170,3 +170,4 @@ await Given("two project paths", () => (project1, project2)) .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerTests.cs b/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerTests.cs index 0198baa..00cf837 100644 --- a/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Profiling/BuildProfilerTests.cs @@ -12,7 +12,7 @@ namespace JD.Efcpt.Build.Tests.Profiling; /// [Feature("BuildProfiler: Task execution profiling and telemetry capture")] [Collection(nameof(AssemblySetup))] -public sealed class BuildProfilerTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class BuildProfilerTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState( BuildProfiler Profiler, @@ -281,3 +281,4 @@ await Given("an enabled profiler", Setup) .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/Profiling/BuildRunOutputTests.cs b/tests/JD.Efcpt.Build.Tests/Profiling/BuildRunOutputTests.cs index b360534..411a29d 100644 --- a/tests/JD.Efcpt.Build.Tests/Profiling/BuildRunOutputTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Profiling/BuildRunOutputTests.cs @@ -13,7 +13,7 @@ namespace JD.Efcpt.Build.Tests.Profiling; /// [Feature("BuildRunOutput: Data model serialization and structure")] [Collection(nameof(AssemblySetup))] -public sealed class BuildRunOutputTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class BuildRunOutputTests(ITestOutputHelper output) : TinyBddXunitBase(output) { [Scenario("BuildRunOutput serializes to JSON")] [Fact] @@ -328,3 +328,4 @@ await Given("a BuildRunOutput with extensions", () => .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/Profiling/FinalizeBuildProfilingTests.cs b/tests/JD.Efcpt.Build.Tests/Profiling/FinalizeBuildProfilingTests.cs index 050162f..3f32bbc 100644 --- a/tests/JD.Efcpt.Build.Tests/Profiling/FinalizeBuildProfilingTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Profiling/FinalizeBuildProfilingTests.cs @@ -13,7 +13,7 @@ namespace JD.Efcpt.Build.Tests.Profiling; /// [Feature("FinalizeBuildProfiling: Build profiling finalization")] [Collection(nameof(AssemblySetup))] -public sealed class FinalizeBuildProfilingTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class FinalizeBuildProfilingTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState( TestBuildEngine Engine, @@ -197,3 +197,4 @@ await Given("a task with enabled profiler", () => } } } + diff --git a/tests/JD.Efcpt.Build.Tests/Profiling/InitializeBuildProfilingTests.cs b/tests/JD.Efcpt.Build.Tests/Profiling/InitializeBuildProfilingTests.cs index 5f56e81..7936fd8 100644 --- a/tests/JD.Efcpt.Build.Tests/Profiling/InitializeBuildProfilingTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Profiling/InitializeBuildProfilingTests.cs @@ -13,7 +13,7 @@ namespace JD.Efcpt.Build.Tests.Profiling; /// [Feature("InitializeBuildProfiling: Build profiling initialization")] [Collection(nameof(AssemblySetup))] -public sealed class InitializeBuildProfilingTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class InitializeBuildProfilingTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState( TestBuildEngine Engine, @@ -175,3 +175,4 @@ await Given("a task with profiling enabled", () => .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/Profiling/JsonTimeSpanConverterTests.cs b/tests/JD.Efcpt.Build.Tests/Profiling/JsonTimeSpanConverterTests.cs index 9c8e943..0771393 100644 --- a/tests/JD.Efcpt.Build.Tests/Profiling/JsonTimeSpanConverterTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Profiling/JsonTimeSpanConverterTests.cs @@ -12,7 +12,7 @@ namespace JD.Efcpt.Build.Tests.Profiling; /// [Feature("JsonTimeSpanConverter: TimeSpan JSON serialization")] [Collection(nameof(AssemblySetup))] -public sealed class JsonTimeSpanConverterTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class JsonTimeSpanConverterTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed class TestObject { @@ -209,3 +209,4 @@ await Given("JSON with complex ISO 8601 duration", () => json) .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/Profiling/ProfilingHelperTests.cs b/tests/JD.Efcpt.Build.Tests/Profiling/ProfilingHelperTests.cs index 33a9ed5..9a2ee5f 100644 --- a/tests/JD.Efcpt.Build.Tests/Profiling/ProfilingHelperTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Profiling/ProfilingHelperTests.cs @@ -12,7 +12,7 @@ namespace JD.Efcpt.Build.Tests.Profiling; /// [Feature("ProfilingHelper: Helper methods for profiling")] [Collection(nameof(AssemblySetup))] -public sealed class ProfilingHelperTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class ProfilingHelperTests(ITestOutputHelper output) : TinyBddXunitBase(output) { [Scenario("GetProfiler returns null for null project path")] [Fact] @@ -109,3 +109,4 @@ await Given("a project path with registered profiler", () => .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/Profiling/ProfilingSecurityTests.cs b/tests/JD.Efcpt.Build.Tests/Profiling/ProfilingSecurityTests.cs index 2123399..8871213 100644 --- a/tests/JD.Efcpt.Build.Tests/Profiling/ProfilingSecurityTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Profiling/ProfilingSecurityTests.cs @@ -13,7 +13,7 @@ namespace JD.Efcpt.Build.Tests.Profiling; /// [Feature("Profiling Security: Sensitive data exclusion")] [Collection(nameof(AssemblySetup))] -public sealed class ProfilingSecurityTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class ProfilingSecurityTests(ITestOutputHelper output) : TinyBddXunitBase(output) { // Test task with sensitive data private sealed class TestTaskWithSensitiveData : Microsoft.Build.Utilities.Task @@ -189,3 +189,4 @@ await Given("a profiler", () => } } } + diff --git a/tests/JD.Efcpt.Build.Tests/RenameGeneratedFilesTests.cs b/tests/JD.Efcpt.Build.Tests/RenameGeneratedFilesTests.cs index 44c07f3..b03df86 100644 --- a/tests/JD.Efcpt.Build.Tests/RenameGeneratedFilesTests.cs +++ b/tests/JD.Efcpt.Build.Tests/RenameGeneratedFilesTests.cs @@ -12,7 +12,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("RenameGeneratedFiles: rename .cs files to .g.cs convention")] [Collection(nameof(AssemblySetup))] -public sealed class RenameGeneratedFilesTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class RenameGeneratedFilesTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState( TestFolder Folder, @@ -266,4 +266,4 @@ await Given("file with multiple extensions", () => .Finally(r => r.Setup.Folder.Dispose()) .AssertPassed(); } -} \ No newline at end of file +} diff --git a/tests/JD.Efcpt.Build.Tests/ResolutionChainTests.cs b/tests/JD.Efcpt.Build.Tests/ResolutionChainTests.cs index 8f2e889..8679e21 100644 --- a/tests/JD.Efcpt.Build.Tests/ResolutionChainTests.cs +++ b/tests/JD.Efcpt.Build.Tests/ResolutionChainTests.cs @@ -12,7 +12,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("Resolution Chains: multi-tier fallback for locating files and directories")] [Collection(nameof(AssemblySetup))] -public sealed class ResolutionChainTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class ResolutionChainTests(ITestOutputHelper output) : TinyBddXunitBase(output) { #region FileResolutionChain Tests @@ -519,3 +519,4 @@ await Given("template only in solution directory", () => #endregion } + diff --git a/tests/JD.Efcpt.Build.Tests/ResolveDbContextNameTests.cs b/tests/JD.Efcpt.Build.Tests/ResolveDbContextNameTests.cs index 12cc64c..061cb7b 100644 --- a/tests/JD.Efcpt.Build.Tests/ResolveDbContextNameTests.cs +++ b/tests/JD.Efcpt.Build.Tests/ResolveDbContextNameTests.cs @@ -12,7 +12,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("ResolveDbContextName: MSBuild task for resolving DbContext names")] [Collection(nameof(AssemblySetup))] -public sealed class ResolveDbContextNameTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class ResolveDbContextNameTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record TaskResult( ResolveDbContextName Task, @@ -227,3 +227,4 @@ await Given("explicit name and all other sources", () => .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/ResolveSqlProjAndInputsTests.cs b/tests/JD.Efcpt.Build.Tests/ResolveSqlProjAndInputsTests.cs index 7bdbb5d..7c32ccd 100644 --- a/tests/JD.Efcpt.Build.Tests/ResolveSqlProjAndInputsTests.cs +++ b/tests/JD.Efcpt.Build.Tests/ResolveSqlProjAndInputsTests.cs @@ -12,7 +12,7 @@ namespace JD.Efcpt.Build.Tests; [Feature("ResolveSqlProjAndInputs task: discovers sqlproj and configuration files")] [Collection(nameof(AssemblySetup))] -public sealed class ResolveSqlProjAndInputsTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class ResolveSqlProjAndInputsTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState( TestFolder Folder, @@ -960,3 +960,4 @@ private static SolutionScanSetup SetupSlnOnlyMalformedLines() return new SolutionScanSetup(folder, projectDir, "", solutionPath, engine); } } + diff --git a/tests/JD.Efcpt.Build.Tests/RunEfcptTests.cs b/tests/JD.Efcpt.Build.Tests/RunEfcptTests.cs index 62be4d7..d587707 100644 --- a/tests/JD.Efcpt.Build.Tests/RunEfcptTests.cs +++ b/tests/JD.Efcpt.Build.Tests/RunEfcptTests.cs @@ -12,7 +12,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("RunEfcpt: invoke efcpt CLI to generate EF Core models")] [Collection(nameof(AssemblySetup))] -public sealed class RunEfcptTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class RunEfcptTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState( TestFolder Folder, @@ -643,3 +643,4 @@ await Given("inputs with project path", () => .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/RunSqlPackageTests.cs b/tests/JD.Efcpt.Build.Tests/RunSqlPackageTests.cs index 81153f7..c8e82f4 100644 --- a/tests/JD.Efcpt.Build.Tests/RunSqlPackageTests.cs +++ b/tests/JD.Efcpt.Build.Tests/RunSqlPackageTests.cs @@ -14,7 +14,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("RunSqlPackage: SqlPackage execution and file processing")] [Collection(nameof(AssemblySetup))] -public sealed class RunSqlPackageTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class RunSqlPackageTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState(TestBuildEngine Engine, string TempDir); @@ -942,3 +942,4 @@ await Given("a task with working directory", () => .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/Schema/DatabaseProviderFactoryTests.cs b/tests/JD.Efcpt.Build.Tests/Schema/DatabaseProviderFactoryTests.cs index f19a75b..be334b5 100644 --- a/tests/JD.Efcpt.Build.Tests/Schema/DatabaseProviderFactoryTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Schema/DatabaseProviderFactoryTests.cs @@ -17,7 +17,7 @@ namespace JD.Efcpt.Build.Tests.Schema; [Feature("DatabaseProviderFactory: creates connections and schema readers for all providers")] [Collection(nameof(AssemblySetup))] -public sealed class DatabaseProviderFactoryTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class DatabaseProviderFactoryTests(ITestOutputHelper output) : TinyBddXunitBase(output) { #region NormalizeProvider Tests @@ -336,3 +336,4 @@ await Given($"provider '{provider}'", () => provider) #endregion } + diff --git a/tests/JD.Efcpt.Build.Tests/Schema/FirebirdSchemaReaderTests.cs b/tests/JD.Efcpt.Build.Tests/Schema/FirebirdSchemaReaderTests.cs index 8f4af5d..7aa8928 100644 --- a/tests/JD.Efcpt.Build.Tests/Schema/FirebirdSchemaReaderTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Schema/FirebirdSchemaReaderTests.cs @@ -15,7 +15,7 @@ namespace JD.Efcpt.Build.Tests.Schema; /// [Feature("FirebirdSchemaReader: parses Firebird GetSchema() DataTables")] [Collection(nameof(AssemblySetup))] -public sealed class FirebirdSchemaReaderTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class FirebirdSchemaReaderTests(ITestOutputHelper output) : TinyBddXunitBase(output) { #region Test Helpers @@ -585,3 +585,4 @@ await Given("fb provider alias", () => "fb") #endregion } + diff --git a/tests/JD.Efcpt.Build.Tests/Schema/OracleSchemaReaderTests.cs b/tests/JD.Efcpt.Build.Tests/Schema/OracleSchemaReaderTests.cs index b02beb2..025a2ee 100644 --- a/tests/JD.Efcpt.Build.Tests/Schema/OracleSchemaReaderTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Schema/OracleSchemaReaderTests.cs @@ -15,7 +15,7 @@ namespace JD.Efcpt.Build.Tests.Schema; /// [Feature("OracleSchemaReader: parses Oracle GetSchema() DataTables")] [Collection(nameof(AssemblySetup))] -public sealed class OracleSchemaReaderTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class OracleSchemaReaderTests(ITestOutputHelper output) : TinyBddXunitBase(output) { #region Test Helpers @@ -675,3 +675,4 @@ await Given("oracledb provider alias", () => "oracledb") #endregion } + diff --git a/tests/JD.Efcpt.Build.Tests/Schema/SchemaFingerprinterTests.cs b/tests/JD.Efcpt.Build.Tests/Schema/SchemaFingerprinterTests.cs index d44fa6f..b31ae90 100644 --- a/tests/JD.Efcpt.Build.Tests/Schema/SchemaFingerprinterTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Schema/SchemaFingerprinterTests.cs @@ -9,7 +9,7 @@ namespace JD.Efcpt.Build.Tests.Schema; [Feature("SchemaFingerprinter: computes deterministic fingerprints of database schemas")] [Collection(nameof(AssemblySetup))] -public sealed class SchemaFingerprinterTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class SchemaFingerprinterTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record TestResult( string Fingerprint1, @@ -388,3 +388,4 @@ [new ColumnModel("Email", "nvarchar", 100, 0, 0, true, 1, null)], // NULL .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/Schema/SnowflakeSchemaReaderTests.cs b/tests/JD.Efcpt.Build.Tests/Schema/SnowflakeSchemaReaderTests.cs index c60f463..dfdbd87 100644 --- a/tests/JD.Efcpt.Build.Tests/Schema/SnowflakeSchemaReaderTests.cs +++ b/tests/JD.Efcpt.Build.Tests/Schema/SnowflakeSchemaReaderTests.cs @@ -21,7 +21,7 @@ namespace JD.Efcpt.Build.Tests.Schema; /// [Feature("SnowflakeSchemaReader: parses Snowflake GetSchema() DataTables")] [Collection(nameof(AssemblySetup))] -public sealed class SnowflakeSchemaReaderTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class SnowflakeSchemaReaderTests(ITestOutputHelper output) : TinyBddXunitBase(output) { #region Test Helpers @@ -598,3 +598,4 @@ await Given("sf provider alias", () => "sf") #endregion } + diff --git a/tests/JD.Efcpt.Build.Tests/SerializeConfigPropertiesTests.cs b/tests/JD.Efcpt.Build.Tests/SerializeConfigPropertiesTests.cs index 0b85a10..92f5d80 100644 --- a/tests/JD.Efcpt.Build.Tests/SerializeConfigPropertiesTests.cs +++ b/tests/JD.Efcpt.Build.Tests/SerializeConfigPropertiesTests.cs @@ -12,7 +12,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("SerializeConfigProperties: Serialize MSBuild config properties to JSON for fingerprinting")] [Collection(nameof(AssemblySetup))] -public sealed class SerializeConfigPropertiesTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class SerializeConfigPropertiesTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState(TestBuildEngine Engine); @@ -278,3 +278,4 @@ await Given("task with multiple properties", SetupTask) .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/SplitOutputsTests.cs b/tests/JD.Efcpt.Build.Tests/SplitOutputsTests.cs index a28727a..5eab8d5 100644 --- a/tests/JD.Efcpt.Build.Tests/SplitOutputsTests.cs +++ b/tests/JD.Efcpt.Build.Tests/SplitOutputsTests.cs @@ -11,7 +11,7 @@ namespace JD.Efcpt.Build.Tests; [Feature("Split Outputs: separate Models project from Data project")] [Collection(nameof(AssemblySetup))] -public sealed class SplitOutputsTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class SplitOutputsTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SplitOutputsContext( TestFolder Folder, @@ -233,3 +233,4 @@ public Task Validation_fails_when_data_project_does_not_exist() .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/SqlProjectDetectorTests.cs b/tests/JD.Efcpt.Build.Tests/SqlProjectDetectorTests.cs index 9e954ff..ff82390 100644 --- a/tests/JD.Efcpt.Build.Tests/SqlProjectDetectorTests.cs +++ b/tests/JD.Efcpt.Build.Tests/SqlProjectDetectorTests.cs @@ -10,7 +10,7 @@ namespace JD.Efcpt.Build.Tests; [Feature("SqlProjectDetector: identifies supported SQL SDKs")] [Collection(nameof(AssemblySetup))] -public sealed class SqlProjectDetectorTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class SqlProjectDetectorTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private sealed record SetupState(TestFolder Folder, string ProjectPath); private sealed record DetectionResult(SetupState Setup, bool IsSqlProject); @@ -147,3 +147,4 @@ await Given("project with Import element and multiple SDKs", () => .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/SqlProjectTargetGenerationTests.cs b/tests/JD.Efcpt.Build.Tests/SqlProjectTargetGenerationTests.cs index ed051d3..b332241 100644 --- a/tests/JD.Efcpt.Build.Tests/SqlProjectTargetGenerationTests.cs +++ b/tests/JD.Efcpt.Build.Tests/SqlProjectTargetGenerationTests.cs @@ -8,7 +8,7 @@ namespace JD.Efcpt.Build.Tests; /// Tests to validate that SQL project detection targets execute correctly in generated MSBuild XML. /// These tests validate our assumptions about the generated targets file structure. /// -public sealed class SqlProjectTargetGenerationTests(ITestOutputHelper output) +public sealed partial class SqlProjectTargetGenerationTests(ITestOutputHelper output) { private readonly ITestOutputHelper _output = output; @@ -128,3 +128,4 @@ public void Generated_targets_uses_consistent_condition_formatting() _output.WriteLine($"✓ Found {sqlTargetLines.Count} condition statements"); } } + diff --git a/tests/JD.Efcpt.Build.Tests/StageEfcptInputsTests.cs b/tests/JD.Efcpt.Build.Tests/StageEfcptInputsTests.cs index 6300311..ebb9199 100644 --- a/tests/JD.Efcpt.Build.Tests/StageEfcptInputsTests.cs +++ b/tests/JD.Efcpt.Build.Tests/StageEfcptInputsTests.cs @@ -10,7 +10,7 @@ namespace JD.Efcpt.Build.Tests; [Feature("StageEfcptInputs task: stages configuration and templates to output directory")] [Collection(nameof(AssemblySetup))] -public sealed class StageEfcptInputsTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class StageEfcptInputsTests(ITestOutputHelper output) : TinyBddXunitBase(output) { private enum TemplateShape { @@ -635,3 +635,4 @@ await Given("setup with no version-specific folders", CreateNoVersionFoldersSetu .AssertPassed(); } } + diff --git a/tests/JD.Efcpt.Build.Tests/StringExtensionsTests.cs b/tests/JD.Efcpt.Build.Tests/StringExtensionsTests.cs index 274fb44..451f9fb 100644 --- a/tests/JD.Efcpt.Build.Tests/StringExtensionsTests.cs +++ b/tests/JD.Efcpt.Build.Tests/StringExtensionsTests.cs @@ -11,7 +11,7 @@ namespace JD.Efcpt.Build.Tests; /// [Feature("StringExtensions: string comparison and parsing utilities")] [Collection(nameof(AssemblySetup))] -public sealed class StringExtensionsTests(ITestOutputHelper output) : TinyBddXunitBase(output) +public sealed partial class StringExtensionsTests(ITestOutputHelper output) : TinyBddXunitBase(output) { #region EqualsIgnoreCase Tests @@ -259,3 +259,4 @@ await Given("arbitrary text", () => value) #endregion } + diff --git a/tests/JD.Efcpt.Build.Tests/packages.lock.json b/tests/JD.Efcpt.Build.Tests/packages.lock.json index f668c16..c449f35 100644 --- a/tests/JD.Efcpt.Build.Tests/packages.lock.json +++ b/tests/JD.Efcpt.Build.Tests/packages.lock.json @@ -67,47 +67,47 @@ }, "Testcontainers.FirebirdSql": { "type": "Direct", - "requested": "[4.4.0, )", - "resolved": "4.4.0", - "contentHash": "ONWpb1QljC5vBbe9PJ1b4S0efEGSnWSDifRvphSD6lOuCmZyvvLYmtkLVVUY+KFdl8xxIs7Lvn2Hk+FWO5rOcg==", + "requested": "[4.10.0, )", + "resolved": "4.10.0", + "contentHash": "5s3F5BPdkDk2jXfijIeuQXE7+hywa2YS3HDsp1ig8aH/LLvyRCZFhTbkL0ki00uZPQZ7/Nh+DJqlYww6guI1UA==", "dependencies": { - "Testcontainers": "4.4.0" + "Testcontainers": "4.10.0" } }, "Testcontainers.MsSql": { "type": "Direct", - "requested": "[4.4.0, )", - "resolved": "4.4.0", - "contentHash": "Ghh7rK17G7Lf6fhmfnen2Jo3X6x3xrXaiakeR4KkR1bHFACeYSlbBvQhuAz1Vx+aVkcCzoLpbxexVwqnQocvcw==", + "requested": "[4.10.0, )", + "resolved": "4.10.0", + "contentHash": "2FnZFymCGNBB/bP38C8dFpFZjI7JSp1P8sVsoejEPd56NPDIc6CSZHnIJ6eu9arAbTyJ7+pGAbVyZ6notq/tVw==", "dependencies": { - "Testcontainers": "4.4.0" + "Testcontainers": "4.10.0" } }, "Testcontainers.MySql": { "type": "Direct", - "requested": "[4.4.0, )", - "resolved": "4.4.0", - "contentHash": "qAbbBXbGtUwhnjVFIlN6Tze4dvsW71pThGe4vlTDUHfjar2WRSZ2iXUj+JJqsTrLA6YqWNViNQdEYi93jzHJkA==", + "requested": "[4.10.0, )", + "resolved": "4.10.0", + "contentHash": "aYAYccbOBXA6CDYGR7IxnVsfCMBuFx8hBC56bT6PxYSJ+ftNzOEdy0sUNVAa/3TaWV1n6AnxoJ9CKP/4OruSxQ==", "dependencies": { - "Testcontainers": "4.4.0" + "Testcontainers": "4.10.0" } }, "Testcontainers.Oracle": { "type": "Direct", - "requested": "[4.4.0, )", - "resolved": "4.4.0", - "contentHash": "4STZFI7GsDwPrVdZXRsUIqWqmvA9V21zXz2yq+SyO6l2CQU5Au/yyY3aEsVikAkRA7zDNK1lTlglF/qmH1PX7Q==", + "requested": "[4.10.0, )", + "resolved": "4.10.0", + "contentHash": "8iOvYfZho4CWl3/sBKUbyLH5kiahbq3O5O7hOL7egxIm7yNRBrlXp3DLxIglvMVsIhp4xge4ookhfWPGtwLcjA==", "dependencies": { - "Testcontainers": "4.4.0" + "Testcontainers": "4.10.0" } }, "Testcontainers.PostgreSql": { "type": "Direct", - "requested": "[4.4.0, )", - "resolved": "4.4.0", - "contentHash": "AZan+H6m/jBR/qN4Dj3QA8NOqqiTo2Zq9/FswbXP6XADu9FVJU2sXPG3nQHxpBQ8ccHARCL3uxKg0BSR5YSTQw==", + "requested": "[4.10.0, )", + "resolved": "4.10.0", + "contentHash": "TP7j3N014O9MONT21lqZPzlVuP1LJYhkRKYZPbRdHl3VN+4RPk5Jt799WvLfxDsOFLVNibNO3B7tP1vcYQmXHA==", "dependencies": { - "Testcontainers": "4.4.0" + "Testcontainers": "4.10.0" } }, "TinyBDD.Xunit": { @@ -155,30 +155,30 @@ }, "AWSSDK.S3": { "type": "Transitive", - "resolved": "4.0.4", - "contentHash": "Xo/s2vef07V3FIuThclCMaM0IbuPRbF0VvtjvIRxnQNfXpAul/kKgrxM+45oFSIqoCYNgD9pVTzhzHixKQ49dg==", + "resolved": "4.0.18.2", + "contentHash": "b70wUsmhtrwN0MupBcpB7BbZ1KoJzY9VyvL8+bOUqJu7AvZlF/+Dpct1yViGqUbOk7DG0Cxn5Q+C5DHHtY0DaQ==", "dependencies": { - "AWSSDK.Core": "[4.0.0.14, 5.0.0)" + "AWSSDK.Core": "[4.0.3.12, 5.0.0)" } }, "Azure.Core": { "type": "Transitive", - "resolved": "1.47.1", - "contentHash": "oPcncSsDHuxB8SC522z47xbp2+ttkcKv2YZ90KXhRKN0YQd2+7l1UURT9EBzUNEXtkLZUOAB5xbByMTrYRh3yA==", + "resolved": "1.50.0", + "contentHash": "GBNKZEhdIbTXxedvD3R7I/yDVFX9jJJEz02kCziFSJxspSQ5RMHc3GktulJ1s7+ffXaXD7kMgrtdQTaggyInLw==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "8.0.0", - "System.ClientModel": "1.5.1", + "System.ClientModel": "1.8.0", "System.Memory.Data": "8.0.1" } }, "Azure.Identity": { "type": "Transitive", - "resolved": "1.14.2", - "contentHash": "YhNMwOTwT+I2wIcJKSdP0ADyB2aK+JaYWZxO8LSRDm5w77LFr0ykR9xmt2ZV5T1gaI7xU6iNFIh/yW1dAlpddQ==", + "resolved": "1.17.1", + "contentHash": "MSZkBrctcpiGxs9Cvr2VKKoN6qFLZlP3I6xuCWJ9iTgitI5Rgxtk5gfOSpXPZE3+CJmZ/mnqpQyGyjawFn5Vvg==", "dependencies": { - "Azure.Core": "1.46.1", - "Microsoft.Identity.Client": "4.73.1", - "Microsoft.Identity.Client.Extensions.Msal": "4.73.1" + "Azure.Core": "1.50.0", + "Microsoft.Identity.Client": "4.78.0", + "Microsoft.Identity.Client.Extensions.Msal": "4.78.0" } }, "Azure.Storage.Blobs": { @@ -200,26 +200,29 @@ }, "BouncyCastle.Cryptography": { "type": "Transitive", - "resolved": "2.4.0", - "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + "resolved": "2.6.2", + "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==" }, "Docker.DotNet.Enhanced": { "type": "Transitive", - "resolved": "3.126.1", - "contentHash": "UPyLBLBaVE3s7OCWM0h5g9w6mUOag5sOIP5CldFQekIWo/gHixgZR+o5fG7eCFH4ZdKlvBGM4ALFuOyPoKoJ3A==" + "resolved": "3.131.1", + "contentHash": "hGLHCNUsQbT2Ab/HUznRnNqYZQs40zInXa3eLwYjeNyfUYbw1pqqDGqcOLl5uGepS8IuigEYakEdAcVT/2ezYg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.3" + } }, "Docker.DotNet.Enhanced.X509": { "type": "Transitive", - "resolved": "3.126.1", - "contentHash": "XFHMC/iWHbloQgg9apZrxu010DmSamaAggu8nomCqTeotGyUGkv2Tt/aqk1ljC/4tjtTrb9LtFQwYpwZbMbiKg==", + "resolved": "3.131.1", + "contentHash": "8FU7zmttFQzp0xb0EPupxQ0nGtC2cTpukgh3jMxMT8luj5TSDyzIKTnroDpXCjpg9P2fV+6JIvC+IetsMEfyBA==", "dependencies": { - "Docker.DotNet.Enhanced": "3.126.1" + "Docker.DotNet.Enhanced": "3.131.1" } }, "FirebirdSql.Data.FirebirdClient": { "type": "Transitive", - "resolved": "10.3.2", - "contentHash": "mo74lexrjTPAQ4XGrVWTdXy1wEnLKl/KcUeHO8HqEcULrqo5HfZmhgbClqIPogeQ6TY6Jh1EClfHa9ALn5IxfQ==" + "resolved": "10.3.4", + "contentHash": "lmaY+XQvnhPl1YRrY+lzTZPD88YDbllelN5RhFMrzinqSmjWpWZRE0A4AI1L2mPBNAI346Q8MHAvnJjDPd7VnQ==" }, "Google.Api.Gax": { "type": "Transitive", @@ -289,11 +292,6 @@ "resolved": "8.0.0", "contentHash": "3WA9q9yVqJp222P3x1wYIGDAkpjAku0TMUaaQV22g6L67AI0LdOIrVS7Ht2vJfLHGSPVuqN94vIr15qn+HEkHw==" }, - "Microsoft.Bcl.Cryptography": { - "type": "Transitive", - "resolved": "9.0.4", - "contentHash": "YgZYAWzyNuPVtPq6WNm0bqOWNjYaWgl5mBWTGZyNoXitYBUYSp6iUB9AwK0V1mo793qRJUXz2t6UZrWITZSvuQ==" - }, "Microsoft.CodeCoverage": { "type": "Transitive", "resolved": "18.0.1", @@ -301,19 +299,20 @@ }, "Microsoft.Data.SqlClient": { "type": "Transitive", - "resolved": "6.1.3", - "contentHash": "ys/z8Tx8074CDU20EilNvBRJuJdwKSthpHkzUpt3JghnjB6GjbZusoOcCtNbhPCCWsEJqN8bxaT7HnS3UZuUDQ==", + "resolved": "6.1.4", + "contentHash": "lQcSog5LLImg4yNEuuG6ccvdzXnCvER8Rms9Ngk9zB4Q8na4f+S7/abSoC7gnEltBg4e5xTnLAWmMLIOtLg4pg==", "dependencies": { - "Azure.Core": "1.47.1", - "Azure.Identity": "1.14.2", - "Microsoft.Bcl.Cryptography": "9.0.4", + "Azure.Core": "1.50.0", + "Azure.Identity": "1.17.1", "Microsoft.Data.SqlClient.SNI.runtime": "6.0.2", - "Microsoft.Extensions.Caching.Memory": "9.0.4", + "Microsoft.Extensions.Caching.Memory": "9.0.11", + "Microsoft.Identity.Client": "4.80.0", "Microsoft.IdentityModel.JsonWebTokens": "7.7.1", "Microsoft.IdentityModel.Protocols.OpenIdConnect": "7.7.1", "Microsoft.SqlServer.Server": "1.0.0", - "System.Configuration.ConfigurationManager": "9.0.4", - "System.Security.Cryptography.Pkcs": "9.0.4" + "System.Configuration.ConfigurationManager": "9.0.11", + "System.IdentityModel.Tokens.Jwt": "7.7.1", + "System.Security.Cryptography.Pkcs": "9.0.11" } }, "Microsoft.Data.SqlClient.SNI.runtime": { @@ -323,30 +322,30 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.1", - "contentHash": "useMNbAupB8gpEp/SjanW3LvvyFG9DWPMUcXFwVNjNuFWIxNcrs5zOu9BTmNJEyfDpLlrsSBmcBv7keYVG8UhA==", + "resolved": "9.0.13", + "contentHash": "CjiaUFarR/HLXrEaOImXEj9AJO9q2DluK1neNLf+F6BIxOgNqbhOmlZuA3GcCQMZLOi/BbWnzuePFljLhR6Q2A==", "dependencies": { "SQLitePCLRaw.core": "2.1.10" } }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", - "resolved": "9.0.4", - "contentHash": "imcZ5BGhBw5mNsWLepBbqqumWaFe0GtvyCvne2/2wsDIBRa2+Lhx4cU/pKt/4BwOizzUEOls2k1eOJQXHGMalg==", + "resolved": "9.0.11", + "contentHash": "PRv1SPyrgl/ullMF6eKDuEULRkTc10fVcnWvzFhqIMDA3m5f91znKH9ZNsKZBgu4xVc4ulNt7TEXyyt0rdlB3g==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.4" + "Microsoft.Extensions.Primitives": "9.0.11" } }, "Microsoft.Extensions.Caching.Memory": { "type": "Transitive", - "resolved": "9.0.4", - "contentHash": "G5rEq1Qez5VJDTEyRsRUnewAspKjaY57VGsdZ8g8Ja6sXXzoiI3PpTd1t43HjHqNWD5A06MQveb2lscn+2CU+w==", + "resolved": "9.0.11", + "contentHash": "J77oUeVZXdMoiUiCPkL4v13KrNRuMQnSHHw78cTh/2ZidyiMFm8jhu49OUKvNydMUX8ZcuM5g8uohW18YaglMw==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.4", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.4", - "Microsoft.Extensions.Logging.Abstractions": "9.0.4", - "Microsoft.Extensions.Options": "9.0.4", - "Microsoft.Extensions.Primitives": "9.0.4" + "Microsoft.Extensions.Caching.Abstractions": "9.0.11", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.11", + "Microsoft.Extensions.Logging.Abstractions": "9.0.11", + "Microsoft.Extensions.Options": "9.0.11", + "Microsoft.Extensions.Primitives": "9.0.11" } }, "Microsoft.Extensions.DependencyInjection": { @@ -374,47 +373,47 @@ }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "9.0.5", - "contentHash": "pP1PADCrIxMYJXxFmTVbAgEU7GVpjK5i0/tyfU9DiE0oXQy3JWQaOVgCkrCiePLgS8b5sghM3Fau3EeHiVWbCg==", + "resolved": "9.0.11", + "contentHash": "UKWFTDwtZQIoypyt1YPVsxTnDK+0sKn26+UeSGeNlkRQddrkt9EC6kP4g94rgO/WOZkz94bKNlF1dVZN3QfPFQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.5" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.11" } }, "Microsoft.Extensions.Options": { "type": "Transitive", - "resolved": "9.0.5", - "contentHash": "vPdJQU8YLOUSSK8NL0RmwcXJr2E0w8xH559PGQl4JYsglgilZr9LZnqV2zdgk+XR05+kuvhBEZKoDVd46o7NqA==", + "resolved": "9.0.11", + "contentHash": "HX4M3BLkW1dtByMKHDVq6r7Jy6e4hf8NDzHpIgz7C8BtYk9JQHhfYX5c1UheQTD5Veg1yBhz/cD9C8vtrGrk9w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.5", - "Microsoft.Extensions.Primitives": "9.0.5" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.11", + "Microsoft.Extensions.Primitives": "9.0.11" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "9.0.5", - "contentHash": "b4OAv1qE1C9aM+ShWJu3rlo/WjDwa/I30aIPXqDWSKXTtKl1Wwh6BZn+glH5HndGVVn3C6ZAPQj5nv7/7HJNBQ==" + "resolved": "9.0.11", + "contentHash": "rtUNSIhbQTv8iSBTFvtg2b/ZUkoqC9qAH9DdC2hr+xPpoZrxiCITci9UR/ELUGUGnGUrF8Xye+tGVRhCxE+4LA==" }, "Microsoft.Identity.Client": { "type": "Transitive", - "resolved": "4.73.1", - "contentHash": "NnDLS8QwYqO5ZZecL2oioi1LUqjh5Ewk4bMLzbgiXJbQmZhDLtKwLxL3DpGMlQAJ2G4KgEnvGPKa+OOgffeJbw==", + "resolved": "4.80.0", + "contentHash": "nmg+q17mKdNafWvaX7Of5Xh8sxc4acsD6xOOczp7kgjAzR7bpseYGZzg38XPoS/vW7k92sGKCWgHSogB0K62KQ==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0" + "Microsoft.IdentityModel.Abstractions": "8.14.0" } }, "Microsoft.Identity.Client.Extensions.Msal": { "type": "Transitive", - "resolved": "4.73.1", - "contentHash": "xDztAiV2F0wI0W8FLKv5cbaBefyLD6JVaAsvgSN7bjWNCzGYzHbcOEIP5s4TJXUpQzMfUyBsFl1mC6Zmgpz0PQ==", + "resolved": "4.78.0", + "contentHash": "DYU9o+DrDQuyZxeq91GBA9eNqBvA3ZMkLzQpF7L9dTk6FcIBM1y1IHXWqiKXTvptPF7CZE59upbyUoa+FJ5eiA==", "dependencies": { - "Microsoft.Identity.Client": "4.73.1", + "Microsoft.Identity.Client": "4.78.0", "System.Security.Cryptography.ProtectedData": "4.5.0" } }, "Microsoft.IdentityModel.Abstractions": { "type": "Transitive", - "resolved": "7.7.1", - "contentHash": "S7sHg6gLg7oFqNGLwN1qSbJDI+QcRRj8SuJ1jHyCmKSipnF6ZQL+tFV2NzVfGj/xmGT9TykQdQiBN+p5Idl4TA==" + "resolved": "8.14.0", + "contentHash": "iwbCpSjD3ehfTwBhtSNEtKPK0ICun6ov7Ibx6ISNA9bfwIyzI2Siwyi9eJFCJBwxowK9xcA1mj+jBWiigeqgcQ==" }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", @@ -483,8 +482,8 @@ }, "MySqlConnector": { "type": "Transitive", - "resolved": "2.4.0", - "contentHash": "78M+gVOjbdZEDIyXQqcA7EYlCGS3tpbUELHvn6638A2w0pkPI625ixnzsa5staAd3N9/xFmPJtkKDYwsXpFi/w==", + "resolved": "2.5.0", + "contentHash": "hoAwfHHF8DlRRqwHOhN3u1KLi+XbX/4LPS7Anfa+SYC97vRyIfdEOEEfj1L50q01Ik8aDNvmDrNmu/VPFiAiaQ==", "dependencies": { "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", "Microsoft.Extensions.Logging.Abstractions": "8.0.2" @@ -497,26 +496,26 @@ }, "Npgsql": { "type": "Transitive", - "resolved": "9.0.3", - "contentHash": "tPvY61CxOAWxNsKLEBg+oR646X4Bc8UmyQ/tJszL/7mEmIXQnnBhVJZrZEEUv0Bstu0mEsHZD5At3EO8zQRAYw==", + "resolved": "9.0.4", + "contentHash": "68BASXH0FAEuL/J4J0eRfYC8/3vzqQTmoW8zDzNf0JgaVxc7LZeEkS6jaG0ib3voFLxY5ZiCwJG+uQM+mzuu0Q==", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "8.0.2" } }, "Oracle.ManagedDataAccess.Core": { "type": "Transitive", - "resolved": "23.7.0", - "contentHash": "psGvNErUu9CO2xHplyp+4fSwDWv6oPKVUE/BRFTIeP2H2YvlstgBPa+Ze1xfAJuVIp2tT6alNtMNPFzAPmIn6Q==", + "resolved": "23.26.100", + "contentHash": "ObLgWXTEm1oy40uCVw6eBXSXbQHgpY+BNQN0lzO2GibSpIiCdvVi85DPmNLndprBC4fv2L+YV/xepzLXmv23eA==", "dependencies": { "System.Diagnostics.PerformanceCounter": "8.0.0", - "System.DirectoryServices.Protocols": "8.0.0", - "System.Security.Cryptography.Pkcs": "8.0.0" + "System.DirectoryServices.Protocols": "8.0.2", + "System.Security.Cryptography.Pkcs": "8.0.1" } }, "PatternKit.Core": { "type": "Transitive", - "resolved": "0.17.3", - "contentHash": "tnzK650Bnb5VcggnJEKnYbF2gZ/dajS8E3mfU/iuGOHK2s2LJsKI9+K3t+znd2SVgwxV2axsBHcMCj9dbndndw==" + "resolved": "0.34.0", + "contentHash": "FVkfNJQ6VW7kMdTLWzwzfksh8sCg3BlWzchyE0N6r0hJAGXsrgPRQ7NijaKCt17SXxr42NnvoDl2mwwcXoCQBg==" }, "SharpZipLib": { "type": "Transitive", @@ -525,10 +524,10 @@ }, "Snowflake.Data": { "type": "Transitive", - "resolved": "5.2.1", - "contentHash": "sdOYDe9u6E2yjQ2wio1wRwM0bvHS0vQDgmj8hFF64Dn2k1hU93+Iqpl61k5jlRAUF8/1Et0iCp+wcy4xnBwV7A==", + "resolved": "5.4.0", + "contentHash": "LnKi1FDoDglSEJNZA8Re42iopxIcndOEavyDknC+4Yi9kSG980mGTXOAvUNvzljw8Lnoa8arkspOf3UhLZwICQ==", "dependencies": { - "AWSSDK.S3": "4.0.4", + "AWSSDK.S3": "4.0.18.2", "Apache.Arrow": "14.0.2", "Azure.Storage.Blobs": "12.13.0", "Azure.Storage.Common": "12.12.0", @@ -569,16 +568,17 @@ }, "SSH.NET": { "type": "Transitive", - "resolved": "2024.2.0", - "contentHash": "9r+4UF2P51lTztpd+H7SJywk7WgmlWB//Cm2o96c6uGVZU5r58ys2/cD9pCgTk0zCdSkfflWL1WtqQ9I4IVO9Q==", + "resolved": "2025.1.0", + "contentHash": "jrnbtf0ItVaXAe6jE8X/kSLa6uC+0C+7W1vepcnRQB/rD88qy4IxG7Lf1FIbWmkoc4iVXv0pKrz+Wc6J4ngmHw==", "dependencies": { - "BouncyCastle.Cryptography": "2.4.0" + "BouncyCastle.Cryptography": "2.6.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.3" } }, "System.ClientModel": { "type": "Transitive", - "resolved": "1.5.1", - "contentHash": "k2jKSO0X45IqhVOT9iQB4xralNN9foRQsRvXBTyRpAVxyzCJlG895T9qYrQWbcJ6OQXxOouJQ37x5nZH5XKK+A==", + "resolved": "1.8.0", + "contentHash": "AqRzhn0v29GGGLj/Z6gKq4lGNtvPHT4nHdG5PDJh9IfVjv/nYUVmX11hwwws1vDFeIAzrvmn0dPu8IjLtu6fAw==", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "8.0.3", "System.Memory.Data": "8.0.1" @@ -613,8 +613,8 @@ }, "System.DirectoryServices.Protocols": { "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "puwJxURHDrYLGTQdsHyeMS72ClTqYa4lDYz6LHSbkZEk5hq8H8JfsO4MyYhB5BMMxg93jsQzLUwrnCumj11UIg==" + "resolved": "8.0.2", + "contentHash": "7pSU+qkmdkwbikAvn4kpvClfyffaR7dYJw7ucBtO5d6m/7wgKZIULOZAGFLMIMOFFmg7xC67TYKptHxcbqQm+Q==" }, "System.IdentityModel.Tokens.Jwt": { "type": "Transitive", @@ -627,8 +627,8 @@ }, "System.IO.Hashing": { "type": "Transitive", - "resolved": "10.0.1", - "contentHash": "Dy6ULPb2S0GmNndjKrEIpfibNsc8+FTOoZnqygtFDuyun8vWboQbfMpQtKUXpgTxokR5E4zFHETpNnGfeWY6NA==" + "resolved": "10.0.3", + "contentHash": "La6ICwsdTKhVX+LKN+pvFjQRR3LhLwq3uKdi2knjLzRyPYBSydF4cjXidYxIiTcDD6XVYdsBWQEI8ZxiZ/OdIg==" }, "System.Management": { "type": "Transitive", @@ -645,8 +645,8 @@ }, "System.Security.Cryptography.Pkcs": { "type": "Transitive", - "resolved": "9.0.4", - "contentHash": "cUFTcMlz/Qw9s90b2wnWSCvHdjv51Bau9FQqhsr4TlwSe1OX+7SoXUqphis5G74MLOvMOCghxPPlEqOdCrVVGA==" + "resolved": "9.0.11", + "contentHash": "YS2YqtN6fFjlTDIQI+ucjbbrEvwMn796r+VLTQRr/5Oy6g+i+m7nIou83KnJCnAcKna2I+5eVJRks6SoHSpetQ==" }, "System.Security.Cryptography.ProtectedData": { "type": "Transitive", @@ -655,13 +655,13 @@ }, "Testcontainers": { "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "P4+fXNjMtLW1CRjBQ3SUQWxz98mio+79OL6B+4DmzMaafW1rEVZ/eFHFG9TrxMWeg+cgftkzV7oPcGNZQ12Q9w==", + "resolved": "4.10.0", + "contentHash": "a7tH+s9IRME6QEeMRgl/mTqQyudgtGNJmJRPn1+LwW8w/2L11cJzRJd7Io0QoSrP+i6lAOETX2SRY7cLbElcdQ==", "dependencies": { - "Docker.DotNet.Enhanced": "3.126.1", - "Docker.DotNet.Enhanced.X509": "3.126.1", + "Docker.DotNet.Enhanced": "3.131.1", + "Docker.DotNet.Enhanced.X509": "3.131.1", "Microsoft.Extensions.Logging.Abstractions": "8.0.3", - "SSH.NET": "2024.2.0", + "SSH.NET": "2025.1.0", "SharpZipLib": "1.4.2" } }, @@ -727,18 +727,18 @@ "jd.efcpt.build.tasks": { "type": "Project", "dependencies": { - "AWSSDK.Core": "[4.0.3.8, )", - "FirebirdSql.Data.FirebirdClient": "[10.3.2, )", - "Microsoft.Build.Framework": "[18.0.2, )", - "Microsoft.Build.Utilities.Core": "[18.0.2, )", - "Microsoft.Data.SqlClient": "[6.1.3, )", - "Microsoft.Data.Sqlite.Core": "[9.0.1, )", - "MySqlConnector": "[2.4.0, )", - "Npgsql": "[9.0.3, )", - "Oracle.ManagedDataAccess.Core": "[23.7.0, )", - "PatternKit.Core": "[0.17.3, )", - "Snowflake.Data": "[5.2.1, )", - "System.IO.Hashing": "[10.0.1, )" + "AWSSDK.Core": "[4.0.3.14, )", + "FirebirdSql.Data.FirebirdClient": "[10.3.4, )", + "Microsoft.Build.Framework": "[18.3.3, )", + "Microsoft.Build.Utilities.Core": "[18.3.3, )", + "Microsoft.Data.SqlClient": "[6.1.4, )", + "Microsoft.Data.Sqlite.Core": "[9.0.13, )", + "MySqlConnector": "[2.5.0, )", + "Npgsql": "[9.0.4, )", + "Oracle.ManagedDataAccess.Core": "[23.26.100, )", + "PatternKit.Core": "[0.34.0, )", + "Snowflake.Data": "[5.4.0, )", + "System.IO.Hashing": "[10.0.3, )" } } } diff --git a/tests/JD.Efcpt.Sdk.IntegrationTests/JD.Efcpt.Sdk.IntegrationTests.csproj b/tests/JD.Efcpt.Sdk.IntegrationTests/JD.Efcpt.Sdk.IntegrationTests.csproj index 1b8dcc5..0c850ad 100644 --- a/tests/JD.Efcpt.Sdk.IntegrationTests/JD.Efcpt.Sdk.IntegrationTests.csproj +++ b/tests/JD.Efcpt.Sdk.IntegrationTests/JD.Efcpt.Sdk.IntegrationTests.csproj @@ -19,7 +19,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/tests/JD.Efcpt.Sdk.IntegrationTests/SqlGenerationIntegrationTests.cs b/tests/JD.Efcpt.Sdk.IntegrationTests/SqlGenerationIntegrationTests.cs index 63bd611..65a70b5 100644 --- a/tests/JD.Efcpt.Sdk.IntegrationTests/SqlGenerationIntegrationTests.cs +++ b/tests/JD.Efcpt.Sdk.IntegrationTests/SqlGenerationIntegrationTests.cs @@ -39,8 +39,7 @@ public async ValueTask DisposeAsync() private async Task SetupDatabaseWithTestSchema() { - _container = new MsSqlBuilder() - .WithImage("mcr.microsoft.com/mssql/server:2022-latest") + _container = new MsSqlBuilder("mcr.microsoft.com/mssql/server:2022-latest") .Build(); await _container.StartAsync(); diff --git a/tests/JD.Efcpt.Sdk.IntegrationTests/packages.lock.json b/tests/JD.Efcpt.Sdk.IntegrationTests/packages.lock.json index 3e5e3e4..afb3fac 100644 --- a/tests/JD.Efcpt.Sdk.IntegrationTests/packages.lock.json +++ b/tests/JD.Efcpt.Sdk.IntegrationTests/packages.lock.json @@ -45,11 +45,11 @@ }, "Testcontainers.MsSql": { "type": "Direct", - "requested": "[4.4.0, )", - "resolved": "4.4.0", - "contentHash": "Ghh7rK17G7Lf6fhmfnen2Jo3X6x3xrXaiakeR4KkR1bHFACeYSlbBvQhuAz1Vx+aVkcCzoLpbxexVwqnQocvcw==", + "requested": "[4.10.0, )", + "resolved": "4.10.0", + "contentHash": "2FnZFymCGNBB/bP38C8dFpFZjI7JSp1P8sVsoejEPd56NPDIc6CSZHnIJ6eu9arAbTyJ7+pGAbVyZ6notq/tVw==", "dependencies": { - "Testcontainers": "4.4.0" + "Testcontainers": "4.10.0" } }, "xunit": { @@ -101,20 +101,23 @@ }, "BouncyCastle.Cryptography": { "type": "Transitive", - "resolved": "2.4.0", - "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + "resolved": "2.6.2", + "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==" }, "Docker.DotNet.Enhanced": { "type": "Transitive", - "resolved": "3.126.1", - "contentHash": "UPyLBLBaVE3s7OCWM0h5g9w6mUOag5sOIP5CldFQekIWo/gHixgZR+o5fG7eCFH4ZdKlvBGM4ALFuOyPoKoJ3A==" + "resolved": "3.131.1", + "contentHash": "hGLHCNUsQbT2Ab/HUznRnNqYZQs40zInXa3eLwYjeNyfUYbw1pqqDGqcOLl5uGepS8IuigEYakEdAcVT/2ezYg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.3" + } }, "Docker.DotNet.Enhanced.X509": { "type": "Transitive", - "resolved": "3.126.1", - "contentHash": "XFHMC/iWHbloQgg9apZrxu010DmSamaAggu8nomCqTeotGyUGkv2Tt/aqk1ljC/4tjtTrb9LtFQwYpwZbMbiKg==", + "resolved": "3.131.1", + "contentHash": "8FU7zmttFQzp0xb0EPupxQ0nGtC2cTpukgh3jMxMT8luj5TSDyzIKTnroDpXCjpg9P2fV+6JIvC+IetsMEfyBA==", "dependencies": { - "Docker.DotNet.Enhanced": "3.126.1" + "Docker.DotNet.Enhanced": "3.131.1" } }, "Microsoft.Bcl.AsyncInterfaces": { @@ -273,10 +276,11 @@ }, "SSH.NET": { "type": "Transitive", - "resolved": "2024.2.0", - "contentHash": "9r+4UF2P51lTztpd+H7SJywk7WgmlWB//Cm2o96c6uGVZU5r58ys2/cD9pCgTk0zCdSkfflWL1WtqQ9I4IVO9Q==", + "resolved": "2025.1.0", + "contentHash": "jrnbtf0ItVaXAe6jE8X/kSLa6uC+0C+7W1vepcnRQB/rD88qy4IxG7Lf1FIbWmkoc4iVXv0pKrz+Wc6J4ngmHw==", "dependencies": { - "BouncyCastle.Cryptography": "2.4.0" + "BouncyCastle.Cryptography": "2.6.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.3" } }, "System.ClientModel": { @@ -328,13 +332,13 @@ }, "Testcontainers": { "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "P4+fXNjMtLW1CRjBQ3SUQWxz98mio+79OL6B+4DmzMaafW1rEVZ/eFHFG9TrxMWeg+cgftkzV7oPcGNZQ12Q9w==", + "resolved": "4.10.0", + "contentHash": "a7tH+s9IRME6QEeMRgl/mTqQyudgtGNJmJRPn1+LwW8w/2L11cJzRJd7Io0QoSrP+i6lAOETX2SRY7cLbElcdQ==", "dependencies": { - "Docker.DotNet.Enhanced": "3.126.1", - "Docker.DotNet.Enhanced.X509": "3.126.1", + "Docker.DotNet.Enhanced": "3.131.1", + "Docker.DotNet.Enhanced.X509": "3.131.1", "Microsoft.Extensions.Logging.Abstractions": "8.0.3", - "SSH.NET": "2024.2.0", + "SSH.NET": "2025.1.0", "SharpZipLib": "1.4.2" } },