feat: add integration test support for StreamNode#17952
Conversation
| startAINode(seedConfigNode, dataNodePort, testClassName); | ||
| } | ||
|
|
||
| private void startAINode( |
There was a problem hiding this comment.
I suggest not making AIEnv privately own the AINode startup logic. In future scenarios we may need an environment that starts both AINode and StreamNode, and keeping AINode initialization embedded in AIEnv would force us to duplicate that logic or introduce combined env classes such as AIStreamEnv.
There was a problem hiding this comment.
My idea is that if we need to start both AINode and StreamNode simultaneously, we can create a new Env class to internally launch AINode and StreamNode together.How do you feel about this?
There was a problem hiding this comment.
Creating a combined Env can work, but I think we should avoid requiring that Env to reimplement the AINode startup logic. Could we at least make the AINode startup path reusable within the env framework? For example, we could extract it into a small helper/initializer, or at minimum make startAINode protected instead of private. This way a future Env that needs both AINode and StreamNode can reuse the existing AINode initialization logic instead of copying it.
Description
This PR introduces the StreamClusterIT test category in integration-test module to support full cluster integration tests of StreamNode.
The new test suite independently verifies all core StreamNode functions without modifying existing cluster test logic or assertions.
This PR has:
for an unfamiliar reader.
for code coverage.
Key changed/added classes (or packages if there are too many classes) in this PR