Skip to content

Conversation

@sblack-usu
Copy link
Contributor

HydroShare no longer uses irods as a fileserver and now uses S3. The S3 server serves the downloads and this broke integration with repo2docker.

I have verified the changes work with several HydroShare resources. I also updated the unit tests around HydroShare as best as I could. There are 2 tests in tests/unit/contentproviders/test_hydroshare.py that fail. These tests fail because doi.org is blocking the requests to https://doi.org/api/handles/ to resolve the doi. I observed this behavior when making requests locally using the requests library and curl. I was only able to get a response from doi.org when I made the request through my web browser.

FAILED tests/unit/contentproviders/test_hydroshare.py::test_content_id - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))
FAILED tests/unit/contentproviders/test_hydroshare.py::test_detect_hydroshare - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))

sblack-usu and others added 2 commits November 18, 2025 10:04
update the tests for updated hydroshare download location
Copy link
Contributor

@rgaiacs rgaiacs left a comment

Choose a reason for hiding this comment

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

Thanks for the contribution. It looks good to me and all tests are passing. I had a minor question.

conn.status_code == 200
and conn.headers["content-type"] != "application/zip"
while conn.status_code == 200 and not conn.url.startswith(
f"https://s3.hydroshare.org/bags/{resource_id}.zip"
Copy link
Contributor

Choose a reason for hiding this comment

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

Would be possible to test

conn.url != f"https://s3.hydroshare.org/bags/{resource_id}.zip"

instead of

not conn.url.startswith(f"https://s3.hydroshare.org/bags/{resource_id}.zip")

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That is a good question. It is not possible to test the whole url because a query parameter follows which includes a temporary authorization signature.

@rgaiacs rgaiacs merged commit bcbaf38 into jupyterhub:main Nov 19, 2025
21 checks passed
@GeorgianaElena GeorgianaElena changed the title [MRG] Update the HydroShare download url Fix the HydroShare download url Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants