refactor(csharp): rewrite integration tests to remove DependsOn#2710
refactor(csharp): rewrite integration tests to remove DependsOn#2710atharvalade wants to merge 7 commits intoapache:masterfrom
Conversation
9fe5903 to
b2e7673
Compare
lukaszzborek
left a comment
There was a problem hiding this comment.
I added few comments, since now tests are no longer run in order, it should check more then just not throwing error
foreign/csharp/Iggy_SDK.Tests.Integration/ConsumerGroupTests.cs
Outdated
Show resolved
Hide resolved
…he#2654) Remove all DependsOn attributes from 11 test files. Each test now creates its own resources with unique names via Guid.NewGuid(), ensuring full isolation and eliminating ordering dependencies. Delete 16 unused fixture, helper, and model files that were only needed by the old DependsOn-based test structure.
b2e7673 to
2ff8ead
Compare
|
@lukaszzborek @hubcio @spetz whenever you guys get a chance, please resolve the conversations and merge if appropriate! |
There was a problem hiding this comment.
LGTM now,
but you will have to do some tests change after merge #2701
cool! I'll wait for merge. |
…ewrite-integration-tests
Remove DependsOn and SegmentsFixture, make tests self-contained with Guid-based names
|
@atharvalade |
@lukaszzborek The CI was failing because merging master brought in PR #2734 (cooperative partition reassignment), which modified |
Remove all DependsOn attributes from 11 test files. Each test now creates its own resources with unique names via Guid.NewGuid(), ensuring full isolation and eliminating ordering dependencies.
Delete 16 unused fixture, helper, and model files that were only needed by the old DependsOn-based test structure.
Which issue does this PR close?
Closes #2654
Rationale
The DependsOn attribute creates ordering dependencies between tests, which leads to flaky failures and makes it hard to run tests in isolation. Independent tests are more reliable and easier to debug.
What changed?
Tests relied on DependsOn to run in a fixed sequence, sharing resources created by earlier tests. If one test failed, all downstream tests would skip or fail regardless of their own correctness.
Each test now creates its own stream, topic, and other resources with unique Guid-based names, then cleans up or simply leaves them isolated. The 16 fixture, helper, and model files that only existed to support the old shared-state pattern were removed as dead code.
Local Execution
AI Usage