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:
@@ -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)
|
||||
@@ -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)
|
||||
Executable
+26
@@ -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)
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
bash <(curl -s https://codecov.io/bash) -F $1
|
||||
Reference in New Issue
Block a user