diff --git a/package.json b/package.json index 17e122d..b1b7388 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "type-check:viewer": "npm run type-check --prefix viewer-frontend", "lint:python": "flake8 backend --max-line-length=100 --ignore=E501,W503 || true", "lint:python:syntax": "find backend -name '*.py' -exec python -m py_compile {} \\;", - "test:backend": "export PYTHONPATH=$(pwd) && source venv/bin/activate && python3 -m pytest tests/ -v || python3 -m pytest tests/ -v", + "test:backend": "export PYTHONPATH=$(pwd) && export SKIP_DEEPFACE_IN_TESTS=1 && ./venv/bin/python3 -m pytest tests/ -v", "test:all": "npm run test:backend", "ci:local": "npm run lint:all && npm run type-check:viewer && npm run lint:python && npm run test:backend && npm run build:all", "deploy:dev": "npm run build:all && echo 'โœ… Build complete. Ready for deployment to dev server (10.0.10.121)'", diff --git a/requirements.txt b/requirements.txt index cdd6762..0687ae5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ fastapi==0.115.0 uvicorn[standard]==0.30.6 -pydantic==2.9.1 +pydantic[email]==2.9.1 SQLAlchemy==2.0.36 psycopg2-binary==2.9.9 redis==5.0.8 diff --git a/run_tests.sh b/run_tests.sh new file mode 100755 index 0000000..31c1b96 --- /dev/null +++ b/run_tests.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# Simple test runner script for PunimTag backend tests + +set -e + +# Colors for output +GREEN='\033[0;32m' +RED='\033[0;31m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +echo -e "${YELLOW}๐Ÿงช Running PunimTag Backend Tests${NC}" +echo "" + +# Set environment variables +export PYTHONPATH=$(pwd) +export SKIP_DEEPFACE_IN_TESTS=1 + +# Check if venv exists +if [ ! -d "venv" ]; then + echo -e "${RED}โŒ Virtual environment not found. Please create it first:${NC}" + echo " python3 -m venv venv" + echo " source venv/bin/activate" + echo " pip install -r requirements.txt" + exit 1 +fi + +# Check if pytest is installed +if ! ./venv/bin/python3 -m pytest --version > /dev/null 2>&1; then + echo -e "${YELLOW}โš ๏ธ pytest not found. Installing dependencies...${NC}" + ./venv/bin/pip install -r requirements.txt +fi + +echo -e "${GREEN}โœ… Environment ready${NC}" +echo "" +echo "Running tests..." +echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" +echo "" + +# Run tests with clear output +./venv/bin/python3 -m pytest tests/ -v --tb=short + +echo "" +echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" +echo -e "${GREEN}โœ… Tests completed${NC}" +