Skip to content

feat(content): new endpoint for content retrieval PD-169#1348

Merged
Avantol13 merged 12 commits into
masterfrom
feat/download-content
Jul 9, 2026
Merged

feat(content): new endpoint for content retrieval PD-169#1348
Avantol13 merged 12 commits into
masterfrom
feat/download-content

Conversation

@Avantol13

@Avantol13 Avantol13 commented May 21, 2026

Copy link
Copy Markdown
Contributor

Link to JIRA ticket if there is one: https://ctds-planx.atlassian.net/browse/PD-169

New Features

  • Bulk Content Retrieval support in Fence

Breaking Changes

Bug Fixes

Improvements

Dependency updates

Deployment changes

@coveralls

coveralls commented May 21, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 29041659008

Coverage increased (+0.08%) to 75.49%

Details

  • Coverage increased (+0.08%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 102 coverage regressions across 4 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

102 previously-covered lines in 4 files lost coverage.

File Lines Losing Coverage Coverage
blueprints/data/indexd.py 32 94.29%
blueprints/data/blueprint.py 28 85.02%
init.py 26 89.49%
config.py 16 68.06%

Coverage Stats

Coverage Status
Relevant Lines: 11522
Covered Lines: 8698
Line Coverage: 75.49%
Coverage Strength: 0.75 hits per line

💛 - Coveralls

@github-actions

Copy link
Copy Markdown

Integration Tests

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_presigned_url.py 7 0 7
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_user_token.py 5 0 5
tests/test_user_login_activation.py 2 1 3
tests/test_fence_admin.py 2 0 2
tests/test_oidc_client.py 2 0 2
tests/test_register_user.py 2 0 2
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
TOTAL 72 9 81

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions

Copy link
Copy Markdown

Integration Tests

filepath passed error skipped SUBTOTAL
tests/test_user_login_activation.py 0 5 0 5
tests/test_oauth2.py 15 0 0 15
tests/test_centralized_auth.py 16 0 0 16
tests/test_audit_service.py 3 0 3 6
tests/test_data_upload.py 8 0 1 9
tests/test_presigned_url.py 7 0 0 7
tests/test_dbgap.py 4 0 1 5
tests/test_drs_endpoint.py 4 0 0 4
tests/test_oidc_client.py 2 0 0 2
tests/test_user_token.py 5 0 0 5
tests/test_fence_admin.py 2 0 0 2
tests/test_google_data_access.py 1 0 0 1
tests/test_client_credentials.py 1 0 0 1
tests/test_register_user.py 2 0 0 2
tests/test_ras_authn.py 0 0 3 3
TOTAL 70 5 8 83

Please find the detailed integration test report here

Please find the Github Action logs here

Comment thread fence/blueprints/data/blueprint.py Outdated
@blueprint.route("/content", methods=["POST"])
def get_file_content():
"""
Get content of a files referenced by GUIDs provided.

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.

files instead of a files

Comment thread fence/blueprints/data/indexd.py Outdated
break

if any(
file_location.url.startswith(allowed_ai_url)

@tianj7 tianj7 May 29, 2026

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.

we just did this check in the previous block L893-898, can we perhaps combine the logic?

or use if any allowed_ai_url_root

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

good call, I refactored a bit

@tianj7 tianj7 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.

left 2 comments

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

Integration Tests

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_dbgap.py 4 1 5
tests/test_presigned_url.py 7 0 7
tests/test_drs_endpoint.py 4 0 4
tests/test_user_token.py 5 0 5
tests/test_user_login_activation.py 2 1 3
tests/test_fence_admin.py 2 0 2
tests/test_register_user.py 2 0 2
tests/test_oidc_client.py 2 0 2
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
TOTAL 72 9 81

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

Integration Tests

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_user_token.py 5 0 5
tests/test_user_login_activation.py 2 1 3
tests/test_presigned_url.py 7 0 7
tests/test_register_user.py 2 0 2
tests/test_oidc_client.py 2 0 2
tests/test_fence_admin.py 2 0 2
tests/test_client_credentials.py 1 0 1
tests/test_google_data_access.py 1 0 1
tests/test_ras_authn.py 0 3 3
TOTAL 72 9 81

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

Integration Tests

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_user_token.py 5 0 5
tests/test_user_login_activation.py 2 1 3
tests/test_presigned_url.py 7 0 7
tests/test_register_user.py 2 0 2
tests/test_client_credentials.py 1 0 1
tests/test_fence_admin.py 2 0 2
tests/test_oidc_client.py 2 0 2
tests/test_google_data_access.py 1 0 1
tests/test_ras_authn.py 0 3 3
TOTAL 72 9 81

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions

Copy link
Copy Markdown

Integration Tests

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_dbgap.py 4 1 5
tests/test_presigned_url.py 7 0 7
tests/test_drs_endpoint.py 5 0 5
tests/test_user_token.py 5 0 5
tests/test_fence_admin.py 2 0 2
tests/test_user_login_activation.py 2 1 3
tests/test_register_user.py 2 0 2
tests/test_oidc_client.py 2 0 2
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
TOTAL 73 9 82

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions

Copy link
Copy Markdown

Integration Tests

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 5 0 5
tests/test_presigned_url.py 7 0 7
tests/test_user_token.py 5 0 5
tests/test_user_login_activation.py 2 1 3
tests/test_fence_admin.py 2 0 2
tests/test_register_user.py 2 0 2
tests/test_oidc_client.py 2 0 2
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
TOTAL 73 9 82

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

Integration Tests

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_drs_endpoint.py 6 0 6
tests/test_dbgap.py 4 1 5
tests/test_user_token.py 5 0 5
tests/test_user_login_activation.py 2 1 3
tests/test_presigned_url.py 7 0 7
tests/test_register_user.py 2 0 2
tests/test_fence_admin.py 2 0 2
tests/test_oidc_client.py 2 0 2
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
tests/test_ras_passport.py 0 3 3
TOTAL 74 12 86

Please find the detailed integration test report here

Please find the Github Action logs here

markxiao
markxiao previously approved these changes Jul 9, 2026
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Integration Tests

Test summary after running integration tests

filepath passed failed skipped SUBTOTAL
tests/test_oauth2.py 15 0 0 15
tests/test_centralized_auth.py 16 0 0 16
tests/test_audit_service.py 2 1 3 6
tests/test_data_upload.py 8 0 1 9
tests/test_drs_endpoint.py 6 0 0 6
tests/test_dbgap.py 4 0 1 5
tests/test_user_token.py 5 0 0 5
tests/test_user_login_activation.py 2 0 1 3
tests/test_register_user.py 2 0 0 2
tests/test_fence_admin.py 2 0 0 2
tests/test_oidc_client.py 2 0 0 2
tests/test_client_credentials.py 1 0 0 1
tests/test_google_data_access.py 1 0 0 1
tests/test_presigned_url.py 7 0 0 7
tests/test_ras_authn.py 0 0 3 3
tests/test_ras_passport.py 0 0 3 3
TOTAL 73 1 12 86

Test summary after rerunning failed integration tests

filepath failed SUBTOTAL
tests/test_audit_service.py 1 1
TOTAL 1 1

Please find the detailed integration test report here

Please find the detailed integration test report after rerunning failed tests here

Please find the Github Action logs here

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Integration Tests

filepath passed skipped SUBTOTAL
tests/test_audit_service.py 3 3 6
TOTAL 3 3 6

Please find the detailed integration test report here

Please find the Github Action logs here

@Avantol13 Avantol13 merged commit 86c2f9c into master Jul 9, 2026
11 of 12 checks passed
@Avantol13 Avantol13 deleted the feat/download-content branch July 9, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants