[Feature Request]: Integration Testing Framework
Is there an existing issue for the same feature request?
- [X] I have checked the existing issues.
Is your feature request related to a problem?
No
Describe the feature you'd like
We need a framework that can write integration tests to start or stop a test framework that includes a DNStore and a LogServiceStore. This framework can be interfaced with unit tests to write integration test code.
Describe implementation you've considered
No response
Documentation, Adoption, Use Case, Migration Strategy
No response
Additional information
No response
Rough design for our integration test framework:
- Start a cluster in which
log serviceanddn servicewere started according to expectation; - After cluster started, do some operation, such as stop/restart
log serviceordn service; - Then check the running state of cluster in order to assert that the cluster takes proper reaction;
So test framework should support flexible operation and provide ways to assert cluster's running state.
In order to start dn service and log service, we should support different options in order to start a cluster as expectation.
For log service, we need to handle Add, Remove, Start, Stop commands.
As to dn service, we only need to handle Add and Remove.
-
AddandRemoveimplies data updates -
StartandStoponly implies operation, there wouldn't be data updates.
In order to start test cluster, we should start dn and log stores first.
dn services depends on log services, we should start log services first.