916c1d3dc8
The paste service needs an upgrade; since others have created a lodgeit container it seems worth us keeping the service going if only to maintain the historical corpus of pastes. This adds the ansible to deploy lodgeit and a sibling mariadb container. I have imported a dump of the old data as a test. The dump is ~4gb and imported it takes up about double that; certainly nothing we need to be too concerned over. The server will be more than capable of running the db container alongside the lodgeit instance. This should have no effect on production until we decide to switch DNS. Change-Id: I284864217aa49d664ddc3ebdc800383b2d7e00e3
52 lines
1.8 KiB
Python
52 lines
1.8 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.
|
|
|
|
from selenium import webdriver
|
|
from selenium.webdriver.support.ui import WebDriverWait
|
|
from selenium.common.exceptions import TimeoutException
|
|
import time
|
|
|
|
testinfra_hosts = ['paste01.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 --insecure '
|
|
'--resolve paste.opendev.org:443:127.0.0.1 '
|
|
'https://paste.opendev.org')
|
|
assert 'New Paste' in cmd.stdout
|
|
|
|
def test_paste_screenshots(host):
|
|
driver = webdriver.Remote(
|
|
command_executor='http://%s:4444/wd/hub' % (host.backend.get_hostname()),
|
|
desired_capabilities=webdriver.DesiredCapabilities.FIREFOX)
|
|
|
|
try:
|
|
driver.get("https://localhost")
|
|
WebDriverWait(driver, 30).until(lambda driver: driver.execute_script(
|
|
'return document.readyState') == 'complete')
|
|
time.sleep(5)
|
|
driver.save_screenshot("/var/log/screenshots/paste-main-page.png")
|
|
|
|
except TimeoutException as e:
|
|
raise e
|
|
finally:
|
|
driver.quit()
|