Files
ASF_tools/asf-cloud-server/testarena/README.md
2025-11-24 20:39:18 +01:00

1.9 KiB

ASF TestArena

A full-stack web application to manage automated software test jobs.

Features

  • Login System: Admin and User roles.
  • Dashboard: Real-time job monitoring with WebSocket.
  • Job Submission: Wizard to submit jobs based on git branches.
  • Results: HTML reports generated and served automatically.
  • Cleanup: Automatic deletion of results older than 7 days.

Architecture

  • Backend: FastAPI (Python)
  • Frontend: React + Vite (TypeScript)
  • Database: PostgreSQL
  • Reverse Proxy: Nginx (Local Host)
  • Containerization: Docker Compose (Backend + DB)

Deployment Instructions

Prerequisites

  • Docker and Docker Compose installed.
  • Nginx installed on the host machine.
  • Node.js installed (to build frontend).
  • Domain asf-testarena.duckdns.org pointing to your PC.

1. Backend & Database

Start the backend and database using Docker Compose:

docker-compose up -d --build

This will expose the backend API on localhost:8000.

2. Frontend

Build the frontend application:

cd frontend
npm install
npm run build

Copy the contents of frontend/dist to your web root:

# Example path based on your request
sudo cp -r dist/* /var/www/testarena/

3. Nginx Configuration

Update your Nginx configuration (usually in /etc/nginx/sites-available/default or similar) using the snippet provided in nginx_config_snippet.conf.

Key configurations:

  • Serve static files from /var/www/testarena.
  • Proxy /api/, /auth/, /admin/, /jobs/, /ws/ to http://localhost:8000.
  • Alias /results/ to the results folder in this project directory.

Restart Nginx:

sudo systemctl restart nginx

4. Verify

  • Open http://asf-testarena.duckdns.org.
  • Login with admin / admin123.

Scripts Integration

  • The mock scripts are located in backend/scripts/.
  • Replace get_scenarios.sh and run_tests.sh with your actual implementation.
  • Ensure the scripts are executable.