added api tests

This commit is contained in:
Oscar Krause 2022-12-23 07:35:37 +01:00
parent 9809bbdbd1
commit 3f5e3b16c5
2 changed files with 28 additions and 1 deletions

View File

@ -16,9 +16,13 @@ build:
- docker push ${CI_REGISTRY}/${CI_PROJECT_PATH}/${CI_BUILD_REF_NAME}:${CI_BUILD_REF} - docker push ${CI_REGISTRY}/${CI_PROJECT_PATH}/${CI_BUILD_REF_NAME}:${CI_BUILD_REF}
test: test:
image: python:3.10-alpine
stage: test stage: test
before_script:
- pip install pytest httpx
- cd test
script: script:
- echo "Nothing to do ..." - pytest main.py
deploy: deploy:
stage: deploy stage: deploy

23
test/main.py Normal file
View File

@ -0,0 +1,23 @@
from starlette.testclient import TestClient
import importlib.util
import sys
MODULE, PATH = 'main.app', '../app/main.py'
spec = importlib.util.spec_from_file_location(MODULE, PATH)
main = importlib.util.module_from_spec(spec)
sys.modules[MODULE] = main
spec.loader.exec_module(main)
client = TestClient(main.app)
def test_index():
response = client.get('/')
assert response.status_code == 200
def test_status():
response = client.get('/status')
assert response.status_code == 200
assert response.json()['status'] == 'up'