Add tests for data refresh task dependencies #5027
Merged
+97
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes
Fixes #4340 by @stacimc
Description
The new data refresh has already been added to the
load_sample_data
scripts, such that it is run each time a contributor runsov j api/init
and also in CI. This adds a lot of coverage for the "happy path" of the data refresh.In addition to this, however, it's important to test that certain vital task dependencies are maintained. While developing the data refresh I found that it's surprisingly easy to accidentally break the dependency graph in a manner such that, while a normal data refresh works as expected, an upstream task failure may not cascade properly. TL;DR: it's easy to introduce a change that seems fine, but causes elasticsearch reindexing/promotion to occur even if the
copy_data
step fails. This is a huge concern because it could result in bad or incomplete data going live.This PR adds tests to ensure that those vital dependencies are maintained.
Testing Instructions
Tests should pass; take a look and see if there are any other dependencies you feel should be asserted.
Checklist
Update index.md
).main
) or a parent feature branch.ov just catalog/generate-docs
for catalogPRs) or the media properties generator (
ov just catalog/generate-docs media-props
for the catalog or
ov just api/generate-docs
for the API) where applicable.Developer Certificate of Origin
Developer Certificate of Origin