Skip to content

Conversation

aksg87
Copy link
Collaborator

@aksg87 aksg87 commented Aug 11, 2025

Description

Adds comprehensive test coverage for the provider plugin system introduced in #97.

Related to #99, #111

Feature (Testing)

Changes

  • Smoke tests for plugin discovery, registration, and usage flows
  • Edge case handling (malformed plugins, import errors)
  • Plugin priority override validation
  • Environment variable controls (LANGEXTRACT_DISABLE_PLUGINS)
  • E2E test simulating pip-installed plugin lifecycle
  • CI/CD integration with new tox environments

How Has This Been Tested?

pytest tests/provider_plugin_test.py -v
# 8 passed

tox -e plugin-smoke
tox -e plugin-integration

Checklist:

  • I have read and acknowledged Google's Open Source Code of conduct.
  • I have read the Contributing page, and I either signed the Google Individual CLA or am covered by my company's Corporate CLA.
  • I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
  • I have made any needed documentation changes, or noted in the linked issue(s) that documentation elsewhere needs updating.
  • I have added tests, or I have ensured existing tests cover the changes
  • I have followed Google's Python Style Guide and ran pylint over the affected code.

@github-actions github-actions bot added the size/M Pull request with 150-600 lines changed label Aug 11, 2025
- 6 tests: plugin discovery, loading, idempotency, error handling
- Smart CI triggers for integration test on provider changes
- New tox environments: plugin-smoke and plugin-integration
@aksg87 aksg87 force-pushed the add-provider-plugin-tests branch from f301e13 to d6457af Compare August 11, 2025 01:50
Copy link

No linked issues found. Please add the corresponding issues in the pull request description.
Use GitHub automation to close the issue when a PR is merged

Copy link

⚠️ Branch Update Required

Your branch is 1 commits behind main. Please update your branch to ensure CI checks run with the latest code:

git fetch origin main
git merge origin/main
git push

Note: Enable "Allow edits by maintainers" to allow automatic updates.

Copy link

Manual Validation Results

Status: ❌ Failed

Check Status Details
PR Size 504 lines
Template Missing required sections
Linked Issue Missing Fixes/Closes #XXX

Errors:

  • ❌ Missing PR template sections: Fixes #
  • ❌ No linked issue found

View workflow run

@aksg87 aksg87 self-assigned this Aug 11, 2025
@aksg87 aksg87 merged commit 8989620 into main Aug 11, 2025
14 of 19 checks passed
@aksg87 aksg87 deleted the add-provider-plugin-tests branch August 11, 2025 02:45
aksg87 added a commit that referenced this pull request Aug 21, 2025
- 6 tests: plugin discovery, loading, idempotency, error handling
- Smart CI triggers for integration test on provider changes
- New tox environments: plugin-smoke and plugin-integration
sinnaj pushed a commit to sinnaj/langextract that referenced this pull request Sep 3, 2025
- 6 tests: plugin discovery, loading, idempotency, error handling
- Smart CI triggers for integration test on provider changes
- New tox environments: plugin-smoke and plugin-integration
aksg87 added a commit that referenced this pull request Sep 12, 2025
- 6 tests: plugin discovery, loading, idempotency, error handling
- Smart CI triggers for integration test on provider changes
- New tox environments: plugin-smoke and plugin-integration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M Pull request with 150-600 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant