Skip to content

chore(tests): retire obsolete TCP integration fixtures - #494

Merged
yordis merged 4 commits into
masterfrom
yordis/chore-retire-core-tcp-tests
Sep 21, 2026
Merged

yordis merged 4 commits into
masterfrom
yordis/chore-retire-core-tcp-tests

Conversation

@yordis

@yordis yordis commented Sep 12, 2026 •

Copy link
Copy Markdown
Member
  • Removes integration fixtures that only exercised the retired transport.

@yordis
yordis requested a review from a team as a code owner September 12, 2026 23:22
@cursor

cursor Bot commented Sep 12, 2026 •

Copy link
Copy Markdown

PR Summary

Low Risk
Changes are limited to test code and an internal HTTPS callback refactor with no intended production behavior change beyond what existing gRPC tombstone semantics already require.

Overview
Retires legacy TCP transport test suites (dispatcher, connection manager, SSL/plain connection, invalid-data integration, and TCP intermediate-certificate coverage) and drops the standalone copying_metadata fixture.

Refactors cluster node HTTPS setup for reuse in tests: Program.CreateServerOptionsSelectionCallback is split into a public-to-tests internal overload that accepts certificate/validator delegates, with InternalsVisibleTo for EventStore.Core.Tests. A new HTTP/Kestrel test asserts intermediate certificates are sent during TLS handshake using that helper.

Expands gRPC coverage: admin StartScavenge success and duplicate-start InProgress cases; stream-delete/tombstone scenarios now assert StreamRevision stays long.MaxValue on forward/backward read-all, subscribe, and subscribe-to-all (including a backward read-all path in the hard-delete fixture).

Reviewed by Cursor Bugbot for commit 09d3e31. Bugbot is set up for automated code reviews on this repo. Configure here.

@coderabbitai

coderabbitai Bot commented Sep 12, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Understand this PR’s impact

Explore downstream dependencies and potential security impact with Blast Radius.

View blast radius →

Warning

Review limit reached

Next included review available in 12 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: ccbb9fe7-7477-42de-936b-24150da38856

📥 Commits

Reviewing files that changed from the base of the PR and between a57210d and 09d3e31.

📒 Files selected for processing (14)
  • src/EventStore.ClusterNode/AssemblyInfo.cs
  • src/EventStore.ClusterNode/Program.cs
  • src/EventStore.Core.Tests/Services/Transport/Grpc/OperationsTests/AdminTests.cs
  • src/EventStore.Core.Tests/Services/Transport/Grpc/StreamsTests/read_all_events_forward_with_hard_deleted_stream_should.cs
  • src/EventStore.Core.Tests/Services/Transport/Grpc/StreamsTests/subscribe_should.cs
  • src/EventStore.Core.Tests/Services/Transport/Grpc/StreamsTests/subscribe_to_all_should.cs
  • src/EventStore.Core.Tests/Services/Transport/Http/with_intermediate_certificates.cs
  • src/EventStore.Core.Tests/Services/Transport/Tcp/TcpClientDispatcherTests.cs
  • src/EventStore.Core.Tests/Services/Transport/Tcp/TcpConnectionManagerTests.cs
  • src/EventStore.Core.Tests/Services/Transport/Tcp/TcpConnectionSslTests.cs
  • src/EventStore.Core.Tests/Services/Transport/Tcp/TcpConnectionTests.cs
  • src/EventStore.Core.Tests/Services/Transport/Tcp/when_invalid_data_is_sent_over_tcp.cs
  • src/EventStore.Core.Tests/Services/Transport/Tcp/with_intermediate_certificates.cs
  • src/EventStore.Core.Tests/copying_metadata.cs

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: a4f79e7a-b417-4bcd-b045-76548adbe279

📥 Commits

Reviewing files that changed from the base of the PR and between 9989238 and a57210d.

📒 Files selected for processing (12)
  • .config/mise/tasks/github/actions/dotnet-build
  • .github/workflows/build-container-ubuntu-lts.yml
  • scripts/test.sh
  • src/EventStore.Core.Tests/Services/Storage/Scavenge/when_running_a_scavenge_from_storage_scavenger.cs
  • src/EventStore.Core.Tests/Services/Transport/Enumerators/Enumerator.AllSubscription.CombinationTests.cs
  • src/EventStore.Core.Tests/Services/Transport/Enumerators/Enumerator.AllSubscriptionFiltered.CombinationTests.cs
  • src/EventStore.Core.Tests/Services/Transport/Enumerators/Enumerator.CombinationTests.cs
  • src/EventStore.Core.Tests/Services/Transport/Enumerators/Enumerator.StreamSubscription.CombinationTests.cs
  • src/EventStore.Core.XUnit.Tests/Configuration/ClusterNodeOptionsTests/when_building/with_tls.cs
  • src/EventStore.Core.XUnit.Tests/Services/Archive/ArchiveCatchup/ArchiveCatchupTests.cs
  • src/EventStore.Projections.Core.Tests/ClientAPI/specification_with_standard_projections_runnning.cs
  • src/EventStore.TestClient/CommandsProcessor.cs

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

The pull request removes obsolete cluster, TCP, certificate, and metadata tests. It migrates scavenge and enumerator tests to gRPC. It adds an enumerator test shard and updates selected timeouts and TLS configuration tests.

Changes

