Fix remaining cross-Python compatibility issues in the hosting services.

Review Request #10630 — Created July 16, 2019 and submitted

Information

Review Board
release-4.0.x
a1be4ae...

Reviewers

The hosting service implementations had been updated to work nicely on
Python 2.7 and 3.7, but still had issues on 3.5 and 3.6. On Python 3.5,
there were issues with json.loads() not accepting byte strings (they
added back support for this in 3.6), and on both 3.5 and 3.6 there were
dictionary ordering issues in the Bitbucket code (which only affected
unit tests).

Now, all the json.loads() calls make sure to decode the string first,
fixing the bulk of the issues. To fix the Bitbucket issues, we just
ensure we're sorting query parameters before building a query string,
and test against those sorted versions.

UNit tests pass on Python 2.7 and 3.5-3.7.

david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.0.x (ddc02ea)