Skip to content

Conversation

giancarloromeo
Copy link
Contributor

@giancarloromeo giancarloromeo commented Oct 15, 2025

What do these changes do?

This PR enhances the file search functionality to support case-insensitive filename matching using wildcards. The main implementation changes the filename pattern matching logic to compare both the filename and pattern in lowercase, enabling users to search for files regardless of case variations.

  • Modified the fnmatch comparison in the search logic to perform case-insensitive matching
  • Added comprehensive test coverage for various case-insensitive pattern matching scenarios
  • Renamed the search task constant to match the other task names

Related issue/s

How to test

cd services/storage
pytest -vv --pdb tests/unit/test_simcore_s3_dsm.py

Dev-ops

  • No changes

@giancarloromeo giancarloromeo added this to the Imparable milestone Oct 15, 2025
@giancarloromeo giancarloromeo self-assigned this Oct 15, 2025
@codecov
Copy link

codecov bot commented Oct 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.52%. Comparing base (9afa492) to head (32855b4).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8522      +/-   ##
==========================================
+ Coverage   87.55%   89.52%   +1.97%     
==========================================
  Files        2007     1582     -425     
  Lines       78401    65462   -12939     
  Branches     1343      499     -844     
==========================================
- Hits        68644    58608   -10036     
+ Misses       9355     6724    -2631     
+ Partials      402      130     -272     
Flag Coverage Δ
integrationtests 64.00% <ø> (-0.02%) ⬇️
unittests 87.99% <100.00%> (+1.72%) ⬆️
Components Coverage Δ
pkg_aws_library ∅ <ø> (∅)
pkg_celery_library ∅ <ø> (∅)
pkg_dask_task_models_library ∅ <ø> (∅)
pkg_models_library 92.90% <100.00%> (ø)
pkg_notifications_library ∅ <ø> (∅)
pkg_postgres_database ∅ <ø> (∅)
pkg_service_integration 70.17% <ø> (ø)
pkg_service_library ∅ <ø> (∅)
pkg_settings_library ∅ <ø> (∅)
pkg_simcore_sdk 84.95% <ø> (+0.05%) ⬆️
agent 93.10% <ø> (ø)
api_server 91.76% <ø> (ø)
autoscaling 95.00% <ø> (ø)
catalog 92.06% <ø> (ø)
clusters_keeper 99.14% <ø> (ø)
dask_sidecar 91.82% <ø> (ø)
datcore_adapter 97.95% <ø> (ø)
director 75.72% <ø> (ø)
director_v2 90.94% <ø> (+0.01%) ⬆️
dynamic_scheduler 96.82% <ø> (ø)
dynamic_sidecar 90.44% <ø> (ø)
efs_guardian 89.83% <ø> (ø)
invitations 90.90% <ø> (ø)
payments 92.80% <ø> (ø)
resource_usage_tracker 92.32% <ø> (+0.10%) ⬆️
storage 86.87% <100.00%> (+<0.01%) ⬆️
webclient ∅ <ø> (∅)
webserver 87.12% <ø> (+<0.01%) ⬆️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9afa492...32855b4. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@Copilot 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 enhances the file search functionality to support case-insensitive filename matching using wildcards. The main implementation changes the filename pattern matching logic to compare both the filename and pattern in lowercase, enabling users to search for files regardless of case variations.

  • Modified the fnmatch comparison in the search logic to perform case-insensitive matching
  • Added comprehensive test coverage for various case-insensitive pattern matching scenarios
  • Renamed the search task constant for improved clarity

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
services/storage/src/simcore_service_storage/simcore_s3_dsm.py Updated filename matching logic to convert both filename and pattern to lowercase for case-insensitive comparison
services/storage/tests/unit/test_simcore_s3_dsm.py Added comprehensive test cases covering case-insensitive matching for extensions, prefixes, and mixed-case patterns
packages/models-library/src/models_library/api_schemas_storage/search_async_jobs.py Changed task name from "files.search" to "files_search" (dot to underscore)

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@giancarloromeo giancarloromeo marked this pull request as ready for review October 15, 2025 13:06
@giancarloromeo giancarloromeo added the 🤖-automerge marks PR as ready to be merged for Mergify label Oct 15, 2025
@giancarloromeo
Copy link
Contributor Author

@Mergifyio queue

@mergify
Copy link
Contributor

mergify bot commented Oct 15, 2025

queue

🟠 Waiting for conditions to match

  • -closed [📌 queue requirement]
  • -conflict [📌 queue requirement]
  • -draft [📌 queue requirement]
  • any of: [📌 queue -> configuration change requirements]
    • -mergify-configuration-changed
    • check-success = Configuration changed
  • any of: [🔀 queue conditions]
    • all of: [📌 queue conditions of queue default]
      • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
      • #approved-reviews-by>=2
      • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
      • #changes-requested-reviews-by=0
      • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
      • #review-threads-unresolved=0
      • -conflict
      • -draft
      • base=master
      • branch-protection-review-decision = APPROVED [🛡 GitHub branch protection]
      • label!=🤖-do-not-merge
      • label=🤖-automerge
      • any of: [🛡 GitHub branch protection]
        • check-skipped = deploy to dockerhub
        • check-neutral = deploy to dockerhub
        • check-success = deploy to dockerhub
      • any of: [🛡 GitHub branch protection]
        • check-success = system-tests
        • check-neutral = system-tests
        • check-skipped = system-tests
      • any of: [🛡 GitHub branch protection]
        • check-success = unit-tests
        • check-neutral = unit-tests
        • check-skipped = unit-tests
      • any of: [🛡 GitHub branch protection]
        • check-success = check OAS' are up to date
        • check-neutral = check OAS' are up to date
        • check-skipped = check OAS' are up to date
      • any of: [🛡 GitHub branch protection]
        • check-success = integration-tests
        • check-neutral = integration-tests
        • check-skipped = integration-tests
      • any of: [🛡 GitHub branch protection]
        • check-success = build-test-images (frontend) / build-test-images
        • check-neutral = build-test-images (frontend) / build-test-images
        • check-skipped = build-test-images (frontend) / build-test-images
      • any of: [🛡 GitHub branch protection]
        • check-success = SonarCloud Code Analysis
        • check-neutral = SonarCloud Code Analysis
        • check-skipped = SonarCloud Code Analysis

@mergify
Copy link
Contributor

mergify bot commented Oct 15, 2025

🧪 CI Insights

Here's what we observed from your CI run for 32855b4.

🟢 All jobs passed!

But CI Insights is watching 👀

@giancarloromeo giancarloromeo added the a:storage issue related to storage service label Oct 15, 2025
Copy link
Member

@pcrespov pcrespov left a comment

Choose a reason for hiding this comment

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

so insensitive!:-) thx

@giancarloromeo giancarloromeo enabled auto-merge (squash) October 15, 2025 13:52
Copy link
Member

@odeimaiz odeimaiz left a comment

Choose a reason for hiding this comment

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

🥳

@sonarqubecloud
Copy link

Copy link
Member

@sanderegg sanderegg left a comment

Choose a reason for hiding this comment

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

thanks!

@giancarloromeo giancarloromeo merged commit 0231c39 into ITISFoundation:master Oct 16, 2025
95 checks passed
@giancarloromeo giancarloromeo deleted the is8102/fix-filename-pattern-matching branch October 16, 2025 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖-automerge marks PR as ready to be merged for Mergify a:storage issue related to storage service

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants