Fix unit tests regressions involving SiteConfiguration and HTML output.

Review Request #8300 — Created July 20, 2016 and submitted — Latest diff uploaded

Information

Djblets
release-0.10.x
e57fc89...

Reviewers

The Features change broke all unit tests that deal with
SiteConfiguration. This happened because djblets.features, which
is put into INSTALLED_APPS, would import djblets.features.checkers,
which imported SiteConfiguration.

It's not valid for a module in INSTALLED_APPS to directly or indirectly
import a model. While this didn't actually break things in Django 1.6,
it does in 1.7 and higher, due to more strict behavior for model
loading. This import ended up preventing SiteConfiguration from being
properly synchronized to the database.

To fix this, the SiteConfiguration import has been moved into the
function that needs it.

There were also two other HTML-related failures.

1) There was a check in the conditions tests that broke due to the
addition of newlines in generated HTML for one of the widgets we use.
We now use assertHTMLEqual() to perform a more suitable check.

2) We allowed use of an older Pygments releases, but tested against
newer HTML. We're now requiring a more modern version in
dev-requirements.txt.

Unit tests pass against Django 1.6 and 1.8.