added selenium test files

This commit is contained in:
Kevin F 2021-10-13 23:54:16 +00:00
parent a022be36e4
commit 58afc09ecb
5 changed files with 53 additions and 0 deletions

11
Dockerfile-selenium Normal file
View File

@ -0,0 +1,11 @@
FROM selenium/standalone-firefox
USER root
RUN apt-get -y update
RUN apt-get -y install python3-pip
USER seluser
RUN python3 -m pip install helium --user
WORKDIR /home/seluser
ADD tests/* /home/seluser/
ENTRYPOINT [ "python3", "tests.py" ]

11
docker-compose-tests.yml Normal file
View File

@ -0,0 +1,11 @@
services:
rimgu:
build: .
network_mode: host
selenium:
depends_on:
- "rimgu"
build:
dockerfile: ./Dockerfile-selenium
context: .
network_mode: host

5
run-tests.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
sudo docker-compose -f docker-compose-tests.yml up --abort-on-container-exit --build
EXIT_CODE=$?
sudo docker-compose -f docker-compose-tests.yml down
exit "$EXIT_CODE"

View File

@ -0,0 +1,12 @@
// Script is executed by selenium because the css selector is bugged in helium/selenium
// Check for the meme video's element presence then write to page so helium
// knows it is there
let vid = document.querySelectorAll('source[src="/InQKYvf.mp4"]')
if (vid.length){
let p = document.createElement("p")
p.innerText = "video exists"
document.body.appendChild(p)
}

14
tests/tests.py Normal file
View File

@ -0,0 +1,14 @@
import time
import helium
gallery_id = "cMeqLga"
f = helium.start_firefox(f"http://127.0.0.1:8080/gallery/{gallery_id}", headless=True)
assert helium.Text("2021-10-13T15:25:25Z").exists()
# Check for meme video by running a js to create a p element if it exists
with open(f"find_video_for_{gallery_id}.js", "r") as script:
f.execute_script(script.read())
assert helium.Text("video exists").exists()