ci: add tests

This commit is contained in:
Michael Grote 2023-06-26 23:42:28 +02:00
parent 07826d05c4
commit 310a6540b6

View file

@ -93,3 +93,47 @@ steps:
when: when:
event: event:
- tag - tag
---
kind: pipeline
type: docker
name: selfhosted
depends_on:
- selfhosted
- dockerhub
- name: test
image: registry.mgrote.net/python-api-server:latest
environment:
MAX_CONTENT_LENGTH: 50
UPLOAD_DIRECTORY: /uploads
AUTH_TOKEN: myuploadtoken
ENABLE_WEBSERVER: false
commands:
- # führe Script nach Fehlern weiter aus
- set +e
- export TOKEN=myuploadtoken
- export URL="localhost:5000"
- mkdir -p tests
- echo -e Test: normaler Upload
- echo content > tests/file
- curl -X POST -H "token: $TOKEN" -F "file=@tests/file" $URL/upload | jq
- echo -e Test: leerer Upload
- curl -X POST -H "token: $TOKEN" $URL/upload | jq
- echo -e Test: fehlerhafter Dateiname Upload
- touch ./tests/'hallo\welt.txt'
- curl -X POST -H "token: $TOKEN" -F "file=@tests/hallo\welt.txt" $URL/upload | jq
- echo -e Test: List Files
- curl -H "token: $TOKEN" $URL/list | jq
- echo -e Test: download Datei
- wget $URL/download/file -o ./tests/file
- ls -lah ./tests/file
- echo -e Test: download nicht vorhandene Datei
- wget $URL/download/file2
- echo -e Test: lösche Datei
- curl -X DELETE -H "token: $TOKEN" $URL/delete/file | jq
- echo -e Test: lösche nicht vorhandene Datei
- curl -X DELETE -H "token: $TOKEN" $URL/delete/file2 | jq
- echo -e Test: check health
- curl $URL/health
- rm -rf tests