The lookupproxy project¶
The lookupproxy project contains top-level configuration and URL routes for
the entire web application.
Extensions to drf-yasg¶
This project overrides the drf-yasg/swagger-ui.html template provided by
drf-yasg. The default template does not
provided the degree of customisation needed for this project. Most notably, the
OAuth2 redirect URL could not be customised. We ship a lightly modified version
of the template for our needs along with some custom initialisation JavaScript
as a static file. We also include the oauth2-redirect.html file which ships
with the Swagger UI so that the OAuth2 flow works.
Settings¶
The lookupproxy project ships a number of settings files.
Generic settings¶
The default lookupproxy.settings module contains settings which are
common to most deployment environments.
Test-suite specific settings¶
The lookupproxy.settings_testsuite module contains settings which are
specific to the test suite environment. The default tox test environment
uses this settings module when running the test suite.
-
lookupproxy.settings.tox.TEST_RUNNER= 'lookupproxy.test.runner.BufferedDiscoverRunner'¶ The default test runner is changed to one which captures stdout and stderr when running tests.
-
lookupproxy.settings.tox.STATIC_ROOT= '/home/travis/build/uisautomation/lookupproxy/build/static'¶ Static files are collected into a directory determined by the tox configuration. See the tox.ini file.
Developer specific settings¶
Custom test suite runner¶
The test suite settings overrides the
TEST_RUNNER setting to point to
BufferedTextTestRunner. This runner captures
output to stdout and stderr and only reports the output if a test fails. This
helps make our tests a little less noisy.
-
class
lookupproxy.test.runner.BufferedDiscoverRunner(pattern=None, top_level=None, verbosity=1, interactive=True, failfast=False, keepdb=False, reverse=False, debug_mode=False, debug_sql=False, parallel=0, tags=None, exclude_tags=None, **kwargs)¶ A sub-class of
django.test.runner.DiscoverRunnerwhich has exactly the same behaviour except that thetest_runnerattribute is set toBufferedTextTestRunner.The upshot of this is that output to stdout and stderror is captured and only reported on test failure.
-
class
lookupproxy.test.runner.BufferedTextTestRunner(stream=None, descriptions=True, verbosity=1, failfast=False, buffer=True, resultclass=None, warnings=None, *, tb_locals=False, **kwargs)¶ A sub-class of
unittest.TextTestRunnerwith identical behaviour except that the buffer keyword argument to the constructor defaults to True.