Rework enableEncryption test to be less timing dependent #801
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.
So after failing the
enableEncryption
test in #800 I had a deeper look at the test. What was happening was that we were creating a room but were not waiting for the room state to be synced down. This meant that when we tried to check user power levels there were no state events available to get the user's power level and also no creation event so it defaulted to 0.In fact with the way the test was laid out it was pretty timing dependent. I.e. the manual syncs managed to happen after the encryption was activated.
This reworks a little so that the connection sync loop is activated then we just wait on first the room base state loading, then the encryption signal coming through.