system-config/testinfra/test_gerrit.py
Jeremy Stanley 77972b0150 Block access to Gitiles
Once restarted onto the parent change, our Gerrit deployment will no
longer link to Gitiles representations of changes or the Git tree.
Explicitly deny access to the Gitiles URL base path in the Apache
vhost config, since we can't effectively remove the plugin itself.
This should help prevent search engines from finding its copies of
our projects rather than the ones we want people to use in Gitea.

Change-Id: I3c96221256662443f7a43344afd12194dce82b9d
2022-02-18 21:39:27 +00:00

74 lines
2.7 KiB
Python

# Copyright 2018 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import time
from util import take_screenshots
testinfra_hosts = [
'review99.opendev.org',
]
def test_gerrit_listening(host):
gerrit_web = host.socket("tcp://:::8081")
assert gerrit_web.is_listening
def test_gerrit_x_project_clone(host):
cmd = host.run(
'git clone http://localhost:8081/x/test-project /tmp/test-project')
assert "Cloning into '/tmp/test-project'..." in cmd.stderr
assert cmd.succeeded
def test_gerrit_screenshot(host):
# Click the gerrit results tab into view
script = ("document.querySelector('gr-app').shadowRoot"
".querySelector('gr-app-element').shadowRoot"
".querySelector('main')"
".querySelector('gr-change-view').shadowRoot"
".querySelector('paper-tab[data-name=\"change-view-tab-header-zuul-results-summary\"]')"
".click()")
shots = (
('http://localhost:8081', None, 'gerrit-main-page.png'),
('http://localhost:8081/c/x/test-project/+/1', script,
'gerrit-change-page-1.png'),
('http://localhost:8081/c/x/test-project/+/2', script,
'gerrit-change-page-2.png')
)
take_screenshots(host, shots)
def test_opendev_logo(host):
cmd = host.run('curl --head --insecure '
'--resolve review.opendev.org:443:127.0.0.1 '
'https://review.opendev.org/static/opendev-sm.png')
assert '200 OK' in cmd.stdout
assert 'Content-Type: image/png' in cmd.stdout
def test_openinfra_cla(host):
cmd = host.run('curl --include --insecure '
'--resolve review.opendev.org:443:127.0.0.1 '
'https://review.opendev.org/static/cla.html')
assert '200 OK' in cmd.stdout
assert 'Content-Type: text/html' in cmd.stdout
assert 'OpenInfra Foundation Individual Contributor License Agreement' in cmd.stdout
def test_gitiles_blocked(host):
cmd = host.run('curl --include --insecure '
'--resolve review.opendev.org:443:127.0.0.1 '
'https://review.opendev.org/plugins/gitiles/opendev/system-config/')
assert '403 Forbidden' in cmd.stdout