diff --git a/backend/test/fictive_logs.py b/backend/test/fictive_logs.py new file mode 100644 index 0000000..4987c7b --- /dev/null +++ b/backend/test/fictive_logs.py @@ -0,0 +1,59 @@ +from logs_model import Logs +from datetime import date + + +TAB_LOG = [ + { + "id": 1, + "date": date.fromisoformat('2021-12-04'), + "user": "riri", + "ip": "0.0.0.0", + "table": "Users", + "action": "connexion", + "status": "succes", + "status_code": 200 + }, + { + "id": 2, + "date": date.fromisoformat('2021-12-04'), + "user": "fifi", + "ip": "0.0.0.0", + "table": "Users", + "action": "connexion", + "status": "succes", + "status_code": 200 + }, + { + "id": 3, + "date": date.fromisoformat('2021-12-04'), + "user": "loulou", + "ip": "0.0.0.0", + "table": "Users", + "action": "connexion", + "status": "succes", + "status_code": 200 + }, +] + + +def get_log_object(i: int): + return Logs( + id=TAB_LOG[i]["id"], + date=TAB_LOG[i]["date"], + user=TAB_LOG[i]["user"], + ip=TAB_LOG[i]["ip"], + table=TAB_LOG[i]["table"], + action=TAB_LOG[i]["action"], + status=TAB_LOG[i]["status"], + status_code=TAB_LOG[i]["status_code"] + ) + + +def get_log_json(i: int): + return TAB_LOG[i] + + + + + + diff --git a/backend/test/fictive_users.py b/backend/test/fictive_users.py new file mode 100644 index 0000000..5beb337 --- /dev/null +++ b/backend/test/fictive_users.py @@ -0,0 +1,66 @@ +from users_model import Users + + id = db.Column(db.Integer, primary_key=True, autoincrement=True) + email = db.Column(db.String(), nullable=False, unique=True) + hash_pass = db.Column(db.LargeBinary(), nullable=False) + salt = db.Column(db.LargeBinary(), nullable=False) + is_admin = db.Column(db.Boolean, default=False, nullable=False) + + + +TAB_USER = [ + { + "id": 1, + "email": "riri@gmail.com", + "login": "riri", + "hash_pass": "ririPass", + "isAdmin": False + }, + { + "id": 2, + "email": "fifi@gmail.com", + "login": "fifi", + "hashPass": "fifiPass", + "isAdmin": False + }, + { + "id": 3, + "email": "loulou@gmail.com", + "login": "loulou", + "hashPass": "loulouPass", + "isAdmin": False + }, + { + "id": 4, + "email": "picsou@gmail.com", + "login": "picsou", + "hashPass": "picsouPass", + "isAdmin": True + }, + { + "id": 5, + "email": "donald@gmail.com", + "login": "donald", + "hashPass": "donaldPass", + "isAdmin": True + }, +] + + +def get_user_object(i: int): + return Users( + id=TAB_USER[i]["id"], + email=TAB_USER[i]["email"], + login=TAB_USER[i]["login"], + hashPass=TAB_USER[i]["hashPass"], + isAdmin=TAB_USER[i]["isAdmin"] + ) + + +def get_user_json(i: int): + return TAB_USER[i] + + + + + diff --git a/backend/test/test.py b/backend/test/test.py new file mode 100644 index 0000000..eb21f2f --- /dev/null +++ b/backend/test/test.py @@ -0,0 +1,53 @@ +# Third party modules +import pytest +from datetime import date + +from __init__ import create_app, db +from users_model import Users +from logs_model import Logs + +import fictive_users +import ficitve_logs + + +@pytest.fixture +def client(): + app = create_app() + + app.config["TESTING"] = True + app.testing = True + + + app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite://" + + client = app.test_client() + with app.app_context(): + db.create_all() + + for i in range(1,6): + db.session.add(fictive_users.get_user_object(i)) + + for i in range(1,3): + db.session.add(ficitve_logs.get_log_object(i)) + + db.session.commit() + + yield client + + + +def test_get_user(client): + index = 1 + predict_results = client.get("/api/users/{}}".format(index)) + true_results = fictive_users.get_user_json(index) + assert predict_results.json == true_results + + + + + + + + + + \ No newline at end of file