Test and transport modernization

Layer / File(s) Summary
Obsolete test fixture removal
src/EventStore.Core.Tests/Integration/..., src/EventStore.Core.Tests/Services/Transport/Tcp/*, src/EventStore.Core.Tests/copying_metadata.cs
Removes cluster leader-transition, TCP transport, certificate-handshake, and metadata-copying fixtures.
gRPC test migration
src/EventStore.Core.Tests/Services/Storage/Scavenge/..., src/EventStore.Core.Tests/Services/Transport/Enumerators/*
Replaces legacy client operations with gRPC channels, stream operations, RecordedEvent values, and explicit subscription cleanup.
Test execution and timeout updates
.config/mise/tasks/github/actions/dotnet-build, .github/workflows/build-container-ubuntu-lts.yml, scripts/test.sh, src/EventStore.Core.XUnit.Tests/Services/Archive/..., src/EventStore.Projections.Core.Tests/..., src/EventStore.TestClient/CommandsProcessor.cs
Adds the core-enumerators shard and changes selected test, build, projection, cleanup, and command wait timeouts.
TLS configuration test updates
src/EventStore.Core.XUnit.Tests/Configuration/ClusterNodeOptionsTests/when_building/with_tls.cs
Renames SSL-focused fixtures, uses current certificate helpers, and removes secure TCP endpoint assertions.

Priority: ⬇️ Low

Estimated code review effort: 4 (Complex) | ~45 minutes

Change: Other

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 61 functions across 10 files. (2 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the primary change: removal of obsolete TCP integration test fixtures.
Description check ✅ Passed The description accurately covers the removal of integration fixtures for the retired transport.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 61 functions across 10 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the gRPC stream,
While old TCP tests leave the dream.
New shards hop through build-time queues,
TLS tests wear refreshed hues.
Timeouts stretch, and fixtures rest.

Comment @coderabbitai help to get the list of available commands.

@yordis
yordis added this pull request to stack #500 September 12, 2026 23:22
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from bf237a2 to 87a926e Compare September 13, 2026 00:15
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch 2 times, most recently from 76309a0 to 60eb376 Compare September 13, 2026 00:33
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch 2 times, most recently from 104f85f to eb369f6 Compare September 13, 2026 00:58
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from 60eb376 to 59514f1 Compare September 13, 2026 00:58
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from eb369f6 to 0339e19 Compare September 13, 2026 01:16
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from 59514f1 to 059ca6b Compare September 13, 2026 01:16
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from 0339e19 to a8d6a9b Compare September 13, 2026 01:31
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from 059ca6b to 9cc1112 Compare September 13, 2026 01:31
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from a8d6a9b to d770071 Compare September 13, 2026 01:46
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from 9cc1112 to 0e1e63e Compare September 13, 2026 01:46
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from d770071 to ed044dd Compare September 13, 2026 02:04
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch 2 times, most recently from 104f2a6 to d45ae37 Compare September 13, 2026 02:29
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from ed044dd to 94936ff Compare September 13, 2026 02:29
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from d45ae37 to 9739ad5 Compare September 13, 2026 02:59
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from 94936ff to 6912f13 Compare September 13, 2026 02:59
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from 9739ad5 to d499103 Compare September 13, 2026 03:14
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from 6912f13 to a8f30b3 Compare September 13, 2026 03:14
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from d499103 to d5dc2ee Compare September 13, 2026 03:46
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from 7b55ead to 5fe12cd Compare September 13, 2026 04:23
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from d5dc2ee to 183d819 Compare September 13, 2026 04:23
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from 5fe12cd to a9a13e7 Compare September 13, 2026 06:04
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from 183d819 to 2c805a1 Compare September 13, 2026 06:04
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from a9a13e7 to d9fd258 Compare September 13, 2026 18:21
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from 559f3ec to dd5fc84 Compare September 17, 2026 01:14
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from 9989238 to a173352 Compare September 17, 2026 01:14
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from dd5fc84 to fb17dce Compare September 17, 2026 01:23
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch 2 times, most recently from 0e43b8c to a8f05de Compare September 17, 2026 02:01
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from fb17dce to 1a5aa8b Compare September 17, 2026 02:01
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from a8f05de to a25e23b Compare September 17, 2026 02:37
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch 2 times, most recently from 646e684 to 7f19ddc Compare September 17, 2026 03:26
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from a25e23b to 313e9a7 Compare September 17, 2026 03:26
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from 7f19ddc to be1cbb9 Compare September 17, 2026 04:25
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch 7 times, most recently from 0ed157d to 8a8a64e Compare September 18, 2026 00:49
@yordis
yordis force-pushed the yordis/chore-migrate-core-tests-grpc branch from 7e67dbf to 67fd15e Compare September 18, 2026 00:49
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch 3 times, most recently from e64047c to a57210d Compare September 20, 2026 09:21
Base automatically changed from yordis/chore-migrate-core-tests-grpc to master September 21, 2026 13:27
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis force-pushed the yordis/chore-retire-core-tcp-tests branch from a57210d to 09d3e31 Compare September 21, 2026 14:15
@yordis
yordis merged commit 2c66905 into master Sep 21, 2026
55 of 58 checks passed
@yordis
yordis deleted the yordis/chore-retire-core-tcp-tests branch September 21, 2026 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant