27 lines
856 B
Python
27 lines
856 B
Python
import mock
|
|
from test_manager import login
|
|
|
|
|
|
def test_maintenance_middleware(app, admin_user, db, monkeypatch, settings):
|
|
app = login(app)
|
|
resp = app.get('/')
|
|
assert resp.status_code == 200
|
|
|
|
settings.MAINTENANCE_MODE = True
|
|
resp = app.get('/', status=503)
|
|
assert 'The site is under maintenance' in resp.text
|
|
|
|
settings.MAINTENANCE_PASS_THROUGH_IPS = ['127.0.0.1']
|
|
resp = app.get('/')
|
|
assert resp.status_code == 200
|
|
|
|
settings.MAINTENANCE_PASS_THROUGH_IPS = []
|
|
resp = app.get('/', status=503)
|
|
|
|
settings.MAINTENANCE_PASS_THROUGH_DDNS = 'ddns.foo.bar'
|
|
with mock.patch('dns.resolver.resolve', return_value=[mock.Mock(address='127.0.0.2')]):
|
|
resp = app.get('/')
|
|
assert resp.status_code == 200
|
|
with mock.patch('dns.resolver.resolve', return_value=[]):
|
|
resp = app.get('/', status=503)
|