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]

Reply via email to