diff --git a/SaBusMgrTest_Control/SaBusMgrTest_Control.csproj b/SaBusMgrTest_Control/SaBusMgrTest_Control.csproj index 7a40c70..ab0c82b 100644 --- a/SaBusMgrTest_Control/SaBusMgrTest_Control.csproj +++ b/SaBusMgrTest_Control/SaBusMgrTest_Control.csproj @@ -17,8 +17,8 @@ - - + + diff --git a/SaBusMgrTest_Portal/SaBusMgrTest_Portal.csproj b/SaBusMgrTest_Portal/SaBusMgrTest_Portal.csproj index 9755a0a..b0e3101 100644 --- a/SaBusMgrTest_Portal/SaBusMgrTest_Portal.csproj +++ b/SaBusMgrTest_Portal/SaBusMgrTest_Portal.csproj @@ -16,8 +16,8 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/docs/component-reviews.md b/docs/component-reviews.md index 2e42c58..bd185c0 100644 --- a/docs/component-reviews.md +++ b/docs/component-reviews.md @@ -14,4 +14,4 @@ Last updated: 2026-09-14 | `BusinessMgr.sln` | .NET 10 restore, Debug build, and tests | Migrated; passing with warnings and toolchain requirement | 2026-09-13 | Review remaining framework-specific packages, perform application smoke tests, then release-validate. | All eight projects target `net10.0`. The complete solution builds with Visual Studio 18 MSBuild; the .NET CLI cannot build `SaBusMgrTest_Portal` because its SSDT SQL unit-testing targets are Visual Studio-specific (`MSB4278`). Control tests pass 11 of 11 and Portal tests pass 13 of 13. The Identity-related `NU1903` warnings have been removed. | | `SaBusMgrStandardBase/Base/Helpers/SbmPasswordHelper.cs` and `SaBusinessMgrCoreWebControl/Control/Helpers/SbmcPasswordHelper.cs` | Password hashing | Dependency upgrade complete; legacy hashes compatible | 2026-09-13 | Preserve the compatibility tests when password-hashing defaults or account migration behavior changes. | Both helpers use `PasswordHasher` from `Microsoft.Extensions.Identity.Core` 10.0.12. Current hashes round-trip, wrong passwords fail, and legacy Identity V3 hashes remain valid while being identified for rehash. | | `eng/validate.ps1` | Repository validation | Complete; passing | 2026-09-13 | Use as the standard validation entry point and extend it when repository-wide checks change. | Locates Visual Studio MSBuild for the SSDT project, builds serially, runs 11 Control and 13 Portal tests, audits the Identity-package-owning project, and verifies changed-file line endings and diffs. | -| `SaBusMgrTest_Control` and `SaBusMgrTest_Portal` | Test SDK and coverage tooling | Current; coverage verified | 2026-09-14 | Treat MSTest 4 as a separate major-version review. | Both projects use Microsoft.NET.Test.Sdk 18.10.0 and coverlet collector 10.0.1. Control passes 11 tests and Portal passes 13 tests. The optional validation coverage mode verifies a non-empty Cobertura report from each suite and handles Portal's Visual Studio-only SSDT targets through an MSBuild publish step. | +| `SaBusMgrTest_Control` and `SaBusMgrTest_Portal` | Test SDK and coverage tooling | Current; coverage verified | 2026-09-14 | Preserve the analyzer-clean build and explicit coverage validation during future test-tool upgrades. | Both projects use Microsoft.NET.Test.Sdk 18.10.0, MSTest 4.4.0, and coverlet collector 10.0.1. Control passes 11 tests and Portal passes 13 tests without MSTest analyzer warnings. The optional validation coverage mode verifies a non-empty Cobertura report from each suite and handles Portal's Visual Studio-only SSDT targets through an MSBuild publish step. | diff --git a/docs/topics.md b/docs/topics.md index d83c347..e0d8eab 100644 --- a/docs/topics.md +++ b/docs/topics.md @@ -39,4 +39,4 @@ Last updated: 2026-09-14 | Migrate BusinessMgr to .NET 10 against compatible Common targets | 2026-09-10 | 2026-09-10 | 2026-09-10 | All eight BusinessMgr projects now target `net10.0`. Visual Studio 18 MSBuild restored and built the complete solution successfully with no compilation errors. Control tests passed 8 of 8 and Portal tests passed 13 of 13 on .NET 10. Package vulnerability and framework-specific package reviews are tracked separately. | | Automate BusinessMgr validation | 2026-09-12 | 2026-09-12 | 2026-09-12 | Added `eng/validate.ps1` to locate Visual Studio MSBuild, build the SSDT-dependent solution serially, run both test assemblies, and verify diffs and changed-file line endings. The script passes with 8 of 8 Control and 13 of 13 Portal tests. | | Remove vulnerable transitive `System.Security.Cryptography.Xml` 8.0.2 dependency | 2026-09-10 | 2026-09-13 | 2026-09-13 | Replaced the broad legacy `Microsoft.AspNetCore.Identity` 2.3.1 reference with `Microsoft.Extensions.Identity.Core` 10.0.12, matching the only used API, `PasswordHasher`. Three focused tests cover both password helpers, wrong-password rejection, current hash round trips, legacy Identity V3 verification, and rehash detection. Restore and build no longer report `NU1903`; 11 Control and 13 Portal tests pass, and the package audit reports no vulnerable packages for `SaBusMgrStandardBase`. | -| Update BusinessMgr coverage tooling | 2026-09-14 | 2026-09-14 | 2026-09-14 | Updated both test projects to Microsoft.NET.Test.Sdk 18.10.0 and coverlet collector 10.0.1. Full validation passes with 11 Control and 13 Portal tests. The optional `-CollectCoverage` validation mode verifies non-empty Cobertura reports for both suites; the SSDT-based Portal project is published with Visual Studio MSBuild before `dotnet vstest`. MSTest 4 remains a separately scoped major upgrade. | +| Update BusinessMgr test and coverage tooling | 2026-09-14 | 2026-09-14 | 2026-09-14 | Updated both test projects to Microsoft.NET.Test.Sdk 18.10.0, MSTest 4.4.0, and coverlet collector 10.0.1. Full validation passes without MSTest analyzer warnings, with 11 Control and 13 Portal tests. The optional `-CollectCoverage` validation mode verifies non-empty Cobertura reports for both suites; the SSDT-based Portal project is published with Visual Studio MSBuild before `dotnet vstest`. |