From 1bf7cdf4ab51cba098e32a11b9f2799de7b93ef8 Mon Sep 17 00:00:00 2001 From: Tanya Date: Wed, 7 Jan 2026 15:23:16 -0500 Subject: [PATCH] chore: Update backend test command and add test runner script This commit modifies the backend test command in `package.json` to skip DeepFace during tests by setting the `SKIP_DEEPFACE_IN_TESTS` environment variable. Additionally, a new `run_tests.sh` script is introduced to streamline the testing process, ensuring the virtual environment is set up and dependencies are installed before running the tests. These changes enhance the testing workflow and improve reliability. --- package.json | 2 +- requirements.txt | 2 +- run_tests.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100755 run_tests.sh 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}" +