Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add S3 tests, LocalStack, MinIO #10044

Merged
merged 17 commits into from
Dec 7, 2023
Merged

add S3 tests, LocalStack, MinIO #10044

merged 17 commits into from
Dec 7, 2023

Conversation

pdurbin
Copy link
Member

@pdurbin pdurbin commented Oct 25, 2023

What this PR does / why we need it:

Developers can now test S3 locally by using the Dockerized development environment, which now includes both LocalStack and MinIO. See S3AccessIT which executes API (end to end) tests.

In addition, a new integration test test class
(not an API test, the new kind launched with mvn verify) has been added at S3AccessIOLocalstackIT. It uses Testcontainers to spin up Localstack for S3 testing and does not require Dataverse to be running.

TODO: Exercise direct upload, possibly borrowing code from DVUploader.

Which issue(s) this PR closes:

Special notes for your reviewer:

Note that the format of docker-compose-dev.yml had to change to allow for JVM options to be added.

Suggestions on how to test this:

mvn -Pct clean package docker:run

mvn test -Dtest=S3AccessIT

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

No.

Is there a release notes update needed for this change?:

Yes, included.

Additional documentation:

Tweaked various docs:

  • Listing and setting stores via API.
  • Using the direct upload API.

@pdurbin pdurbin self-assigned this Oct 25, 2023
@github-actions

This comment has been minimized.

@pdurbin pdurbin changed the title add S3 tests, LocalStack, MinIO #6783 add S3 tests, LocalStack, MinIO Oct 25, 2023
@pdurbin pdurbin added the Component: Containers Anything related to cloudy Dataverse, shipped in containers. label Oct 25, 2023
@pdurbin pdurbin added the Size: 30 A percentage of a sprint. 21 hours. (formerly size:33) label Oct 26, 2023

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

2 similar comments

This comment has been minimized.

This comment has been minimized.

@pdurbin pdurbin marked this pull request as ready for review November 13, 2023 15:53
@pdurbin pdurbin removed their assignment Nov 13, 2023
@coveralls
Copy link

coveralls commented Nov 14, 2023

Coverage Status

coverage: 20.174% (+0.1%) from 20.037%
when pulling cff73b8 on 6783-s3-tests
into d514545 on develop.

This comment has been minimized.

Developers can now test S3 locally by using the Dockerized
development environment, which now includes both LocalStack
and MinIO. See S3AccessIT which executes API (end to end) tests.

In addition, a new integration test test class
(not an API test, the new kind launched with `mvn verify`)
has been added at S3AccessIOLocalstackIT. It uses Testcontainers
to spin up Localstack for S3 testing and does not require
Dataverse to be running.

Note that the format of docker-compose-dev.yml had to change to
allow for JVM options to be added.

Finally, docs were improved for listing and setting stores via API.
@pdurbin pdurbin self-assigned this Dec 5, 2023

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@donsizemore
Copy link
Contributor

Screenshot 2023-12-06 at 10 22 25

This comment has been minimized.

Copy link

github-actions bot commented Dec 6, 2023

📦 Pushed preview images as

ghcr.io/gdcc/dataverse:6783-s3-tests
ghcr.io/gdcc/configbaker:6783-s3-tests

🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name.

@pdurbin pdurbin added Size: 3 A percentage of a sprint. 2.1 hours. and removed Size: 30 A percentage of a sprint. 21 hours. (formerly size:33) labels Dec 6, 2023
@pdurbin
Copy link
Member Author

pdurbin commented Dec 6, 2023

After connecting to the VPN the tests run fine.

I just tried mvn test -Dtest=S3AccessIT from home and I'm not on the VPN. The tests pass fine:

[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

@pdurbin
Copy link
Member Author

pdurbin commented Dec 6, 2023

I approved the PR on the Ansible side:

Thank you, @donsizemore for all the hard work! 🚀 ❤️ 🎉

Once it's merged, we'll kick off another build to see if Jenkins starts passing.

@donsizemore
Copy link
Contributor

Once it's merged, we'll kick off another build to see if Jenkins starts passing.

@pdurbin the Dataverse-Ansible branch is merged, so if you're comfortable with your own testing, Jenkins is ready.

@jp-tosca
Copy link
Contributor

jp-tosca commented Dec 7, 2023

Thanks a lot @donsizemore !!

@pdurbin
Copy link
Member Author

pdurbin commented Dec 7, 2023

@jp-tosca jp-tosca merged commit 23e8692 into develop Dec 7, 2023
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Containers Anything related to cloudy Dataverse, shipped in containers. Size: 3 A percentage of a sprint. 2.1 hours.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add S3 tests to the regular integration test suite
4 participants