From d48d1e0f3f60c52399028f1a58b216a308af3da0 Mon Sep 17 00:00:00 2001 From: Annielated Date: Sat, 8 May 2021 17:02:53 +0200 Subject: [PATCH] fix --- code/backend/nest_backend/test/conftest.py | 2 +- .../test/fixtures/flask_client.py | 31 ++++++++++++++++--- code/backend/nest_backend/test/test_doa.py | 6 ++-- code/backend/nest_backend/test/test_user.py | 16 ++++------ 4 files changed, 36 insertions(+), 19 deletions(-) diff --git a/code/backend/nest_backend/test/conftest.py b/code/backend/nest_backend/test/conftest.py index beade98..77c9127 100644 --- a/code/backend/nest_backend/test/conftest.py +++ b/code/backend/nest_backend/test/conftest.py @@ -4,4 +4,4 @@ Pytest configuration file. Import global fixtures here. """ -from fixtures.flask_client import flask_client, access_token, headers +from fixtures.flask_client import flask_client, admin_access_token, admin_headers, user_access_token, user_headers diff --git a/code/backend/nest_backend/test/fixtures/flask_client.py b/code/backend/nest_backend/test/fixtures/flask_client.py index 6c16c28..330560b 100644 --- a/code/backend/nest_backend/test/fixtures/flask_client.py +++ b/code/backend/nest_backend/test/fixtures/flask_client.py @@ -38,7 +38,7 @@ def flask_client(): @pytest.fixture() -def access_token(flask_client): +def admin_access_token(flask_client): response = flask_client.post("/api/v1/login", json={ "email": "admin@admin.com", "password": "password" @@ -53,6 +53,29 @@ def access_token(flask_client): @pytest.fixture() -def headers(access_token): - headers = {'Authorization': f"Bearer {access_token}"} - return headers +def user_access_token(flask_client): + response = flask_client.post("/api/v1/login", json={ + "email": "utente_test@nest.com", + "password": "password" + }) + assert response.json is not None + assert "result" in response.json + assert response.json["result"] == "success" + assert "data" in response.json + data = response.json["data"] + assert "access_token" in data + return data["access_token"] + + +@pytest.fixture() +def admin_headers(admin_access_token): + admin_headers = {'Authorization': f"Bearer {admin_access_token}"} + return admin_headers + + +@pytest.fixture() +def user_headers(user_access_token): + user_headers = {'Authorization': f"Bearer {user_access_token}"} + return user_headers + + diff --git a/code/backend/nest_backend/test/test_doa.py b/code/backend/nest_backend/test/test_doa.py index 0c4de26..46534f1 100644 --- a/code/backend/nest_backend/test/test_doa.py +++ b/code/backend/nest_backend/test/test_doa.py @@ -3,8 +3,6 @@ from flask.testing import Client # noinspection PyShadowingNames -def test_doa(flask_client: Client, access_token: str): - response = flask_client.get("/doa", headers={ - "Authorization": f"Bearer {access_token}", - }) +def test_doa(flask_client: Client, admin_headers): + response = flask_client.get("/doa", headers=admin_headers) assert b"If you see this, the server is fine." in response.data diff --git a/code/backend/nest_backend/test/test_user.py b/code/backend/nest_backend/test/test_user.py index e17bd9e..ef23b9a 100644 --- a/code/backend/nest_backend/test/test_user.py +++ b/code/backend/nest_backend/test/test_user.py @@ -1,24 +1,20 @@ from flask.testing import Client - - - - class TestUserGet: - def test_for_success(self, flask_client: Client, headers): - r = flask_client.get(f'/api/v1/users/admin@admin.com', headers=headers) + def test_for_success(self, flask_client: Client, admin_headers): + r = flask_client.get(f'/api/v1/users/admin@admin.com', headers=admin_headers) assert b'success' in r.data class TestUserAdd: - def test_for_success(self, flask_client: Client, headers): - r = flask_client.post(f'/api/v1/users/', headers=headers, + def test_for_success(self, flask_client: Client, admin_headers): + r = flask_client.post(f'/api/v1/users/', headers=admin_headers, json={'email': 'utente_test@nest.com', 'password': 'password', 'username': 'utente_test'}) assert b'success' in r.data class TestUserDelete: - def test_for_success(self, flask_client: Client, headers): - r = flask_client.delete(f'/api/v1/users/utente_test@nest.com', headers=headers) + def test_for_success(self, flask_client: Client, admin_headers): + r = flask_client.delete(f'/api/v1/users/utente_test@nest.com', headers=admin_headers) assert b'success' in r.data