feat: Added negative log assertions #154
Merged
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.
What was the problem/requirement? (What/Why)
Negative case for log assertion does not exist. Test fixtures do not have easy way to assert that something is not in logs.
What was the solution? (How)
Add method to check for non-presence. Method works by doing an immediate check if
expected_pattern
finds a match within logs. Then a wait is used to account for eventual consistency of logs before checking again (default 3 seconds). If the second check also finds no match then the pattern is assumed to not exist in the logs.In the case that the wait time is set to 0 or less, only 1 check is performed, and a warning indicating such is emitted to the logger.
Like the preceding positive log assertion method this new methods assumes a single step, single task log.
Also abstracted out common code to reduce code duplication
What is the impact of this change?
A consistent user experience for checking logs of simple jobs.
How was this change tested?
Unit tests written to check new test functionality
Was this change documented?
#153
Is this a breaking change?
no
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.