Restructure repo into src/tests directory layout and consolidate Eventing test factories#517
Draft
jschick04 wants to merge 28 commits intojschick/move-modals-to-componentsfrom
Draft
Conversation
…ception> with specific assertions
…and explicit skips
…side lifecycle lock
…TP wait registration
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request completes the repository re-layout into src/ + tests/Unit + tests/Integration, removes remaining cross-project test-source linkage, and consolidates repeated Eventing test model setup behind shared factories while updating namespaces/APIs introduced by the Eventing refactor stack.
Changes:
- Move solution + projects into
src/and split tests intotests/Unitandtests/Integration, updating CI to run them separately. - Introduce/expand shared test utilities (constants + factories) and replace inline model constructions in Eventing tests.
- Finalize Eventing namespace moves (
Helpers→Logging/Readers/Interop) and tighten a few internal surfaces (friend assemblies viaInternalsVisibleTo).
Reviewed changes
Copilot reviewed 147 out of 209 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/LoggerUtils.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/HttpUtils.cs | Add HTTP test helper with mock HttpMessageHandler. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/GitHubUtils.cs | Add GitHub release model fixture builder for UI tests. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/FilterUtils.cs | Add shared filter/test factory helpers for UI model tests. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/EventUtils.cs | Update imports for Readers namespace usage. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/DeploymentUtils.cs | Add WinRT deployment operation mock for update/deployment tests. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/DatabaseSeedUtils.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/Constants/Constants.Settings.cs | Add shared settings constants for tests. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/Constants/Constants.GitHubRelease.cs | Add GitHub release fixture constants. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/Constants/Constants.Filter.cs | Add shared filter-expression/value constants. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/Constants/Constants.EventLog.cs | Add shared event log/path constants. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/Constants/Constants.Deployment.cs | Add deployment/update-related constants for tests. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/Constants/Constants.DebugLog.cs | Add debug-log fixture constants for UI tests. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/Constants/Constants.Database.cs | Add database fixture constants for UI tests. |
| tests/Unit/EventLogExpert.UI.Tests/TestUtils/Constants/Constants.AppTitle.cs | Add app title/progress constants for tests. |
| tests/Unit/EventLogExpert.UI.Tests/Store/FilterPane/FilterPaneEffectsTests.cs | Update imports for moved Eventing types. |
| tests/Unit/EventLogExpert.UI.Tests/Store/FilterGroup/FilterGroupEffectsTests.cs | Add new tests covering filter-group effects persistence/dispatch. |
| tests/Unit/EventLogExpert.UI.Tests/Store/EventTable/EventTableStoreTests.cs | Update imports for moved Eventing types. |
| tests/Unit/EventLogExpert.UI.Tests/Store/EventLog/EventLogStoreTests.cs | Update imports for moved Eventing types. |
| tests/Unit/EventLogExpert.UI.Tests/Store/EventLog/EventLogEffectsTests.cs | Update imports for moved Eventing logging/reader types. |
| tests/Unit/EventLogExpert.UI.Tests/Services/UpdateServiceTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.UI.Tests/Services/ReversedListViewTests.cs | Add unit tests for ReversedListView<T>. |
| tests/Unit/EventLogExpert.UI.Tests/Services/ReleaseNotesNormalizerTests.cs | Add tests for release notes normalization behavior. |
| tests/Unit/EventLogExpert.UI.Tests/Services/MenuServiceTests.cs | Add tests for menu open/close/navigation event semantics. |
| tests/Unit/EventLogExpert.UI.Tests/Services/GitHubServiceTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.UI.Tests/Services/FilterServiceTests.cs | Update imports for moved Eventing types. |
| tests/Unit/EventLogExpert.UI.Tests/Services/FilterCompilerTests.cs | Add tests for filter compilation/validation. |
| tests/Unit/EventLogExpert.UI.Tests/Services/FilterCategoryItemsCacheTests.cs | Update imports for moved Eventing types. |
| tests/Unit/EventLogExpert.UI.Tests/Services/EmptyLogAlertFormatterTests.cs | Add tests for empty-log alert message formatting. |
| tests/Unit/EventLogExpert.UI.Tests/Services/DeploymentServiceTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.UI.Tests/Services/DatabaseServiceTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.UI.Tests/Services/BannerServiceTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.UI.Tests/Models/RequiresXmlTests.cs | Add tests for EventFilter.RequiresXml aggregation. |
| tests/Unit/EventLogExpert.UI.Tests/Models/GitReleaseModelTests.cs | Add tests for parsed/normalized GitHub release changes list. |
| tests/Unit/EventLogExpert.UI.Tests/Models/FilterModelTests.cs | Add round-trip + creation tests for FilterModel persistence/behavior. |
| tests/Unit/EventLogExpert.UI.Tests/Models/FilterDraftModelTests.cs | Add tests for draft/model conversion and immutability expectations. |
| tests/Unit/EventLogExpert.UI.Tests/Models/FilterDataTests.cs | Add tests for FilterData copy/WithCategory semantics. |
| tests/Unit/EventLogExpert.UI.Tests/Models/FilterDataDraftTests.cs | Add tests for draft mutation + round-trip conversion. |
| tests/Unit/EventLogExpert.UI.Tests/LogNameMethodsTests.cs | Add tests for LogNameMethods.GetMenuPath and hard-coded names. |
| tests/Unit/EventLogExpert.UI.Tests/GlobalUsings.cs | Add global Xunit using. |
| tests/Unit/EventLogExpert.UI.Tests/EventLogExpert.UI.Tests.csproj | Fix project reference path under new repo layout. |
| tests/Unit/EventLogExpert.UI.Tests/DateRangeDefaultsTests.cs | Update imports for moved Eventing types. |
| tests/Unit/EventLogExpert.UI.Tests/DatabaseStatusLabelsTests.cs | Add tests for status→label mapping and badge label precedence. |
| tests/Unit/EventLogExpert.Eventing.Tests/TestUtils/EventUtils.cs | Add shared factories for Eventing unit tests (provider/message/event models). |
| tests/Unit/EventLogExpert.Eventing.Tests/TestUtils/Constants/Constants.Resolver.cs | Add resolver-related constants to shared test constants. |
| tests/Unit/EventLogExpert.Eventing.Tests/TestUtils/Constants/Constants.Provider.cs | Add provider/log constants to shared test constants. |
| tests/Unit/EventLogExpert.Eventing.Tests/TestUtils/CompressionTestUtils.cs | Add compression test helpers + fixture types. |
| tests/Unit/EventLogExpert.Eventing.Tests/Readers/LogNamesTests.cs | Update namespace/imports to match Readers move. |
| tests/Unit/EventLogExpert.Eventing.Tests/Providers/ProviderDetailsTests.cs | Replace inline ProviderDetails construction with factories/constants. |
| tests/Unit/EventLogExpert.Eventing.Tests/Providers/EventMessageProviderTests.cs | Add/adjust tests for EventMessageProvider.GetMessages behavior/logging. |
| tests/Unit/EventLogExpert.Eventing.Tests/Interop/NativeMethodsTests.cs | Update namespace/imports to match Interop move. |
| tests/Unit/EventLogExpert.Eventing.Tests/Interop/NativeErrorResolverTests.cs | Update tests for renamed NativeErrorResolver APIs. |
| tests/Unit/EventLogExpert.Eventing.Tests/GlobalUsings.cs | Add global Xunit using. |
| tests/Unit/EventLogExpert.Eventing.Tests/EventResolvers/VersatileEventResolverTests.cs | Update logging imports; add mixed DB/unknown provider scenario test; refactor provider loop into theory. |
| tests/Unit/EventLogExpert.Eventing.Tests/EventResolvers/LocalProviderEventResolverTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.Eventing.Tests/EventResolvers/EventResolverCacheTests.cs | Whitespace-only cleanup in concurrency assertions. |
| tests/Unit/EventLogExpert.Eventing.Tests/EventResolvers/EventResolverBaseTests.cs | Update imports for Interop + Logging; strengthen a Win32 message assertion; add supplemental-details unmapped-id test. |
| tests/Unit/EventLogExpert.Eventing.Tests/EventResolvers/EventProviderDatabaseEventResolverTests.cs | Replace inline ProviderDetails creation with factory calls; update logging import. |
| tests/Unit/EventLogExpert.Eventing.Tests/EventProviderDatabase/ProviderJsonContextTests.cs | Add coverage ensuring source-generated JSON metadata is present + basic round-trips. |
| tests/Unit/EventLogExpert.Eventing.Tests/EventProviderDatabase/CompressedJsonValueConverterTests.cs | Narrow invalid-data assertion to InvalidDataException. |
| tests/Unit/EventLogExpert.Eventing.Tests/EventLogExpert.Eventing.Tests.csproj | Fix project reference path under new repo layout. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/UpgradeDatabaseCommandTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/TestUtils/DatabaseTestUtils.cs | Add shared DB-tool test helpers for temp DB creation/cleanup. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/TestUtils/Constants/Constants.Database.cs | Add DB-tool test constants. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/ProviderSourceTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/MergeDatabaseCommandTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/GlobalUsings.cs | Add global Xunit using. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/EventLogExpert.EventDbTool.Tests.csproj | Add unit-test project file under new repo layout. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/DiffDatabaseCommandTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.Components.Tests/TestUtils/DebugLogUtils.cs | Add component-test debug log helpers (line formatting + async enumerables). |
| tests/Unit/EventLogExpert.Components.Tests/TestUtils/Constants/Constants.DebugLog.cs | Add debug log constants for components tests. |
| tests/Unit/EventLogExpert.Components.Tests/GlobalUsings.cs | Add global Xunit using. |
| tests/Unit/EventLogExpert.Components.Tests/EventLogExpert.Components.Tests.csproj | Fix project reference path under new repo layout. |
| tests/Unit/EventLogExpert.Components.Tests/Database/SettingsUpgradeProgressBannerTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.Components.Tests/Database/DatabaseRecoveryHostTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.Components.Tests/Database/DatabaseRecoveryDialogTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Unit/EventLogExpert.Components.Tests/BannerHostTests.cs | Update imports to new Eventing.Logging namespace. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/TestUtils/Constants/Constants.Provider.cs | Add local integration-test provider constants (removes cross-project link). |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/Readers/SmallEvtxFixture.cs | Add bounded .evtx export fixture to keep integration tests deterministic/fast. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/Readers/EventLogSessionTests.cs | Update namespaces/constants; tighten exception expectations; remove weak “type-only” tests. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/Readers/EventLogReaderTests.cs | Switch bookmark tests to bounded fixture; remove flaky/weak assertions. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/Readers/EventLogInformationTests.cs | Tighten input validation/exception expectations; remove environment-dependent tests. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/Providers/ProviderMetadataTests.cs | Update namespaces/imports; remove weak “returns IDictionary/IEnumerable” tests. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/GlobalUsings.cs | Add global Xunit using. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/EventLogExpert.Eventing.IntegrationTests.csproj | Add integration-test project under new layout. |
| src/EventLogExpert/Services/MauiMenuActionService.cs | Update imports to new Eventing.Logging namespace. |
| src/EventLogExpert/Services/ClipboardService.cs | Update imports to new Eventing.Logging namespace. |
| src/EventLogExpert/MauiProgram.cs | Reorder/update imports for moved logging types. |
| src/EventLogExpert/MainPage.xaml.cs | Update imports to Eventing.Logging and Eventing.Readers. |
| src/EventLogExpert/Components/Sections/SplitLogTabPane.razor.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert/Components/Sections/EventTable.razor.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert/Components/Sections/DetailsPane.razor.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert/Components/Layout/UnhandledExceptionHandler.razor.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert/App.xaml.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert/_Imports.razor | Update Razor imports for moved Readers namespace. |
| src/EventLogExpert.UI/Store/LoggingMiddleware.cs | Update imports to Eventing.Logging/Eventing.Readers. |
| src/EventLogExpert.UI/Store/FilterCache/FilterCacheReducers.cs | Formatting-only adjustment to with { ... } indentation. |
| src/EventLogExpert.UI/Store/EventTable/EventTableReducers.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.UI/Store/EventLog/LiveLogWatcherService.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.UI/Store/EventLog/ILogReloadCoordinator.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.UI/Store/EventLog/EventLogReducers.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.UI/Store/EventLog/EventLogEffects.cs | Update imports to Eventing.Logging; whitespace cleanup. |
| src/EventLogExpert.UI/Store/EventLog/EventLogAction.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.UI/Services/UpdateService.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.UI/Services/ReleaseNotesNormalizer.cs | Trailing whitespace cleanup. |
| src/EventLogExpert.UI/Services/GitHubService.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.UI/Services/FilterCategoryItemsCache.cs | Switch to Eventing.Models for severity enum source. |
| src/EventLogExpert.UI/Services/DeploymentService.cs | Update imports to Eventing.Logging; whitespace/style fixes in switch. |
| src/EventLogExpert.UI/Services/DebugLogService.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.UI/Services/DatabaseService.cs | Update imports to Eventing.Logging; brace formatting fix. |
| src/EventLogExpert.UI/Services/BannerService.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.UI/Services/ApplicationRestartService.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.UI/Models/EventTableModel.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.UI/Models/EventLogData.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.UI/LogNameMethods.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.slnx | Remove old solution file under src/ (moved to repo root). |
| EventLogExpert.slnx | Add solution file at repo root with src/ + tests/Unit + tests/Integration structure. |
| src/EventLogExpert.Eventing/Readers/PathType.cs | Introduce PathType under Readers namespace. |
| src/EventLogExpert.Eventing/Readers/LogNames.cs | Move LogNames into Readers namespace. |
| src/EventLogExpert.Eventing/Readers/EventLogSession.cs | Update to Interop.NativeMethods and Win32ErrorCodes. |
| src/EventLogExpert.Eventing/Readers/EventLogReader.cs | Update to Interop.NativeMethods and Win32ErrorCodes. |
| src/EventLogExpert.Eventing/Readers/EventLogInformation.cs | Add argument validation + correct handle failure surfacing via NativeMethods.ThrowEventLogException. |
| src/EventLogExpert.Eventing/Providers/RegistryProvider.cs | Move to Logging/Readers usage; internalize + minor style tweak. |
| src/EventLogExpert.Eventing/Providers/EventMessageProvider.cs | Move interop/logging imports; internalize GetMessages; switch some interop calls to NativeMethods. |
| src/EventLogExpert.Eventing/Properties/AssemblyInfo.cs | Remove old InternalsVisibleTo attribute file (moved to csproj). |
| src/EventLogExpert.Eventing/Models/SeverityLevel.cs | Split out SeverityLevel enum into Models. |
| src/EventLogExpert.Eventing/Models/Severity.cs | Move Severity into Models namespace and keep mapping logic. |
| src/EventLogExpert.Eventing/Models/EventRecord.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.Eventing/Models/DisplayEventModel.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.Eventing/Logging/WarnLogHandler.cs | Add interpolated-string handler for warning-level logging. |
| src/EventLogExpert.Eventing/Logging/TraceLogHandler.cs | Add interpolated-string handler for trace-level logging. |
| src/EventLogExpert.Eventing/Logging/TraceLogger.cs | Move TraceLogger into Eventing.Logging namespace + whitespace cleanup. |
| src/EventLogExpert.Eventing/Logging/LogHandlerCore.cs | Add pooled StringBuilder core for interpolated-string handlers. |
| src/EventLogExpert.Eventing/Logging/ITraceLogger.cs | Move interface into Eventing.Logging namespace. |
| src/EventLogExpert.Eventing/Logging/InfoLogHandler.cs | Add interpolated-string handler for info-level logging. |
| src/EventLogExpert.Eventing/Logging/ErrorLogHandler.cs | Add interpolated-string handler for error-level logging. |
| src/EventLogExpert.Eventing/Logging/DebugLogHandler.cs | Add interpolated-string handler for debug-level logging. |
| src/EventLogExpert.Eventing/Logging/CriticalLogHandler.cs | Add interpolated-string handler for critical-level logging. |
| src/EventLogExpert.Eventing/Interop/Win32ErrorCodes.cs | Rename/move Win32 error constants into Interop. |
| src/EventLogExpert.Eventing/Interop/SystemTime.cs | Move SystemTime interop struct into Interop namespace. |
| src/EventLogExpert.Eventing/Interop/NativeMethods.cs | Move NativeMethods into Interop namespace; remove embedded LoadLibraryFlags (now separate file). |
| src/EventLogExpert.Eventing/Interop/NativeErrorResolver.cs | Rename/move error resolver to NativeErrorResolver in Interop. |
| src/EventLogExpert.Eventing/Interop/MessageResourceBlock.cs | Move interop struct into Interop namespace. |
| src/EventLogExpert.Eventing/Interop/LoadLibraryFlags.cs | Add LoadLibraryFlags enum as standalone interop type. |
| src/EventLogExpert.Eventing/Interop/LibraryHandle.cs | Move LibraryHandle into Interop namespace. |
| src/EventLogExpert.Eventing/Interop/HResultConverter.cs | Rename/move HRESULT helper into Interop namespace. |
| src/EventLogExpert.Eventing/Interop/EvtVariant.cs | Move EvtVariant into Interop namespace. |
| src/EventLogExpert.Eventing/Interop/EvtHandle.cs | Move EvtHandle into Interop namespace and update close call. |
| src/EventLogExpert.Eventing/Interop/EvtEnums.cs | Add consolidated internal EVT enum definitions. |
| src/EventLogExpert.Eventing/Helpers/ExtensionMethods.cs | Remove unused string regex extension helper. |
| src/EventLogExpert.Eventing/EventResolvers/EventXmlResolver.cs | Seal resolver; replace virtual resolve with injectable strategy; update to NativeMethods. |
| src/EventLogExpert.Eventing/EventResolvers/EventResolverBase.cs | Update imports to Interop/Logging/Readers; swap to NativeErrorResolver. |
| src/EventLogExpert.Eventing/EventResolvers/EventResolver.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.Eventing/EventProviderDatabase/JsonValueConverter.cs | Remove unused JSON converter. |
| src/EventLogExpert.Eventing/EventProviderDatabase/EventProviderDbContext.cs | Update imports to Eventing.Logging; whitespace cleanup. |
| src/EventLogExpert.Eventing/EventProviderDatabase/CompressedJsonValueConverter.cs | Internalize + seal converter type used by EF model conversion. |
| src/EventLogExpert.Eventing/EventLogExpert.Eventing.csproj | Add InternalsVisibleTo entries for unit + integration test projects. |
| src/EventLogExpert.Eventing.Tests/Readers/SmallEvtxFixture.cs | Remove old fixture from previous test project location. |
| src/EventLogExpert.EventDbTool/UpgradeDatabaseCommand.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.EventDbTool/ShowCommand.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.EventDbTool/RegexHelper.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.EventDbTool/ProviderSource.cs | Update imports to Eventing.Logging; minor whitespace. |
| src/EventLogExpert.EventDbTool/Program.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.EventDbTool/MtaProviderSource.cs | Update imports to Eventing.Logging; minor whitespace. |
| src/EventLogExpert.EventDbTool/MergeDatabaseCommand.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.EventDbTool/DiffDatabaseCommand.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.EventDbTool/DbToolCommand.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.EventDbTool/CreateDatabaseCommand.cs | Update imports to Eventing.Logging; minor whitespace. |
| src/EventLogExpert.EventDbTool.Tests/EventLogExpert.EventDbTool.Tests.csproj | Remove old test project file from prior location. |
| src/EventLogExpert.Components/Menu/MenuRenderer.razor.cs | Minor whitespace/flow adjustment in key handling. |
| src/EventLogExpert.Components/Menu/MenuBar.razor.cs | Update imports to Eventing.Readers. |
| src/EventLogExpert.Components/Filters/SubFilterRow.razor.cs | Minor formatting/braces fix. |
| src/EventLogExpert.Components/Database/SettingsUpgradeProgressBanner.razor.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.Components/Database/DatabaseRecoveryHost.razor.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.Components/Database/DatabaseRecoveryDialog.razor.cs | Update imports to Eventing.Logging. |
| src/EventLogExpert.Components/BannerHost.razor.cs | Update imports to Eventing.Logging; whitespace cleanup. |
| Directory.Packages.props | Add central package version management. |
| Directory.Build.props | Add repo-wide build/test properties + conditional target frameworks. |
| .github/workflows/PullRequest.yml | Update CI to build root solution and run unit/integration test projects separately. |
Comments suppressed due to low confidence (2)
tests/Unit/EventLogExpert.Eventing.Tests/TestUtils/EventUtils.cs:133
CreateMessageModeldefaultsShortIdto 0 whenshortIdis omitted.MessageModel.ShortIdis defined as “the two low bytes of the raw ID”, so this default makes factory-produced messages unrealistic and can accidentally create collisions (differentrawIdvalues all map to ShortId=0). Consider defaultingShortIdto the low 16 bits ofrawId(e.g., unchecked cast) whenshortIdis null.
src/EventLogExpert.Eventing/Providers/EventMessageProvider.cs:37GetMessageswill currently throw aNullReferenceExceptioniflegacyProviderFilesis null (due to theforeach). Since this is a shared helper, it should validate inputs explicitly (e.g., throwArgumentNullExceptionforlegacyProviderFilesandArgumentException/ArgumentNullExceptionforproviderName) to produce a predictable contract for callers and tests.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
8eff391 to
b857356
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #516 — base is
jschick/move-modals-to-componentsto mirror the PR-Eventing stack. When #516 merges, this PR''s diff resolves to just the 3 commits at its tip.Summary
Restructure the repo into top-level
src/,tests/Unit/, andtests/Integration/directories, lift the solution file to the repo root, replace a fragile cross-test-project source link with a local copy, and consolidate inline model construction inEventing.Testsbehind shared factories.Why now
PR #516 split Eventing tests into a dedicated
EventLogExpert.Eventing.IntegrationTestsproject, but everything still lived undersrc/next to production code, and the integration project compiledConstants.Provider.csvia<Compile Include="..\..\..\src\EventLogExpert.Eventing.Tests\TestUtils\Constants\Constants.Provider.cs" Link="..." />— a path-fragile cross-project reference flagged by review. This PR finishes the test-isolation story: prod and tests live in physically separate trees, every test project owns its ownTestUtils, and the 50+ inlinenew ProviderDetails / EventModel / MessageModel { ... }constructions inEventing.Testsmove behind named factory helpers so the next round of test changes doesn''t have to hunt-and-peck through duplicated literals.Changes (3 commits on top of #516)
Restructure into
src/,tests/Unit/,tests/Integration/and split CI test runs. 111 file moves (preserved viagit mv, ≥80% rename similarity), 2 modifications:EventLogExpert.slnxlifted to the repo root, GH workflow updated to run unit and integration test suites as separate steps.Promote Eventing model factories into
EventUtils. New public helpersCreateEventModel(...),CreateMessageModel(...),CreateProvider(...)(the last one promoted fromProviderDetailsMergerTests''s private static). 66 inline constructions replaced acrossEventProviderDbContextTests(36),ProviderDetailsMergerTests(9),ProviderDetailsTests(8),EventProviderDatabaseEventResolverTests(13). Bespoke arrange data inEventResolverBaseTests(16 matches) deliberately left inline — each fixture has load-bearing parameter shape that a generic factory would obscure.Replace cross-project
Constants.Providerlink with local copy. Drops the<Compile Include>fromEventLogExpert.Eventing.IntegrationTests.csproj; new localtests/Integration/EventLogExpert.Eventing.IntegrationTests/TestUtils/Constants/Constants.Provider.cs(17 lines, 8 constants — the subset the integration suite actually uses, in namespaceEventLogExpert.Eventing.IntegrationTests.TestUtils.Constants). Seven integration test files updated to import the local namespace. Per the AGENTS.md TestUtils rule, duplication beats cross-project linkage when the surfaces can drift independently. Same commit also folds in nine pre-existing whitespace cleanups (IDE2000 / IDE2003) auto-applied bydotnet format.Verification
dotnet build EventLogExpert.slnx— 0 warnings, 0 errorsdotnet test EventLogExpert.slnx --filter "FullyQualifiedName!~IntegrationTests"— 1,625 / 1,625 pass (Eventing.Tests 389 / EventDbTool.Tests 19 / Components.Tests 144 / UI.Tests 1,073)dotnet format EventLogExpert.slnx --verify-no-changes— cleangit mv— history preserved.backup/test-isolation-pre-rebuild-20260508retained in case the rebuild needs to be undone.