diff --git a/.gitignore b/.gitignore index 774a804..11fc216 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ __pycache__/ *.pyc *.pyo *.pyd +*.pytest_cache # IDE и редакторы .vscode/ diff --git a/makefile b/makefile new file mode 100644 index 0000000..82ddef0 --- /dev/null +++ b/makefile @@ -0,0 +1,18 @@ +VENV=./venv/bin/python +ALEMBIC=alembic -c ./server/database/alembic/alembic.ini + +.PHONY: test run migrate_head migrate_down migrate_history migrate_current migrate +test: + pytest -c ./server/testing/pytest.ini ./server/testing/tests/ +run: + $(VENV) run.py +migrate_head: + $(ALEMBIC) upgrade head +migrate_down: + $(ALEMBIC) downgrade -1 +migrate_history: + $(ALEMBIC) history +migrate_current: + $(ALEMBIC) current +migrate: + $(ALEMBIC) revision --autogenerate \ No newline at end of file diff --git a/requirements b/requirements index 0fdab63..82fa124 100644 --- a/requirements +++ b/requirements @@ -6,4 +6,5 @@ greenlet == 3.2.4 passlib == 1.7.4 bcrypt == 4.0.1 python-jose[cryptography] == 3.5.0 -alembic == 1.16.5 \ No newline at end of file +alembic == 1.16.5 +pytest == 8.4.1 \ No newline at end of file diff --git a/server/testing/pytest.ini b/server/testing/pytest.ini new file mode 100644 index 0000000..7b4e87e --- /dev/null +++ b/server/testing/pytest.ini @@ -0,0 +1,8 @@ +[pytest] +minversion = 6.0 +testpaths = tests +python_files = test_*.py *_test.py +python_functions = test_* +addopts = + -vv + --import-mode=importlib \ No newline at end of file diff --git a/server/testing/tests/first_test.py b/server/testing/tests/first_test.py new file mode 100644 index 0000000..e6d2f7c --- /dev/null +++ b/server/testing/tests/first_test.py @@ -0,0 +1,7 @@ +# test_math.py +def add(a, b): + return a + b + +def test_addition(): + assert add(2, 2) == 4 + assert add(-1, 1) == 0 \ No newline at end of file