tests: Improve websocket parser tests #2562
Open
+79
−22
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.
Currently websocket parser tests are done within general websocket server test that involves network operations. This is wrong way to test websocket parser because it involves unnecessary code and is harder to control. For example, currently there is a race condition which is resolved by sleeping by 100ms.
The solution is to extract the parser test to separate function. The test is additionally improved to test more than one websocket payload at the same time.
The core idea from the test has been borrowed from #1710.