-
Notifications
You must be signed in to change notification settings - Fork 354
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
feat: improved data integrity execution [DHIS2-16223] #15789
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice work. nice to be able to visualise the programmatic checks.
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #15789 +/- ##
=========================================
Coverage 66.32% 66.33%
- Complexity 31414 31429 +15
=========================================
Files 3488 3489 +1
Lines 130069 130103 +34
Branches 15198 15201 +3
=========================================
+ Hits 86272 86300 +28
- Misses 36716 36719 +3
- Partials 7081 7084 +3
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 4 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
...ce-administration/src/main/java/org/hisp/dhis/dataintegrity/DefaultDataIntegrityService.java
Dismissed
Show dismissed
Hide dismissed
Kudos, SonarCloud Quality Gate passed! |
Summary
Various improvements around the data integrity execution.
DATA_INTEGRITY_DETAILS
so they are not blocked by a summary still runningslow
checks always run last (unless we know their execution time and it is fast)averageExecutionTime
property that is also readable in the APIisProgrammatic
flag if they are not SQL basedslow
now (because of that*
now also expands to slow tests)API
The GET
/api/dataIntegrity
endpoint has two added filtersslow
: e.g./api/dataIntegrity?slow=true
to get only slow checksprogrammatic
: e.g./api/dataIntegrity?programmatic=false
to get only SQL based checksThe new filters can be combined with each other and with the existing
section
filter (AND logic).Automatic Testing
New unit tests were added to tests the execution time tracking in
DataIntegrityCheck
as well as the fast to slow sorting.New integration tests were added to test the added
slow
andprogrammatic
filters for the API.The execution of the new
DATA_INTEGRITY_DETAILS
job type is already covered by many tests that do details checks.Manual Testing
Testing filters, try different combinations and observe the result items, e.g.
/api/dataIntegrity?slow=true
vs/api/dataIntegrity?slow=true
vs/api/dataIntegrity
/api/dataIntegrity?programmatic=true
vs/api/dataIntegrity?programmatic=true
vs/api/dataIntegrity
/api/dataIntegrity?programmatic=true§ion=Categories