cmcarthur opened a new pull request, #1455:
URL: https://github.com/apache/iceberg-rust/pull/1455

   ## Which issue does this PR close?
   
   <!--
   We generally require a GitHub issue to be filed for all bug fixes and 
enhancements and this helps us generate change logs for our releases. You can 
link an issue to this PR using the GitHub syntax. For example `Closes #123` 
indicates that this PR will close issue #123.
   -->
   
   - Closes #1454.
   
   ## What changes are included in this PR?
   
   <!--
   Provide a summary of the modifications in this PR. List the main changes 
such as new features, bug fixes, refactoring, or any other updates.
   -->
   
   - Adds `ExpireSnapshotsAction` with extensive test coverage
   
   ## Are these changes tested?
   
   <!--
   Specify what test covers (unit test, integration test, etc.).
   
   If tests are not included in your PR, please explain why (for example, are 
they covered by existing tests)?
   -->
   
   I've added the following unit tests covering the happy path logic in the 
action:
   
   - `test_builder_pattern`: unit test on the builder pattern
   - `test_collect_files_to_delete_logic`: unit test on 
`collect_files_to_delete`
   - `test_default_configuration`: tests defaults on builder pattern
   - `test_dry_run`: asserts that when `execute` is called in dry run mode, no 
files are deleted and no transaction is generated or applied
   
   The remaining tests setup various scenarios and call the full action to 
ensure the correct commit is generated and applied, and the correct files are 
deleted:
   
   ```
       maintenance::expire_snapshots::tests::test_empty_snapshot_ids_list
       maintenance::expire_snapshots::tests::test_expire_current_snapshot_error
       maintenance::expire_snapshots::tests::test_expire_readonly_table_error
       
maintenance::expire_snapshots::tests::test_expire_snapshots_many_snapshots_retain_last
       
maintenance::expire_snapshots::tests::test_expire_snapshots_older_than_timestamp
       maintenance::expire_snapshots::tests::test_expire_snapshots_one_snapshot
       
maintenance::expire_snapshots::tests::test_expire_snapshots_zero_snapshots
       maintenance::expire_snapshots::tests::test_expire_specific_snapshot_ids
       
maintenance::expire_snapshots::tests::test_max_concurrent_deletes_configuration
       maintenance::expire_snapshots::tests::test_nonexistent_snapshot_ids
       maintenance::expire_snapshots::tests::test_retain_last_minimum_validation
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to