Fix compatibility regressions with Review Board 5 and Python 3.
Review Request #12440 — Created July 6, 2022 and submitted
rbintegrations was no longer working with Review Board 5, for a couple
First, it used deprecated imports that Review Board 5 no longer
provides (as of this change, though that removal is being reverted
for now). These were attempting to import
reviewboard.integrations.Integration. We now use the
Second, we had calls in CircleCI to Django's deprecated
urlquote_plus()(which now just wraps
quote_plus()) that were
failing due to passing in a Unicode string when a byte string was
expected. We now pass in a byte string.
In the process of fixing the
urlquote_plus()issue, I found we were
Nonevalue into the string
'None'. This seems to have been
a mistake, except the unit tests were matching that. I suspect this was
more a result of copy/paste than deliberate design.
This has been updated to just convert to an empty string and check
against that, which isn't really a whole lot better, but it's at least
more likely to trigger some meaningful error on CircleCI. A task has
been added to track this.
All unit tests pass.