gnuhpc opened a new pull request, #626: URL: https://github.com/apache/fluss-rust/pull/626
## Summary Adds a `fluss_v1` Cargo feature flag and two new integration test modules that provide comprehensive coverage of the admin client APIs introduced or extended in Fluss 1.x, while remaining runnable on 0.9.x servers. This PR depends on #625 for the new admin methods it exercises, but the test files themselves compile independently against the existing API surface. ## Changes ### `crates/fluss/Cargo.toml` - Added `fluss_v1 = []` feature flag alongside the existing `integration_tests` feature. Enable both when running against a locally built Fluss 1.x server image. ### `tests/integration/admin_extended.rs` (new — 15 tests) Tests for admin APIs available on **both** 0.9.x and 1.x servers. No `fluss_v1` gate needed — they run in the default `integration_tests` suite: | Test | APIs covered | |------|-------------| | `test_list_databases` | `list_databases` | | `test_list_database_summaries` | `list_database_summaries` | | `test_get_table_schema` | `get_table_schema` | | `test_alter_table_add_column` | `alter_table` | | `test_alter_database` | `alter_database` | | `test_describe_cluster_configs` | `describe_cluster_configs` | | `test_alter_cluster_configs` | `alter_cluster_configs` | | `test_get_table_stats` | `get_table_stats` | | `test_get_latest_kv_snapshots` | `get_latest_kv_snapshots` | | `test_kv_snapshot_lease_lifecycle` | `acquire_kv_snapshot_lease` | | `test_server_tag_lifecycle` | `add_server_tag`, `remove_server_tag` | | `test_rebalance_operations` | `rebalance`, `cancel_rebalance`, `list_rebalance_progress` | | `test_producer_offsets_lifecycle` | `register_producer_offsets`, `get_producer_offsets`, `delete_producer_offsets` | | `test_acl_lifecycle` | `create_acls`, `list_acls`, `drop_acls` | | `test_lake_snapshot_operations` | `get_lake_snapshot`, `get_latest_lake_snapshot` | Tests tolerate `Err(Error::UnsupportedVersion)` for APIs whose server-side handler was added unevenly across builds (e.g. `alter_database` and `get_table_stats` return this on `apache/fluss:0.9.1-incubating` even though their API key IDs fall in the 0.9.x range). ### `tests/integration/admin_v1.rs` (new — 5 tests, gated by `fluss_v1`) Tests for APIs **only** available on Fluss 1.x servers (API key IDs 1057–1058, 1061–1064): | Test | API | Key ID | |------|-----|--------| | `test_get_cluster_health` | `get_cluster_health` | 1062 | | `test_list_kv_snapshots` | `list_kv_snapshots` | 1064 | | `test_list_remote_log_manifests` | `list_remote_log_manifests` | 1063 | | `test_drop_kv_snapshot_lease` | `drop_kv_snapshot_lease` | 1058 | | `test_release_kv_snapshot_lease` | `release_kv_snapshot_lease` | 1057 | ### `tests/test_fluss.rs` Registers the two new test modules. ## How to run ```bash # Against apache/fluss:0.9.1-incubating (default test-images.env) cargo test --test test_fluss --features integration_tests -- --test-threads=1 # Against a locally built Fluss 1.x image # Set FLUSS_IMAGE=fluss-local FLUSS_VERSION=latest in crates/fluss-test-cluster/test-images.env cargo test --test test_fluss --features integration_tests,fluss_v1 -- --test-threads=1 ``` 🤖 Generated with [Claude Code](https://claude.ai/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
