Description
tl;dr
feature flag: integ_tests
There should be integration tests for the development. Integration test should use std test infrastructure from Rust. This issue will be a poc for feature development methodology using compile time rust features (similar to unstable features in rust compiler): the reason is to try to make smaller PRs which could land faster in master. The last stage of work on the issue there will be stabilizing feature by removing compilation flag from the source code.
Design
We should run integration tests mocking up external services. Full integration between scylladb and vector-store should be done in scylladb repository tests. We need to mockup scylladb cql service and we should do this by mockuping internal api to db. We could create external service, but we don't have such service. Mockuping rust driver to scylla seems to be too big effort to develop.
There should be specific db actor which we could mockup by providing specific actor for our tests. The crate should export running service with an ability to provide own db actor.
PRs
- Add integ_tests feature flag #6
- Create an initial db actor #11
- Create an initial db-index actor #12
- Move monitor_indexes
struct Db
into the db actor.- Move a monitor_indexes::Db::get_index_params into a db actor #14
- Move a monitor_indexes::Db::latest_schema_version into a db actor #15
- Move a monitor_indexes::Db::get_indexes into a db actor #17
- Move a monitor_indexes::Db::get_index_version into a db actor #18
- Move a monitor_indexes::Db::get_index_target_type into a db index actor #19
- Move monitor_items
struct Db
into the db actor. - Move modify indexes
struct Db
into the db actor. - Refactor db actor before implementing tests
- Implement lib api for exporting to the tests.
- Implement an integration test for simple create/search/delete index.
-
Removeinteg_tests
flag feature