Skip to content

fix(test): update typing_extensions fixture from 4.1.1 to 4.16.0 - #578

Merged
ruromero merged 1 commit into
guacsec:mainfrom
ruromero:fix/python-typing-extensions-version
Sep 1, 2026
Merged

fix(test): update typing_extensions fixture from 4.1.1 to 4.16.0#578
ruromero merged 1 commit into
guacsec:mainfrom
ruromero:fix/python-typing-extensions-version

Conversation

@ruromero

@ruromero ruromero commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Updates typing_extensions from 4.1.1 to 4.16.0 across Python provider test fixtures
  • Fixes Python_Provider_Test.test_the_provideStack_with_pipdeptree which aborted with a version mismatch when pipdeptree reported the actually-installed version (4.16.0) against the stale fixture pin

Files changed

  • pip_requirements_txt_no_ignore/requirements.txt and pip_requirements_txt_ignore/requirements.txt — manifest pins updated
  • Both expected_stack_sbom.json and expected_component_sbom.json in each fixture set — expected output updated
  • pip-freeze-all.txt, pip-show.txt, pipdeptree.json — freeze/show/pipdeptree fixtures updated for consistency with the non-pipdeptree test path

Test plan

  • mvn test -pl . -Dtest=Python_Provider_Test#test_the_provideStack_with_pipdeptree passes
  • Full IT suite (mvn verify) shows 0 errors for Python provider tests

🤖 Generated with Claude Code

Summary by Sourcery

Update Python provider test fixtures to use typing_extensions 4.16.0 and restore consistent dependency validation.

Bug Fixes:

  • Align Python provider test fixtures with the installed typing_extensions 4.16.0 version to prevent pipdeptree version-mismatch failures.

Tests:

  • Update Python provider dependency manifests and expected SBOM, freeze, show, and pipdeptree fixtures for typing_extensions 4.16.0.

@sourcery-ai

sourcery-ai Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Updates all Python provider pip fixtures and expected SBOM outputs from typing_extensions 4.1.1 to 4.16.0, keeping declared, installed, dependency-tree, and generated test data consistent and preventing the pipdeptree version-mismatch failure.

File-Level Changes

Change Details Files
Align Python provider test fixtures with the installed typing_extensions version.
  • Update the pinned dependency from 4.1.1 to 4.16.0 in both requirements scenarios.
  • Refresh freeze, package metadata, and pipdeptree fixtures to report 4.16.0.
  • Regenerate expected component and stack SBOMs to reflect the dependency update.
src/test/resources/tst_manifests/pip/pip_requirements_txt_ignore/requirements.txt
src/test/resources/tst_manifests/pip/pip_requirements_txt_no_ignore/requirements.txt
src/test/resources/tst_manifests/pip/pip-freeze-all.txt
src/test/resources/tst_manifests/pip/pip-show.txt
src/test/resources/tst_manifests/pip/pipdeptree.json
src/test/resources/tst_manifests/pip/pip_requirements_txt_ignore/expected_component_sbom.json
src/test/resources/tst_manifests/pip/pip_requirements_txt_ignore/expected_stack_sbom.json
src/test/resources/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_component_sbom.json
src/test/resources/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_stack_sbom.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

The host Python environment has typing_extensions 4.16.0 installed.
The MATCH_MANIFEST_VERSIONS check (default true) aborted the pipdeptree
provider test because requirements.txt still pinned 4.1.1.

Updated all affected pip test fixtures to reflect the installed version:
- pip_requirements_txt_{no_,}ignore/requirements.txt
- pip_requirements_txt_{no_,}ignore/expected_{stack,component}_sbom.json
- pip-freeze-all.txt, pip-show.txt, pipdeptree.json

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@ruromero
ruromero force-pushed the fix/python-typing-extensions-version branch from 159f152 to 1eeae38 Compare September 1, 2026 13:40

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey - I've reviewed your changes and they look great!

Sourcery assessment

Approved.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@c35240e). Learn more about missing BASE report.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #578   +/-   ##
=======================================
  Coverage        ?   69.34%           
  Complexity      ?     1040           
=======================================
  Files           ?       66           
  Lines           ?     4371           
  Branches        ?      774           
=======================================
  Hits            ?     3031           
  Misses          ?      993           
  Partials        ?      347           
Flag Coverage Δ
integration-tests 69.34% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ruromero
ruromero merged commit 3642518 into guacsec:main Sep 1, 2026
3 of 44 checks passed
@ruromero
ruromero deleted the fix/python-typing-extensions-version branch September 1, 2026 13:46
ruromero added a commit that referenced this pull request Sep 1, 2026
## Summary

- Updates `urllib3` fixture from `1.26.16` to `2.7.0` across all pip
test resources (requirements.txt, expected SBOMs, pip-freeze-all.txt,
pip-show.txt, pipdeptree.json)
- Sets `@SetSystemProperty(key = PROP_MATCH_MANIFEST_VERSIONS, value =
"false")` on `test_the_provideStack_with_pipdeptree` so the test is no
longer sensitive to version drift between the fixture pins and the
actual system Python environment

## Why

Follow-up to #578. The pipdeptree test calls `provideStack()` before the
pipdeptree mock is wired up, causing the real `pipdeptree` binary to run
and compare installed versions against the fixture `requirements.txt`.
With `MATCH_MANIFEST_VERSIONS=true` (default), any drift aborts the test
before assertions run. The intent of this test is to verify pipdeptree
*output parsing*, not version matching — version matching is already
covered by the non-pipdeptree test variants.

## Test plan

- [ ] `test_the_provideStack_with_pipdeptree` passes regardless of
locally installed Python package versions
- [ ] Full IT suite shows 0 errors for Python provider tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

## Summary by Sourcery

Make pipdeptree parsing tests deterministic across Python environments.

Bug Fixes:
- Stabilize the pipdeptree provider test by ensuring mocked output is
configured before stack generation, preventing unintended execution of
the real pipdeptree binary.

Tests:
- Update Python provider test fixtures to use urllib3 2.7.0 consistently
across requirements, dependency snapshots, and expected SBOMs.
- Disable manifest-version matching for the pipdeptree parsing test so
results are independent of the host Python environment.

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
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.

2 participants