Skip to content

chore(tests): retire redundant TCP stream coverage - #490

Merged
yordis merged 2 commits into
masterfrom
yordis/chore-retire-clientapi-streams
Sep 13, 2026
Merged

chore(tests): retire redundant TCP stream coverage#490
yordis merged 2 commits into
masterfrom
yordis/chore-retire-clientapi-streams

Conversation

@yordis

@yordis yordis commented Sep 12, 2026

Copy link
Copy Markdown
Member
  • Avoids maintaining duplicate stream coverage for a client protocol that is no longer supported.

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

cursor Bot commented Sep 12, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Large removal of integration tests reduces regression signal for stream/client behavior, though scope is test/CI only and targets deprecated TCP client coverage.

Overview
Removes the legacy TCP Client API integration test suite under EventStore.Core.Tests/ClientAPI (append/read/subscribe, persistent subscriptions, connection strings, 64-bit event numbers, and related fixtures). CI no longer runs the core-clientapi / core-clientapi-streams shards; the Ubuntu LTS workflow drops the core-clientapi-streams matrix job.

scripts/test.sh is updated to match: client API project lists, filters, and timeouts for those groups are gone. core-http and core-rest filters no longer carve out ClientAPI namespaces, since that coverage is being retired rather than reassigned.

Reviewed by Cursor Bugbot for commit 0ebd76e. 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

Warning

Review limit reached

Next included review available in 59 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: 12d99f1f-a7bd-4379-a209-4787b1ebba66

📥 Commits

Reviewing files that changed from the base of the PR and between 03623f8 and 0ebd76e.

📒 Files selected for processing (10)
  • src/EventStore.Core.Tests/Services/Transport/Grpc/StreamsTests/FilteredReadAllSpecification.cs
  • src/EventStore.Core.Tests/Services/Transport/Grpc/StreamsTests/append_to_stream.cs
  • src/EventStore.Core.Tests/Services/Transport/Grpc/StreamsTests/isjson_flag_on_event.cs
  • src/EventStore.Core.Tests/Services/Transport/Grpc/StreamsTests/read_all_events_backward_filtered_should.cs
  • src/EventStore.Core.Tests/Services/Transport/Grpc/StreamsTests/read_all_events_forward_filtered_should.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/read_all_events_forward_with_soft_deleted_stream_should.cs
  • src/EventStore.Core.Tests/Services/Transport/Grpc/StreamsTests/read_event_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

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: 3b62fac2-d601-4190-a04b-d68161c3a009

📥 Commits

Reviewing files that changed from the base of the PR and between 53a2c48 and 3e5a775.

📒 Files selected for processing (59)
  • .github/workflows/build-container-ubuntu-lts.yml
  • scripts/test.sh
  • src/EventStore.Core.Tests/ClientAPI/DataStructures/concurrent_queue_wrapper_should.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/MiniNodeWithExistingRecords.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/append_to_stream_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/catchup_subscription_to_all_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/read_stream_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/read_stream_with_link_to_event_with_event_number_greater_than_int_maxvalue.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/subscribe_to_stream_with_link_to_event_with_event_number_greater_than_int_maxvalue.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/subscriptions_on_stream_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/transactions_on_stream_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/SpecificationWithLinkToToDeletedEvents.cs
  • src/EventStore.Core.Tests/ClientAPI/SpecificationWithLinkToToMaxCountDeletedEvents.cs
  • src/EventStore.Core.Tests/ClientAPI/SystemData/clientapi_tcp_package.cs
  • src/EventStore.Core.Tests/ClientAPI/UserManagement/TestWithNode.cs
  • src/EventStore.Core.Tests/ClientAPI/append_to_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/append_to_stream_with_hash_collision.cs
  • src/EventStore.Core.Tests/ClientAPI/appending_to_implicitly_created_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/appending_to_implicitly_created_stream_using_transaction.cs
  • src/EventStore.Core.Tests/ClientAPI/appending_to_streams_across_restart.cs
  • src/EventStore.Core.Tests/ClientAPI/catch_up_subscription_handles_errors.cs
  • src/EventStore.Core.Tests/ClientAPI/catchup_filtered_subscription.cs
  • src/EventStore.Core.Tests/ClientAPI/catchup_subscription_handles_small_batch_sizes.cs
  • src/EventStore.Core.Tests/ClientAPI/connect.cs
  • src/EventStore.Core.Tests/ClientAPI/connecting_with_connection_string.cs
  • src/EventStore.Core.Tests/ClientAPI/connection_string.cs
  • src/EventStore.Core.Tests/ClientAPI/deleting_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/event_store_connection_should.cs
  • src/EventStore.Core.Tests/ClientAPI/isjson_flag_on_event.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_backward_filtered_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_backward_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_filtered_paging_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_filtered_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_with_hard_deleted_stream_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_with_linkto_passed_max_count.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_with_linkto_to_deleted_event.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_with_soft_deleted_stream_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_allevents_backward_with_linkto_deleted_event.cs
  • src/EventStore.Core.Tests/ClientAPI/read_event_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_event_stream_backward_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_event_stream_forward_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_event_with_hash_collision.cs
  • src/EventStore.Core.Tests/ClientAPI/read_stream_events_backward_with_hash_collision.cs
  • src/EventStore.Core.Tests/ClientAPI/read_stream_events_forward_with_hash_collision.cs
  • src/EventStore.Core.Tests/ClientAPI/read_stream_events_with_unresolved_linkto.cs
  • src/EventStore.Core.Tests/ClientAPI/soft_delete.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_should.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_to_all_catching_up_should.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_to_all_filtered_should.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_to_all_should.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_to_stream_catching_up_should.cs
  • src/EventStore.Core.Tests/ClientAPI/transaction.cs
  • src/EventStore.Core.Tests/ClientAPI/when_committing_empty_transaction.cs
  • src/EventStore.Core.Tests/ClientAPI/when_having_max_count_set_for_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/when_having_truncatebefore_set_for_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/when_working_with_metadata.cs
  • src/EventStore.Core.Tests/ClientAPI/when_working_with_stream_metadata_as_byte_array.cs
  • src/EventStore.Core.Tests/ClientAPI/when_working_with_stream_metadata_as_structured_info.cs
💤 Files with no reviewable changes (58)
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/read_stream_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/DataStructures/concurrent_queue_wrapper_should.cs
  • src/EventStore.Core.Tests/ClientAPI/event_store_connection_should.cs
  • .github/workflows/build-container-ubuntu-lts.yml
  • src/EventStore.Core.Tests/ClientAPI/connection_string.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_filtered_paging_should.cs
  • src/EventStore.Core.Tests/ClientAPI/append_to_stream_with_hash_collision.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_with_linkto_to_deleted_event.cs
  • src/EventStore.Core.Tests/ClientAPI/catch_up_subscription_handles_errors.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/subscribe_to_stream_with_link_to_event_with_event_number_greater_than_int_maxvalue.cs
  • src/EventStore.Core.Tests/ClientAPI/connecting_with_connection_string.cs
  • src/EventStore.Core.Tests/ClientAPI/when_having_truncatebefore_set_for_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/appending_to_streams_across_restart.cs
  • src/EventStore.Core.Tests/ClientAPI/connect.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_backward_filtered_should.cs
  • src/EventStore.Core.Tests/ClientAPI/when_having_max_count_set_for_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_with_linkto_passed_max_count.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_backward_should.cs
  • src/EventStore.Core.Tests/ClientAPI/SystemData/clientapi_tcp_package.cs
  • src/EventStore.Core.Tests/ClientAPI/read_allevents_backward_with_linkto_deleted_event.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_filtered_should.cs
  • src/EventStore.Core.Tests/ClientAPI/appending_to_implicitly_created_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/subscriptions_on_stream_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/catchup_subscription_to_all_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/read_event_with_hash_collision.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_to_all_filtered_should.cs
  • src/EventStore.Core.Tests/ClientAPI/when_working_with_metadata.cs
  • src/EventStore.Core.Tests/ClientAPI/when_working_with_stream_metadata_as_byte_array.cs
  • src/EventStore.Core.Tests/ClientAPI/SpecificationWithLinkToToMaxCountDeletedEvents.cs
  • src/EventStore.Core.Tests/ClientAPI/deleting_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_to_stream_catching_up_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_stream_events_with_unresolved_linkto.cs
  • src/EventStore.Core.Tests/ClientAPI/when_working_with_stream_metadata_as_structured_info.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_should.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_to_all_catching_up_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_event_stream_forward_should.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/append_to_stream_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/isjson_flag_on_event.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/read_stream_with_link_to_event_with_event_number_greater_than_int_maxvalue.cs
  • src/EventStore.Core.Tests/ClientAPI/read_stream_events_backward_with_hash_collision.cs
  • src/EventStore.Core.Tests/ClientAPI/catchup_subscription_handles_small_batch_sizes.cs
  • src/EventStore.Core.Tests/ClientAPI/UserManagement/TestWithNode.cs
  • src/EventStore.Core.Tests/ClientAPI/subscribe_to_all_should.cs
  • src/EventStore.Core.Tests/ClientAPI/SpecificationWithLinkToToDeletedEvents.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_with_soft_deleted_stream_should.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/MiniNodeWithExistingRecords.cs
  • src/EventStore.Core.Tests/ClientAPI/read_event_should.cs
  • src/EventStore.Core.Tests/ClientAPI/read_event_stream_backward_should.cs
  • src/EventStore.Core.Tests/ClientAPI/transaction.cs
  • src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/transactions_on_stream_with_event_numbers_greater_than_2_billion.cs
  • src/EventStore.Core.Tests/ClientAPI/appending_to_implicitly_created_stream_using_transaction.cs
  • src/EventStore.Core.Tests/ClientAPI/read_all_events_forward_with_hard_deleted_stream_should.cs
  • src/EventStore.Core.Tests/ClientAPI/catchup_filtered_subscription.cs
  • src/EventStore.Core.Tests/ClientAPI/read_stream_events_forward_with_hash_collision.cs
  • src/EventStore.Core.Tests/ClientAPI/append_to_stream.cs
  • src/EventStore.Core.Tests/ClientAPI/soft_delete.cs
  • src/EventStore.Core.Tests/ClientAPI/when_committing_empty_transaction.cs

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


