Compare commits
4 Commits
master
...
test-creat
Author | SHA1 | Date | |
---|---|---|---|
|
0259dd1837 | ||
|
982f3ee459 | ||
|
58afc09ecb | ||
|
a022be36e4 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
dist
|
||||
node_modules
|
||||
.env
|
11
Dockerfile-selenium
Normal file
11
Dockerfile-selenium
Normal 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" ]
|
@ -71,7 +71,7 @@ $ node dist/index.js
|
||||
|
||||
### Docker
|
||||
```
|
||||
$ docker run -p 8080:8080 -e -it RIMGU_ADDRESS=0.0.0.0 -e RIMGU_PORT=8080 rimgu:latest
|
||||
$ docker run -p 8080:8080 -e RIMGU_ADDRESS=0.0.0.0 -e RIMGU_PORT=8080 -it rimgu:latest
|
||||
```
|
||||
|
||||
If you decide to run a public instance, consider opening an issue to have it listed here :)
|
||||
@ -106,6 +106,12 @@ This software is released under the AGPL 3.0 license. In short, this means that
|
||||
|
||||
You are also requested to not remove attribution and donation information from forks and publications.
|
||||
|
||||
### Testing
|
||||
|
||||
Tests are done with Selenium (Helium Python package)
|
||||
|
||||
Simply run the tests with ./run-tests.sh and if no errors spit out and the exit code is 0, it passed. Set environment variables for the tests in a .env file
|
||||
|
||||
## Support
|
||||
|
||||
Donations are welcome and will contribute to development, maintenance and a future public hosted instance.
|
||||
|
20
docker-compose-tests.yml
Normal file
20
docker-compose-tests.yml
Normal file
@ -0,0 +1,20 @@
|
||||
services:
|
||||
rimgu:
|
||||
build: .
|
||||
network_mode: host
|
||||
environment:
|
||||
- RIMGU_PORT
|
||||
- RIMGU_HOST
|
||||
- RIMGU_ADDRESS
|
||||
- RIMGU_HTTP_PROXY
|
||||
- RIMGU_HTTPS_PROXY
|
||||
- RIMGU_IMGUR_CLIENT_ID
|
||||
- RIMGU_USE_API="false"
|
||||
- RIMGU_PAGE_TITLE
|
||||
selenium:
|
||||
depends_on:
|
||||
- "rimgu"
|
||||
build:
|
||||
dockerfile: ./Dockerfile-selenium
|
||||
context: .
|
||||
network_mode: host
|
5
run-tests.sh
Executable file
5
run-tests.sh
Executable 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"
|
12
tests/find_video_for_cMeqLga.js
Normal file
12
tests/find_video_for_cMeqLga.js
Normal 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
14
tests/tests.py
Normal 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()
|
Loading…
Reference in New Issue
Block a user