Add tests for plume webserver (#513)

* begin setup front-end test environment with selenium
* run migrations before tests
* use https for tests
This commit is contained in:
fdb-hiroshima
2019-04-06 17:41:57 +02:00
committed by GitHub
parent 1f7ff62c19
commit eabe73ddc0
17 changed files with 171 additions and 45 deletions
View File
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/python3
from utils import Browser
class InstanceName(Browser):
def test_name_in_title(self):
self.get("/")
self.assertIn("plume-test", self.driver.title)
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/python3
import unittest,os
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
class Browser(unittest.TestCase):
def setUp(self):
if os.environ["BROWSER"] == "firefox":
capabilities=DesiredCapabilities.FIREFOX
elif os.environ["BROWSER"] == "chrome":
capabilities=DesiredCapabilities.CHROME
else:
raise Exception("No browser was requested")
capabilities['acceptSslCerts'] = True
self.driver = webdriver.Remote(
command_executor='http://localhost:24444/wd/hub',
desired_capabilities=capabilities)
def tearDown(self):
self.driver.close()
def get(self, url):
return self.driver.get("https://localhost" + url)
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
set -eo pipefail
export ROCKET_SECRET_KEY="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
mkdir -p "target/cov/plume"
mkdir -p "target/cov/plm"
plm='kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov/plm plm'
diesel migration run
diesel migration redo
$plm instance new -d plume-test.local -n plume-test
$plm users new -n admin -N 'Admin' -e 'email@exemple.com' -p 'password'
$plm search init
kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov/plume plume &
caddy -conf /Caddyfile &
until curl http://localhost:7878/test/health -f; do sleep 1; done 2>/dev/null >/dev/null
cd $(dirname $0)/browser_test/
python3 -m unittest *.py
kill -SIGINT %1
kill -SIGKILL %2
wait
@@ -8,4 +8,3 @@ for file in target/debug/*-*[^\.d]; do
kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$filename" "$file"
fi
done
bash <(curl -s https://codecov.io/bash)
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
set -eo pipefail
bash <(curl -s https://codecov.io/bash) -F $1