Walkthrough

This change removes ClientAPI test groups from Ubuntu LTS CI and test sharding. It deletes ClientAPI fixtures covering connections, writes, reads, metadata, subscriptions, deletions, transactions, and high event numbers.

Changes

ClientAPI test removal

Layer / File(s) Summary
Remove ClientAPI test routing
.github/workflows/build-container-ubuntu-lts.yml, scripts/test.sh
The workflow and test script no longer schedule or classify core-clientapi and core-clientapi-streams.
Remove shared ClientAPI test foundations
src/EventStore.Core.Tests/ClientAPI/DataStructures/*, src/EventStore.Core.Tests/ClientAPI/ExpectedVersion64Bit/*, src/EventStore.Core.Tests/ClientAPI/Specification*, src/EventStore.Core.Tests/ClientAPI/UserManagement/*
Shared fixtures for queues, nodes, links, authentication, and 64-bit event numbers are deleted.
Remove write and connection coverage
src/EventStore.Core.Tests/ClientAPI/SystemData/*, src/EventStore.Core.Tests/ClientAPI/append*, src/EventStore.Core.Tests/ClientAPI/connect*, src/EventStore.Core.Tests/ClientAPI/transaction.cs, src/EventStore.Core.Tests/ClientAPI/when_committing_empty_transaction.cs, src/EventStore.Core.Tests/ClientAPI/deleting_stream.cs, src/EventStore.Core.Tests/ClientAPI/isjson_flag_on_event.cs
Append, transaction, connection, TCP package, deletion, and event flag fixtures are deleted.
Remove read and metadata coverage
src/EventStore.Core.Tests/ClientAPI/read*, src/EventStore.Core.Tests/ClientAPI/soft_delete.cs, src/EventStore.Core.Tests/ClientAPI/when_having_*, src/EventStore.Core.Tests/ClientAPI/when_working_with_*
Read, link resolution, hash collision, soft-delete, stream metadata, and stream constraint fixtures are deleted.
Remove subscription coverage
src/EventStore.Core.Tests/ClientAPI/*subscription*, src/EventStore.Core.Tests/ClientAPI/subscribe*
Stream, all-stream, filtered, catch-up, and subscription error-handling fixtures are deleted.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 03623

The retired ClientAPI coverage and its CI routing are removed without an identified current-head failure risk.

🚥 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 4 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Title check ✅ Passed The title clearly identifies the change as retiring redundant TCP stream test coverage. It matches the deleted ClientAPI test suites and workflow updates.
Description check ✅ Passed The description directly explains that the pull request removes duplicate coverage for an unsupported client protocol. It is related to the changeset.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yordis/chore-retire-clientapi-streams

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

I’m a rabbit with tests in my pack
The ClientAPI shards now step back
Reads, writes, and streams disappear
The CI path grows quiet and clear
I twitch my nose at the cleaner track

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-retire-clientapi-streams branch 2 times, most recently from 52ede89 to 3c78988 Compare September 13, 2026 00:33
@yordis
yordis force-pushed the yordis/chore-retire-clientapi-streams branch from 3c78988 to 38b1165 Compare September 13, 2026 00:58
@yordis
yordis force-pushed the yordis/chore-retire-clientapi-streams branch from 38b1165 to ff26239 Compare September 13, 2026 01:16
@yordis
yordis force-pushed the yordis/chore-retire-clientapi-streams branch 2 times, most recently from 3248414 to eea411a Compare September 13, 2026 01:46
@yordis
yordis force-pushed the yordis/chore-retire-clientapi-streams branch from eea411a to 7983434 Compare September 13, 2026 02:04
@yordis
yordis force-pushed the yordis/chore-retire-clientapi-streams branch from 7983434 to 1ebf135 Compare September 13, 2026 02:29
@yordis
yordis force-pushed the yordis/chore-retire-clientapi-streams branch 2 times, most recently from 675d1bb to c305a78 Compare September 13, 2026 03:14
@yordis
yordis force-pushed the yordis/chore-retire-clientapi-streams branch 2 times, most recently from 3e5a775 to 111b3f7 Compare September 13, 2026 04:23
Base automatically changed from yordis/chore-retire-clientapi-security to master September 13, 2026 05:57
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis force-pushed the yordis/chore-retire-clientapi-streams branch from 111b3f7 to 03623f8 Compare September 13, 2026 06:04
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit 67c9393 into master Sep 13, 2026
30 checks passed
@yordis
yordis deleted the yordis/chore-retire-clientapi-streams branch September 13, 2026 20:48
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