Fixed flaky test-case in Test Suite: BasicHttpClientTest #693
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.
Fixed flaky test-case
Fixes Issue
The following issue is similar to the PR in context
Flaky tests detected: ConsumerJsonRecordTest.should_serialize_a_record_with_headers #685
PR Branch
fork
Motivation and Context
POINT OF FAILURE
The above mentioned test-case are flaky in nature as they assert the string obtained from
requestBuilder.getEntity()
. The root cause of the issue lies in:FileUploadUtils:getFileFieldNameValue
where the json ofreqBody
(in BasicHttpClientTest) is converted to a HashMap and its content is unordered. This causes the requestBuilder.getEntity() to return a non-deterministic string whose content is similar but differs in ordered.Example:
The fix converts the
entity
string to aSet<String>
of name-value pairs (splitting at&
), and asserts equality of sets, where order of content doesn't make a difference as opposed to string-representation.Fixed using NonDex pugin
For a particular test-suite, run:
For more information : https://github.com/TestingResearchIllinois/NonDex
Checklist:
New Unit tests were added
Integration tests were added
Test names are meaningful
Feature manually tested and outcome is successful
PR doesn't break any of the earlier features for end users
Branch build passed in CI
No 'package.*' in the imports
Relevant DOcumentation page added or updated with clear instructions and examples for the end user
Http test added to
http-testing
module(if applicable) ?Kafka test added to
kafka-testing
module(if applicable) ?