test: add integration test with minio#112
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #112 +/- ##
==========================================
- Coverage 87.42% 86.82% -0.61%
==========================================
Files 14 15 +1
Lines 700 736 +36
==========================================
+ Hits 612 639 +27
- Misses 88 97 +9 ☔ View full report in Codecov by Sentry. |
|
@abyssnlp don't think the ci job is triggered. probably format issue. |
|
@xushiyan The CI is failing due to this error: |
|
I've removed the external action since GHA runner has |
|
@xushiyan All tests (including integration) are green. The labeler is failing due to permissions. I've made the small fix but let me know if this should be done in a different PR. |
xushiyan
left a comment
There was a problem hiding this comment.
thanks for putting this up! Some high-level feedback
- How we plan for
docker/: we can position it as a sandbox where people can easily spin up some e2e setup and run something, we may want to add more query engines later, so integration test can be part of it, serving as a validation to make sure all components are working. - Right now the docker setup is just providing minio, and the integ test is running natively and connecting to minio container. To align with the plan above, we should move the test into a container itself, which installs crates from the code repo.
- The integ test should also cover a python test case by pip install hudi from the repo
docker/copy_tables.sh
Outdated
| find /tmp/data -type d -mindepth 1 -maxdepth 1 -exec mc cp --recursive {} store/$MINIO_TEST_BUCKET \; | ||
|
|
||
| echo ">>> Listing uploaded tables" | ||
| mc ls store/$MINIO_TEST_BUCKET |
There was a problem hiding this comment.
can this script be incorporated into Dockerfile? it's just a few commands after all. we want to keep things more consolidated
| * KIND, either express or implied. See the License for the | ||
| * specific language governing permissions and limitations | ||
| * under the License. | ||
| */ |
There was a problem hiding this comment.
why create a lib ? it's just to run an application so bin works better? we don't expect another crate to depend on integ test
integration_test/env.toml
Outdated
| AWS_ACCESS_KEY_ID="minio" | ||
| AWS_SECRET_ACCESS_KEY="minio123" | ||
| AWS_ENDPOINT="http://localhost:9000" | ||
| INTEGRATION_TEST_S3_BUCKET="test-bucket" |
There was a problem hiding this comment.
is this still needed given there is s3.env ? can those 2 be consolidated?
|
@abyssnlp are you planning to resume this work? |
|
Ok, due to time constraint, I'll push this to the next release. |
|
re-worked in #226 |
Description
Adds integration tests with s3-compatible MinIO.
docker/docker-compose.yamlspins up the minio containerdocker/copy_tables.shcreates the bucket; unzips, copies and creates the tables in the minio storeintegration_test/env.tomlci.ymlNotes:
Makefileor as a separate scripthudi-rsrust support via datafusionThis closes #81 .
How are the changes test-covered