Serve robots.txt from the admin app

We’re getting rid of the PaaS proxy, which is where this file is
currently served from.

Values copied from 3632313fdf/ansible/roles/nginx/files/robots.txt
This commit is contained in:
Chris Hill-Scott
2018-08-29 15:41:53 +01:00
parent 162fd3773e
commit 09876532ae
3 changed files with 29 additions and 0 deletions

View File

@@ -26,6 +26,17 @@ def index():
return render_template('views/signedout.html')
@main.route('/robots.txt')
def robots():
return (
'User-agent: *\n'
'Disallow: /sign-in\n'
'Disallow: /support\n'
'Disallow: /support/\n'
'Disallow: /register\n'
), 200, {'Content-Type': 'text/plain'}
@main.route('/error/<int:status_code>')
def error(status_code):
if status_code >= 500:

View File

@@ -194,6 +194,7 @@ class HeaderNavigation(Navigation):
'resend_email_verification',
'resume_service',
'revoke_api_key',
'robots',
'send_messages',
'send_notification',
'send_one_off',
@@ -451,6 +452,7 @@ class MainNavigation(Navigation):
'resend_email_verification',
'resume_service',
'roadmap',
'robots',
'security',
'send_notification',
'service_dashboard_updates',
@@ -638,6 +640,7 @@ class CaseworkNavigation(Navigation):
'resume_service',
'revoke_api_key',
'roadmap',
'robots',
'security',
'send_messages',
'send_notification',
@@ -859,6 +862,7 @@ class OrgNavigation(Navigation):
'resume_service',
'revoke_api_key',
'roadmap',
'robots',
'security',
'send_messages',
'send_notification',

View File

@@ -40,6 +40,20 @@ def test_logged_in_user_redirects_to_choose_account(
assert response.location == url_for('main.choose_account', _external=True)
def test_robots(client):
assert url_for('main.robots') == '/robots.txt'
response = client.get(url_for('main.robots'))
assert response.headers['Content-Type'] == 'text/plain'
assert response.status_code == 200
assert response.get_data(as_text=True) == (
'User-agent: *\n'
'Disallow: /sign-in\n'
'Disallow: /support\n'
'Disallow: /support/\n'
'Disallow: /register\n'
)
@pytest.mark.parametrize('view', [
'cookies', 'privacy', 'using_notify', 'pricing', 'terms', 'integration_testing', 'roadmap',
'features', 'callbacks', 'documentation', 'security'