system-config/testinfra/test_paste.py
Ian Wienand 939233e4e4 paste : move testing host to paste99, remove https hacks
Move the paste testing server to paste99 to distinguish it in testing
from the actual production paste service.  Since we have certificates
setup now, we can directly test against "paste99.opendev.org",
removing the insecure flags to various calls.

Change-Id: Ifd5e270604102806736dffa86dff2bf8b23799c5
2022-07-07 10:02:46 +10:00

62 lines
1.9 KiB
Python

# Copyright 2020 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 requests
from util import take_screenshots
testinfra_hosts = ['paste99.opendev.org']
def test_lodgeit_container_web_listening(host):
paste_http = host.socket("tcp://127.0.0.1:80")
assert paste_http.is_listening
paste_https = host.socket("tcp://127.0.0.1:443")
assert paste_https.is_listening
def test_paste(host):
cmd = host.run('curl https://paste99.opendev.org')
assert 'New Paste' in cmd.stdout
# ensure we paste private by default
assert '<input type="checkbox" name="private" id="private" checked>' \
in cmd.stdout
def test_paste_redirects(host):
# http site should redirect all agents but Pastebinit
r = requests.get('http://paste99.opendev.org', allow_redirects=False)
assert r.status_code == 301
assert r.headers['Location'] == 'https://paste.opendev.org/'
headers = {
'User-Agent': 'Pastebinit v1.2.3'
}
r = requests.get('http://paste99.opendev.org')
assert r.status_code == 200
def test_paste_logo(host):
cmd = host.run('curl https://paste99.opendev.org/assets/opendev.svg')
assert 'image/svg+xml' in cmd.stdout
def test_paste_robots(host):
cmd = host.run('curl https://paste99.opendev.org/robots.txt')
assert 'Disallow: /' in cmd.stdout
def test_paste_screenshots(host):
shots = (
('https://localhost', None, 'paste-main-page.png'),
)
take_screenshots(host, shots)