apache / hudi-rs

A native Rust library for Apache Hudi, with bindings into Python
https://hudi.apache.org/
Apache License 2.0
142 stars 28 forks source link

test: add integration test with minio #112

Open abyssnlp opened 2 months ago

abyssnlp commented 2 months ago

Description

Adds integration tests with s3-compatible MinIO.

Notes:

This closes #81 .

How are the changes test-covered

codecov[bot] commented 2 months ago

Codecov Report

Attention: Patch coverage is 0% with 8 lines in your changes missing coverage. Please review.

Project coverage is 86.82%. Comparing base (3359e10) to head (5a747fd). Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
crates/tests/src/lib.rs 0.00% 4 Missing :warning:
integration_test/tests/hudi_test.rs 0.00% 4 Missing :warning:
Additional details and impacted files ```diff @@ 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 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

xushiyan commented 2 months ago

@abyssnlp don't think the ci job is triggered. probably format issue.

abyssnlp commented 2 months ago

@xushiyan The CI is failing due to this error: dtolnay/rust-toolchain@1.75.0 is not allowed to be used in apache/hudi-rs. I used this action to setup the rust toolchain. Is there a way to whitelist this action or should I use an alternative?

abyssnlp commented 2 months ago

I've removed the external action since GHA runner has rustup already.

abyssnlp commented 2 months ago

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

abyssnlp commented 2 months ago

@xushiyan Addressed all comments in a28debc.

I've reused the TestTable enum but I had to add an extra method to get the s3 path as we unzip and load the tables into minio for the integration tests so we don't need to extract them.

xushiyan commented 1 month ago

@abyssnlp are you planning to resume this work?

abyssnlp commented 1 month ago

Hi @xushiyan,

I've been busier than usual so couldn't get around to this earlier. I've addressed your comments in https://github.com/apache/hudi-rs/pull/112/commits/5a747fd1dc45fccf85cfdcad6fd8ae5068fc8993.

Let me know what you think.

xushiyan commented 1 month ago

Ok, due to time constraint, I'll push this to the next release.