From 902a76b6ee8411f25d4c1068c2dc4c739cc3401a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sara=20Aim=C3=A9e=20Smiseth?= <51710585+SaraSmiseth@users.noreply.github.com> Date: Sun, 2 May 2021 13:30:37 +0200 Subject: [PATCH] WIP test refactoring, TODO run tests for second prosody container --- Dockerfile | 4 +- data/.gitkeep | 0 ...er-entrypoint.sh => docker-entrypoint.bash | 0 tests/docker-compose.yml | 36 +++++++++----- tests/test.bash | 47 +++++++++++-------- 5 files changed, 53 insertions(+), 34 deletions(-) delete mode 100644 data/.gitkeep rename docker-entrypoint.sh => docker-entrypoint.bash (100%) diff --git a/Dockerfile b/Dockerfile index a42e676..54d01e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -89,7 +89,7 @@ ENV __FLUSH_LOG yes VOLUME ["/usr/local/var/lib/prosody"] COPY prosody.cfg.lua /usr/local/etc/prosody/prosody.cfg.lua -COPY docker-entrypoint.sh /entrypoint.sh +COPY docker-entrypoint.bash /entrypoint.bash COPY conf.d/*.cfg.lua /usr/local/etc/prosody/conf.d/ COPY *.bash /usr/local/bin/ @@ -110,6 +110,6 @@ RUN download-prosody-modules.bash \ USER prosody -ENTRYPOINT ["/entrypoint.sh"] +ENTRYPOINT ["/entrypoint.bash"] CMD ["prosody", "-F"] diff --git a/data/.gitkeep b/data/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/docker-entrypoint.sh b/docker-entrypoint.bash similarity index 100% rename from docker-entrypoint.sh rename to docker-entrypoint.bash diff --git a/tests/docker-compose.yml b/tests/docker-compose.yml index b978757..8c59053 100644 --- a/tests/docker-compose.yml +++ b/tests/docker-compose.yml @@ -2,6 +2,23 @@ version: '3.7' services: prosody: + image: prosody + restart: unless-stopped + ports: + - "5000:5000" + - "5222:5222" + - "5223:5223" + - "5269:5269" + - "5281:5281" + environment: + DOMAIN: localhost + E2E_POLICY_WHITELIST: "admin@localhost, user1@localhost" + LOG_LEVEL: debug + PROSODY_ADMINS: "admin@localhost, admin2@localhost" + volumes: + - ./certs:/usr/local/etc/prosody/certs + + prosody_postgres: image: prosody restart: unless-stopped ports: @@ -16,17 +33,12 @@ services: LOG_LEVEL: debug PROSODY_ADMINS: "admin@localhost, admin2@localhost" #DB_DRIVER: "MySQL" - #DB_DRIVER: "PostgreSQL" - #DB_DATABASE: "prosody" - #DB_HOST: "postgres" - #DB_PORT: "5432" - #DB_USERNAME: "prosody" - #DB_PASSWORD: "prosody" - extra_hosts: - - "conference.localhost:127.0.0.1" - - "pubsub.localhost:127.0.0.1" - - "proxy.localhost:127.0.0.1" - - "upload.localhost:127.0.0.1" + DB_DRIVER: "PostgreSQL" + DB_DATABASE: "prosody" + DB_HOST: "postgres" + DB_PORT: "5432" + DB_USERNAME: "prosody" + DB_PASSWORD: "prosody" volumes: - ./certs:/usr/local/etc/prosody/certs depends_on: @@ -39,5 +51,3 @@ services: POSTGRES_DB: prosody POSTGRES_USER: prosody POSTGRES_PASSWORD: prosody - #volumes: - #- ./postgres-data:/var/lib/postgresql/data diff --git a/tests/test.bash b/tests/test.bash index 2cd3ae4..6e5bd0d 100755 --- a/tests/test.bash +++ b/tests/test.bash @@ -15,6 +15,30 @@ generateCert() { fi } +registerTestUsers() { + local containerName="$1" + sudo docker exec "$containerName" /bin/bash -c "/entrypoint.bash register admin localhost 12345678" \ + && sudo docker exec "$containerName" /bin/bash -c "/entrypoint.bash register user1 localhost 12345678" \ + && sudo docker exec "$containerName" /bin/bash -c "/entrypoint.bash register user2 localhost 12345678" \ + && sudo docker exec "$containerName" /bin/bash -c "/entrypoint.bash register user3 localhost 12345678" +} + +runTests() { + local containerName="$1" + python --version \ + && python3 --version \ + && python3 -m venv venv \ + && source venv/bin/activate \ + && python --version \ + && pip --version \ + && pip install -r requirements.txt \ + && pytest \ + && deactivate \ + && sleep 5 \ + && sudo docker-compose logs "$containerName" \ + && ./bats/bats-core/bin/bats tests.bats +} + generateCert "localhost" generateCert "conference.localhost" generateCert "proxy.localhost" @@ -25,24 +49,9 @@ generateCert "upload.localhost" sudo docker-compose down \ && sudo docker-compose up -d postgres \ && sleep 10 \ -&& sudo docker-compose up -d \ -\ -&& sudo docker exec tests_prosody_1 /bin/bash -c "/entrypoint.sh register admin localhost 12345678" \ -&& sudo docker exec tests_prosody_1 /bin/bash -c "/entrypoint.sh register user1 localhost 12345678" \ -&& sudo docker exec tests_prosody_1 /bin/bash -c "/entrypoint.sh register user2 localhost 12345678" \ -&& sudo docker exec tests_prosody_1 /bin/bash -c "/entrypoint.sh register user3 localhost 12345678" \ -\ -&& python --version \ -&& python3 --version \ -&& python3 -m venv venv \ -&& source venv/bin/activate \ -&& python --version \ -&& pip --version \ -&& pip install -r requirements.txt \ -&& pytest \ -&& deactivate \ -&& sleep 5 \ -&& sudo docker-compose logs \ -&& ./bats/bats-core/bin/bats tests.bats +&& sudo docker-compose up -d prosody_postgres + +registerTestUsers tests_prosody_postgres_1 +runTests prosody_postgres sudo docker-compose down