Skip to content

Add python integration tests#341

Open
leekeiabstraction wants to merge 3 commits intoapache:mainfrom
leekeiabstraction:pythonIntegrationTest
Open

Add python integration tests#341
leekeiabstraction wants to merge 3 commits intoapache:mainfrom
leekeiabstraction:pythonIntegrationTest

Conversation

@leekeiabstraction
Copy link
Contributor

@leekeiabstraction leekeiabstraction commented Feb 15, 2026

Purpose

Linked issue: close #339

Brief change log

  • Add python binding integration test, mirroring what we already have for rust
  • Add documentation to run python integration test locally
  • Update CI configuration to also run python integration test
  • Updated .gitignore to ignore more test/build artefacts

Tests

Locally ran and verified that tests run correctly

NOTE: The current 2 failures are due to bug which should be fixed once #340 is merged

@leekeiabstraction
Copy link
Contributor Author

@fresh-borzoni Appreciate your review here 🙏

Copy link
Contributor

@luoyuxia luoyuxia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@leekeiabstraction Thank you very much for the pr. I'm always think adding test in python binding

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive Python integration tests for the Fluss Python bindings, mirroring the existing Rust integration tests. The implementation uses pytest with async fixtures and testcontainers to automatically spin up a Fluss cluster (ZooKeeper, coordinator, and tablet server) for testing.

Changes:

  • Added Python integration test suite covering admin operations, log tables, and KV tables
  • Updated documentation to include instructions for running Python integration tests locally
  • Added CI workflow to run Python integration tests across Python 3.11, 3.12, and 3.13
  • Updated .gitignore to exclude Python test/build artifacts

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
bindings/python/test/conftest.py pytest fixtures for cluster setup and teardown using testcontainers
bindings/python/test/test_admin.py Integration tests for database and table admin operations, including error handling
bindings/python/test/test_log_table.py Integration tests for append-only log table operations (append, scan, projection, partitioning)
bindings/python/test/test_kv_table.py Integration tests for KV table operations (upsert, delete, lookup, partial updates, data types)
bindings/python/pyproject.toml Added testcontainers dependency and pytest configuration
.github/workflows/ci.yml Added python-integration-test job for CI
website/docs/developer-guide/contributing.md Added Python testing instructions
.gitignore Added .venv/, uv.lock, and .cache/ entries

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@fresh-borzoni fresh-borzoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@leekeiabstraction Ty for the PR. Great work

Left minor comments, also some of Copilot comments make sense. PTAL

@leekeiabstraction
Copy link
Contributor Author

@fresh-borzoni Thank you for your review! Addressed comments, PTAL

Copy link
Contributor

@fresh-borzoni fresh-borzoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@leekeiabstraction Ty, LGTM 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python Integration Test

3 participants