matrixone
matrixone copied to clipboard
[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 service
anddn service
were started according to expectation; - After cluster started, do some operation, such as stop/restart
log service
ordn 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
.
-
Add
andRemove
implies data updates -
Start
andStop
only 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.