Skip to content

Conversation

@ppiegaze
Copy link
Member

Summary

  • Expand integration tests from 7 to 52 test functions covering all runnable examples
  • Add pytest markers for selective test execution (apps, gpu, external, stress, secrets)
  • Add _deploy_and_verify() helper for app deployment tests

Test Categories Added

Category Tests Notes
Basics - Core 3 hello, file, directory (existing)
Basics - Additional 10 map, enum_vals, frames, etc.
Types 2 simple_types, dataclass_types
Advanced 7 display_names, custom_context, multi_loops, etc.
ML 3 model_training, rfe, distributed_random_forest
Reports 1 streaming_reports
Streaming 1 basic_as_completed
Sync 1 async_in_sync
Reuse 1 reusable
Caching 1 content_based_caching
GenAI 1 hello_agent
Data Processing 1 deltalake
Plugins 4 spark, ray, dask, pytorch (existing)
Apps (deploy) 2 basic_app, single_script_fastapi
GPU (skipped) 4 accelerators, gridsearch, vllm, sglang
External (skipped) 2 bigquery, databricks
Secrets (skipped) 3 openai_agent, langgraph, wandb
Stress (skipped) 5 large_fanout, long_running, etc.

Total: 52 tests (36 active, 16 skipped)

Test Execution Tiers

# Tier 1: Core tests (every PR) - ~34 tests
pytest -m "integration and not (gpu or external or stress or apps or secrets)"

# Tier 2: Including apps (nightly) - ~36 tests
pytest -m "integration and not (gpu or external or stress or secrets)"

# Tier 3: GPU tests (weekly, GPU runners)
pytest -m "integration and gpu"

# Tier 4: All tests (manual)
pytest -m "integration"

Test plan

  • Verify syntax check passes: python3 -m py_compile examples/integration_tests.py
  • Run Tier 1 tests on PR CI
  • Verify pytest markers are recognized

🤖 Generated with Claude Code

Expand integration tests from 7 to 52 test functions covering:
- Basics (map, enum_vals, frames, etc.)
- Types (simple_types, dataclass_types)
- Advanced (display_names, custom_context, multi_loops, udfs, etc.)
- ML (model_training, rfe, distributed_random_forest)
- Reports, Streaming, Sync, Reuse, Caching
- GenAI (hello_agent)
- Data Processing (deltalake)
- Apps (basic_app, single_script_fastapi) with deploy helper
- GPU tests (skipped by default)
- External service tests (skipped by default)
- Stress tests (skipped by default)

Add pytest markers for selective test execution:
- apps: App deployment tests
- gpu: GPU-required tests
- external: External service tests
- stress: Stress/load tests
- secrets: Tests requiring secrets

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: Peeter Piegaze <[email protected]>
@ppiegaze ppiegaze force-pushed the add-integration-tests-for-examples branch from 9037c35 to b2be667 Compare January 19, 2026 18:06
kumare3 and others added 6 commits January 19, 2026 11:19
Signed-off-by: Ketan Umare <[email protected]>
- Add `examples-test` optional dependency group in pyproject.toml
  with dependencies needed by integration test examples:
  polyglot-hello, pandas, pyarrow, scikit-learn, joblib,
  nest-asyncio, deltalake, unionai-reuse

- Update CI workflow to install examples-test dependencies

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: Peeter Piegaze <[email protected]>
- Fix _deploy_and_verify to correctly iterate over List[Deployment]
  and access DeployedEnvironment via deployment.envs dict
- Add fastapi and uvicorn to examples-test dependencies

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: Peeter Piegaze <[email protected]>
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: Peeter Piegaze <[email protected]>
- Remove skip from GPU tests (backend has GPU resources)
- Remove skip from stress tests (ok to run)
- Update skip reasons for external service and secrets tests
  to clarify they require Union backend configuration

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: Peeter Piegaze <[email protected]>
@ppiegaze ppiegaze force-pushed the add-integration-tests-for-examples branch 3 times, most recently from cfd5429 to b125cae Compare January 20, 2026 11:33
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.

3 participants