chore: Move and run Python SDK integration tests#1164
Draft
edwinjosechittilappilly wants to merge 10 commits intomainfrom
Draft
chore: Move and run Python SDK integration tests#1164edwinjosechittilappilly wants to merge 10 commits intomainfrom
edwinjosechittilappilly wants to merge 10 commits intomainfrom
Conversation
Move the Python SDK integration test to tests/integration/test_sdk.py and update Makefile targets (test-integration, test-ci, test-ci-local, test-sdk) to run that test path. Makefile now sets SDK_TESTS_ONLY=true when invoking pytest so SDK tests target an already-running external stack (removing uv sync/extra setup steps). Add sdks/python as an editable dev dependency in pyproject.toml for local SDK development. Update tests/conftest.py to skip in-process backend setup when SDK_TESTS_ONLY=true to avoid wiping external test state.
Replace the path-based editable dev dependency with the package name "openrag-sdk" in the dev dependency group, and add a [tool.uv.sources] entry mapping "openrag-sdk" to the local sdks/python path (editable = true). This keeps the dev dependencies referencing the package name while preserving a local editable source for development and packaging tools.
…i/openrag into integration-tests-sdk
Add explicit installation of the local Python SDK (uv pip install -e sdks/python) to Makefile test targets (test-ci, test-ci-local, test-sdk) so integration tests use the workspace sdks/python in editable mode. Remove openrag-sdk from pyproject dev dependencies, tool.uv sources, and uv.lock so the SDK is no longer declared as a managed dependency and is instead installed at test time.
Move integration tests into tests/integration/core and tests/integration/sdk (add __init__.py files) and update Makefile targets to run the new test layout. Replace single pytest run with separate Core and SDK test runs, add nicer console headings and GitHub Actions ::group:: markers, and adjust SDK test invocations (Python and TypeScript) and waiting/logging behavior in test-ci and test-ci-local. These changes separate core vs SDK test responsibilities and improve CI/console readability.
Add a comprehensive, modular pytest integration suite for the OpenRAG Python SDK. Introduces tests/integration/sdk/conftest.py (onboarding, API key creation/caching, client and test file fixtures) and separate test modules for auth, chat, documents, e2e, errors, filters, models, search, and settings. The old monolithic tests/integration/sdk/test_sdk.py is removed and replaced by these focused async tests. Tests respect SKIP_SDK_INTEGRATION_TESTS and use OPENRAG_URL (default http://localhost:3000).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Move the Python SDK integration test to tests/integration/test_sdk.py and update Makefile targets (test-integration, test-ci, test-ci-local, test-sdk) to run that test path. Makefile now sets SDK_TESTS_ONLY=true when invoking pytest so SDK tests target an already-running external stack (removing uv sync/extra setup steps). Add sdks/python as an editable dev dependency in pyproject.toml for local SDK development. Update tests/conftest.py to skip in-process backend setup when SDK_TESTS_ONLY=true to avoid wiping external test state.