Skip to content

fix(buckets): find files in exists_file when fullPath has no leading slash - #1958

Draft
JasperSelmanUiPath wants to merge 1 commit into
mainfrom
fix/buckets-exists-file-leading-slash
Draft

JasperSelmanUiPath wants to merge 1 commit into
mainfrom
fix/buckets-exists-file-leading-slash

Conversation

@JasperSelmanUiPath

@JasperSelmanUiPath JasperSelmanUiPath commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #1957 · AGVSOL-9364

What broke: exists_file and exists_file_async always returned False, even for a file that is in the bucket. Both methods add a leading / to blob_file_path and compare the result exactly with the fullPath that ListFiles returns. Orchestrator returns fullPath without a leading /, so the two never match.

The fix: compare both paths without the leading /. exists_file now returns True whether or not blob_file_path starts with /. The ListFiles prefix query is unchanged, because ListFiles finds the file with either prefix.

Tests: the exists_file tests mocked fullPath with a leading /, which is why they passed while the method was broken. They now mock it without one, as Orchestrator returns it. The found-cases (sync and async) also run with a blob_file_path that starts with /. Before the fix, 7 of these tests fail; after it, all 1893 uipath-platform tests pass.

Not changed, for the owners to decide: the list_files and get_files tests in test_buckets_service.py also mock fullPath with a leading / (for example "/data/file1.txt"), which is not what Orchestrator returns. Those methods pass fullPath through without comparing it, so the tests still pass, but the fixtures don't match the real API. I left them as they are. Should they be changed to match?

Bumps uipath-platform to 0.2.42.

🤖 Generated with Claude Code

@github-actions github-actions Bot added test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-integrations labels Oct 28, 2026
…slash

exists_file and exists_file_async added a leading "/" to blob_file_path
and compared it exactly with the fullPath that ListFiles returns.
Orchestrator returns fullPath without a leading "/", so the paths never
matched and both methods always returned False.

Compare both paths without the leading "/".

Fixes #1957

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JasperSelmanUiPath
JasperSelmanUiPath force-pushed the fix/buckets-exists-file-leading-slash branch from d1f14ab to ceb16e5 Compare October 28, 2026 09:39
@github-actions

Copy link
Copy Markdown

🚨 Heads up: uipath-integrations cross-tests are FAILING 🚨

Your changes may break one or more integrations in uipath-integrations-python:

  • uipath-openai-agents
  • uipath-google-adk
  • uipath-agent-framework
  • uipath-llamaindex
  • uipath-pydantic-ai

⚠️ These checks are NOT enforced by branch protection rules. Please review the failures before merging.

🔍 Inspect the failed run →

@github-actions

Copy link
Copy Markdown

🚨 Heads up: uipath-langchain cross-tests are FAILING 🚨

Your changes may break the uipath-langchain-python integration.

⚠️ These checks are NOT enforced by branch protection rules. Please review the failures before merging.

🔍 Inspect the failed run →

@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:uipath-integrations test:uipath-langchain Triggers tests in the uipath-langchain-python repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

exists_file and exists_file_async never find a file: fullPath has no leading slash

1 participant