From 79ef0a093ce33f69b0123b1ef678a9e7441254e1 Mon Sep 17 00:00:00 2001 From: hasslesstech Date: Sun, 25 May 2025 21:17:30 +0300 Subject: [PATCH] improve testing workflow --- .gitea/workflows/test-backend.yaml | 8 +++++++ tests/backend-testing-env | 4 ++-- tests/backend.sh | 37 ++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 tests/backend.sh diff --git a/.gitea/workflows/test-backend.yaml b/.gitea/workflows/test-backend.yaml index 3597f51..4d4c69d 100644 --- a/.gitea/workflows/test-backend.yaml +++ b/.gitea/workflows/test-backend.yaml @@ -17,3 +17,11 @@ jobs: - name: Deploy testing environment shell: sh run: docker-compose -f backend/docker-compose-x86_64.yaml up -d + - name: Run test requests + shell: sh + run: | + chmod +x tests/backend.sh + tests/backend.sh + - name: Clean up testing environment + shell: sh + run: docker-compose -f backend/docker-compose-x86_64.yaml up -d diff --git a/tests/backend-testing-env b/tests/backend-testing-env index 6e7805f..d215a65 100644 --- a/tests/backend-testing-env +++ b/tests/backend-testing-env @@ -1,4 +1,4 @@ FROM alpine:latest -RUN apk --update add git docker docker-compose postgresql -RUN docker pull postgres +RUN --mount=type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock apk --update add git docker docker-compose postgresql +RUN --mount=type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock docker pull postgres diff --git a/tests/backend.sh b/tests/backend.sh new file mode 100644 index 0000000..46757ff --- /dev/null +++ b/tests/backend.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +assert_good_status () { + if [ $? -ne 0 ]; then + exit 1 + fi +} + +assert_bad_status () { + if [ $? -eq 0 ]; then + exit 1 + fi +} + +HOST=127.0.0.1 + +curl -f http://$HOST/movies +assert_good_status + +curl -f http://$HOST/passes +assert_good_status + +curl -X POST -f http://$HOST/apply_for_pass +assert_bad_status + +curl -X POST -f http://$HOST/apply_for_pass \ + -H "Content-Type: application/json" \ + --data '{"first": "Hannah", + "last": "Dirt", + "email": "hannah.dirt@mail.com", + "type": 1, + "price": 50, + "movie_uuid": "742a2542-2b50-11f0-ae4c-f7bedd5fcc88"}' +assert_good_status + +curl -f http://$HOST/passes | jq '.result.[0]' +assert_good_status