mirror of
https://github.com/bunkerity/bunkerized-nginx
synced 2023-12-13 21:30:18 +01:00
Add tests for the UI
This commit is contained in:
parent
65f2bf09b4
commit
b1c99e4088
6 changed files with 1434 additions and 0 deletions
41
tests/ui/Dockerfile
Normal file
41
tests/ui/Dockerfile
Normal file
|
@ -0,0 +1,41 @@
|
|||
FROM ubuntu:focal
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
RUN echo "===> Installing system dependencies..." && \
|
||||
BUILD_DEPS="curl unzip" && \
|
||||
apt-get update && apt-get install --no-install-recommends -y \
|
||||
python3 python3-pip wget git zip unzip \
|
||||
libappindicator3-1 libasound2 libdbus-glib-1-2 libxtst6 libxt6 firefox firefox-geckodriver \
|
||||
$BUILD_DEPS
|
||||
|
||||
RUN echo "===> Installing geckodriver for firefox..." && \
|
||||
GECKODRIVER_VERSION=`curl -i https://github.com/mozilla/geckodriver/releases/latest | grep -Po 'v[0-9]+.[0-9]+.[0-9]+'` && \
|
||||
wget https://github.com/mozilla/geckodriver/releases/download/$GECKODRIVER_VERSION/geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz && \
|
||||
tar -zxf geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz -C /usr/local/bin && \
|
||||
chmod +x /usr/local/bin/geckodriver && \
|
||||
rm geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz
|
||||
|
||||
RUN echo "===> Remove build dependencies..." && \
|
||||
apt-get remove -y $BUILD_DEPS && rm -rf /var/lib/apt/lists/* /var/cache/apt/*
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
ENV LC_ALL C.UTF-8
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
ENV APP_HOME /usr/src/app
|
||||
WORKDIR /$APP_HOME
|
||||
|
||||
COPY requirements.txt $APP_HOME/requirements.txt
|
||||
|
||||
RUN pip install -r requirements.txt
|
||||
|
||||
COPY main.py $APP_HOME/main.py
|
||||
COPY test.zip $APP_HOME/
|
||||
|
||||
RUN wget https://github.com/bunkerity/bunkerweb-plugins/archive/refs/heads/main.zip && \
|
||||
unzip main.zip && \
|
||||
mv bunkerweb-plugins-main/discord . && \
|
||||
zip -r discord.zip discord && \
|
||||
rm -rf bunkerweb-plugins-main main.zip
|
||||
|
||||
CMD ["python3", "main.py"]
|
117
tests/ui/docker-compose.yml
Normal file
117
tests/ui/docker-compose.yml
Normal file
|
@ -0,0 +1,117 @@
|
|||
version: "3.5"
|
||||
|
||||
services:
|
||||
mybunker:
|
||||
# image: bunkerity/bunkerweb:1.4.3
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: src/bw/Dockerfile
|
||||
ports:
|
||||
- 80:8080
|
||||
- 443:8443
|
||||
environment:
|
||||
SERVER_NAME: "www.example.com"
|
||||
MULTISITE: "yes"
|
||||
API_WHITELIST_IP: "127.0.0.0/8 10.20.30.0/24"
|
||||
USE_BUNKERNET: "no"
|
||||
USE_BLACKLIST: "no"
|
||||
DISABLE_DEFAULT_SERVER: "yes"
|
||||
USE_CLIENT_CACHE: "yes"
|
||||
USE_GZIP: "yes"
|
||||
DATASTORE_MEMORY_SIZE: "384m"
|
||||
www.example.com_USE_UI: "yes"
|
||||
www.example.com_SERVE_FILES: "no"
|
||||
www.example.com_USE_REVERSE_PROXY: "yes"
|
||||
www.example.com_REVERSE_PROXY_URL: "/admin/"
|
||||
www.example.com_REVERSE_PROXY_HOST: "http://bw-ui:7000"
|
||||
www.example.com_REVERSE_PROXY_HEADERS: "X-Script-Name /admin"
|
||||
www.example.com_REVERSE_PROXY_INTERCEPT_ERRORS: "no"
|
||||
www.example.com_CUSTOM_CONF_MODSEC_CRS_config: 'SecRule REQUEST_FILENAME "@rx /global_config$$" "id:999,ctl:ruleRemoveByTag=platform-pgsql,nolog"'
|
||||
CUSTOM_CONF_SERVER_HTTP_port-redirect: "port_in_redirect on;"
|
||||
labels:
|
||||
- "bunkerweb.INSTANCE"
|
||||
networks:
|
||||
bw-universe:
|
||||
bw-services:
|
||||
ipv4_address: 192.168.0.2
|
||||
|
||||
bw-scheduler:
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: src/scheduler/Dockerfile
|
||||
depends_on:
|
||||
- mybunker
|
||||
environment:
|
||||
DOCKER_HOST: "tcp://docker-proxy:2375"
|
||||
volumes:
|
||||
- bw-data:/data
|
||||
networks:
|
||||
- bw-universe
|
||||
- net-docker
|
||||
|
||||
bw-ui:
|
||||
# image: bunkerity/bunkerweb-ui:1.4.3
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: src/ui/Dockerfile
|
||||
depends_on:
|
||||
- mybunker
|
||||
- docker-proxy
|
||||
environment:
|
||||
ABSOLUTE_URI: "http://www.example.com:8080/admin/"
|
||||
ADMIN_USERNAME: "admin"
|
||||
ADMIN_PASSWORD: "admin"
|
||||
DOCKER_HOST: "tcp://docker-proxy:2375"
|
||||
volumes:
|
||||
- bw-data:/data
|
||||
networks:
|
||||
- net-docker
|
||||
- bw-universe
|
||||
|
||||
docker-proxy:
|
||||
image: tecnativa/docker-socket-proxy
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
environment:
|
||||
- CONTAINERS=1
|
||||
networks:
|
||||
- net-docker
|
||||
|
||||
app1:
|
||||
image: tutum/hello-world
|
||||
networks:
|
||||
bw-services:
|
||||
ipv4_address: 192.168.0.4
|
||||
|
||||
ui-tests:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
extra_hosts:
|
||||
- "www.example.com:192.168.0.2"
|
||||
- "app1.example.com:192.168.0.2"
|
||||
networks:
|
||||
bw-services:
|
||||
ipv4_address: 192.168.0.3
|
||||
|
||||
volumes:
|
||||
bw-data:
|
||||
mariadb:
|
||||
|
||||
|
||||
networks:
|
||||
bw-universe:
|
||||
name: bw-universe
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: 10.20.30.0/24
|
||||
bw-services:
|
||||
name: bw-services
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: 192.168.0.0/24
|
||||
net-docker:
|
BIN
tests/ui/geckodriver
Executable file
BIN
tests/ui/geckodriver
Executable file
Binary file not shown.
1274
tests/ui/main.py
Normal file
1274
tests/ui/main.py
Normal file
File diff suppressed because it is too large
Load diff
2
tests/ui/requirements.txt
Normal file
2
tests/ui/requirements.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
selenium==4.7.2
|
||||
requests==2.28.1
|
BIN
tests/ui/test.zip
Normal file
BIN
tests/ui/test.zip
Normal file
Binary file not shown.
Loading…
Reference in a new issue