mirror of
https://github.com/pds-nest/nest.git
synced 2024-11-22 21:14:18 +00:00
113 lines
4.3 KiB
Python
113 lines
4.3 KiB
Python
from flask.testing import Client
|
|
|
|
'''A file that contains tests of classes and methods for all the requests concerning an user.'''
|
|
|
|
|
|
class TestRepositoryGetAll:
|
|
def test_get_all_user_repositories(self, flask_client: Client, user_headers):
|
|
r = flask_client.get(f'/api/v1/repositories/', headers=user_headers,
|
|
json={'owner_id': 'utente_test@nest.com', 'isActive': False})
|
|
assert r.json["result"] == "success"
|
|
# assert r.json["data"]["owner"] == "utente_test@nest.com"
|
|
# assert r.json["data"]["isAdmin"] is not True
|
|
|
|
def test_get_all_admin_repositories(self, flask_client: Client, admin_headers):
|
|
r = flask_client.get(f'/api/v1/repositories/', headers=admin_headers,
|
|
json={'owner_id': 'admin@admin.com', 'isActive': False})
|
|
assert r.json["result"] == "success"
|
|
# assert r.json["data"]["owner"] == "admin@admin.com"
|
|
# assert r.json["data"]["isAdmin"] is True
|
|
|
|
|
|
class TestRepositoryAdd:
|
|
def test_for_success(self, flask_client: Client, user_headers):
|
|
r = flask_client.post(f'/api/v1/repositories/', headers=user_headers, json={
|
|
'conditions': [
|
|
{
|
|
'content': 'PdS2021',
|
|
'id': 0,
|
|
'type': 0
|
|
}
|
|
],
|
|
'evaluation_mode': 0,
|
|
'name': 'repo_test',
|
|
'is_active': True
|
|
})
|
|
assert r.json["result"] == "success"
|
|
assert r.json["data"]["is_active"] is True
|
|
|
|
# non vengono passate le condizioni necessarie, in questo caso il nome della repository
|
|
def test_for_failure(self, flask_client: Client, user_headers):
|
|
r = flask_client.post(f'/api/v1/repositories/', headers=user_headers, json={
|
|
'conditions': [
|
|
{
|
|
'content': 'PdS2021',
|
|
'id': 0,
|
|
'type': 0
|
|
}
|
|
],
|
|
'evaluation_mode': 0,
|
|
'is_active': True
|
|
})
|
|
assert r.json["msg"] == "Missing arguments."
|
|
assert r.json["result"] == "failure"
|
|
|
|
# viene passato un campo evaluation_mode con valore non previsto dall'enum
|
|
def test_wrong_evaluation_mode(self, flask_client: Client, user_headers):
|
|
r = flask_client.post(f'/api/v1/repositories/', headers=user_headers, json={
|
|
'conditions': [
|
|
{
|
|
'content': 'PdS2021',
|
|
'id': 0,
|
|
'type': 0
|
|
}
|
|
],
|
|
'evaluation_mode': 99,
|
|
'name': 'repo_test',
|
|
'is_active': True
|
|
})
|
|
assert r.json["result"] == "failure"
|
|
|
|
# viene passato un campo type con valore non previsto dall'enum
|
|
def test_wrong_condition(self, flask_client: Client, user_headers):
|
|
r = flask_client.post(f'/api/v1/repositories/', headers=user_headers, json={
|
|
'conditions': [
|
|
{
|
|
'content': 'PdS2021',
|
|
'id': 0,
|
|
'type': 99
|
|
}
|
|
],
|
|
'evaluation_mode': 2,
|
|
'name': 'repo_test',
|
|
'is_active': True
|
|
})
|
|
assert r.json["result"] == "failure"
|
|
|
|
'''
|
|
class TestUserDelete:
|
|
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
|
|
|
|
# the admin tries to commit suicide
|
|
def test_for_failure(self, flask_client: Client, admin_headers):
|
|
r = flask_client.delete(f'/api/v1/users/admin@admin.com', headers=admin_headers)
|
|
assert b'failure' in r.data
|
|
|
|
|
|
class TestUserPatch:
|
|
def test_for_success(self, flask_client: Client, admin_headers):
|
|
r = flask_client.patch(f'/api/v1/users/admin@admin.com', headers=admin_headers, json={
|
|
'username': 'admin_patched'
|
|
})
|
|
assert b'success' in r.data
|
|
|
|
# FIXME AssertionError in flask_client at line 63. Il test non riesce ad andare a buon fine
|
|
def test_for_failure(self, flask_client: Client, user_headers):
|
|
r = flask_client.patch(f'/api/v1/users/admin@admin.com', headers=user_headers, json={
|
|
'username': 'admin_patched'
|
|
})
|
|
assert b'failure' in r.data
|
|
|
|
'''
|