Eventuous / eventuous

Event Sourcing library for .NET
https://eventuous.dev
Apache License 2.0
442 stars 70 forks source link

Consolidate SubscriptionHealthCheck DI registrations #310

Closed PehrGit closed 7 months ago

PehrGit commented 7 months ago

Consolidate SubscriptionHealthCheck DI registrations because the differing way of registering was causing 2 instances to be created, with SubscriptionHostedService being injected with a different instance than the one used by the ASP health check runner.

This lead to the health check always reporting Healthy because the _healthReports array was always empty. ReportUnhealthy was being called properly, but it was updating the _healthReports of another instance.

github-actions[bot] commented 7 months ago

Test Results

 51 files  + 34   51 suites  +34   16m 27s :stopwatch: + 12m 0s 145 tests +  4  141 :white_check_mark: +  4  0 :zzz: ±0   4 :x: ±0  423 runs  +282  411 :white_check_mark: +274  0 :zzz: ±0  12 :x: +8 

For more details on these failures, see this check.

Results for commit 805f6ad0. ± Comparison against base commit 0be16566.

This pull request removes 2 and adds 6 tests. Note that renamed tests count towards both. ``` Eventuous.Tests.Subscriptions.SequenceTests ‑ ShouldReturnFirstBefore(sequence: [CommitPosition { Position: 0, Sequence: 1, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }, CommitPosition { Position: 0, Sequence: 2, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }, CommitPosition { Position: 0, Sequence: 4, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }, CommitPosition { Position: 0, Sequence: 6, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }], expected: CommitPosition { Position: 0, Sequence: 2, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }) Eventuous.Tests.Subscriptions.SequenceTests ‑ ShouldReturnFirstBefore(sequence: [CommitPosition { Position: 0, Sequence: 1, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }, CommitPosition { Position: 0, Sequence: 2, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }, CommitPosition { Position: 0, Sequence: 6, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }, CommitPosition { Position: 0, Sequence: 8, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }], expected: CommitPosition { Position: 0, Sequence: 2, Timestamp: 2023-11-24T15:37:15.8352102+00:00 }) ``` ``` Eventuous.Tests.Subscriptions.SequenceTests ‑ ShouldReturnFirstBefore(sequence: [CommitPosition { Position: 0, Sequence: 1, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }, CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }, CommitPosition { Position: 0, Sequence: 4, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }, CommitPosition { Position: 0, Sequence: 6, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }], expected: CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }) Eventuous.Tests.Subscriptions.SequenceTests ‑ ShouldReturnFirstBefore(sequence: [CommitPosition { Position: 0, Sequence: 1, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }, CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }, CommitPosition { Position: 0, Sequence: 6, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }, CommitPosition { Position: 0, Sequence: 8, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }], expected: CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:04.1848994+00:00 }) Eventuous.Tests.Subscriptions.SequenceTests ‑ ShouldReturnFirstBefore(sequence: [CommitPosition { Position: 0, Sequence: 1, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }, CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }, CommitPosition { Position: 0, Sequence: 4, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }, CommitPosition { Position: 0, Sequence: 6, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }], expected: CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }) Eventuous.Tests.Subscriptions.SequenceTests ‑ ShouldReturnFirstBefore(sequence: [CommitPosition { Position: 0, Sequence: 1, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }, CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }, CommitPosition { Position: 0, Sequence: 6, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }, CommitPosition { Position: 0, Sequence: 8, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }], expected: CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:04.8010757+00:00 }) Eventuous.Tests.Subscriptions.SequenceTests ‑ ShouldReturnFirstBefore(sequence: [CommitPosition { Position: 0, Sequence: 1, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }, CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }, CommitPosition { Position: 0, Sequence: 4, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }, CommitPosition { Position: 0, Sequence: 6, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }], expected: CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }) Eventuous.Tests.Subscriptions.SequenceTests ‑ ShouldReturnFirstBefore(sequence: [CommitPosition { Position: 0, Sequence: 1, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }, CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }, CommitPosition { Position: 0, Sequence: 6, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }, CommitPosition { Position: 0, Sequence: 8, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }], expected: CommitPosition { Position: 0, Sequence: 2, Timestamp: 2024-01-25T14:02:16.3650307+00:00 }) ```