2026-01-26 14:41:26 +02:00
..
2026-01-26 14:41:26 +02:00
2026-01-22 14:39:50 +02:00
2026-01-22 14:39:50 +02:00
2026-01-22 14:39:50 +02:00

E2E Test Fixtures

This directory contains test applications used for end-to-end testing of the Orama Network deployment system.

Test Applications

1. React Vite App (apps/react-vite/)

A minimal React application built with Vite for testing static site deployments.

Features:

  • Simple counter component
  • CSS and JavaScript assets
  • Test markers for E2E validation

Build:

cd apps/react-vite
npm install
npm run build
# Output: dist/

2. Next.js SSR App (apps/nextjs-ssr/)

A Next.js application with server-side rendering and API routes for testing dynamic deployments.

Features:

  • Server-side rendered homepage
  • API routes:
    • /api/hello - Simple greeting endpoint
    • /api/data - JSON data with users list
  • TypeScript support

Build:

cd apps/nextjs-ssr
npm install
npm run build
# Output: .next/

3. Go Backend (apps/go-backend/)

A simple Go HTTP API for testing native backend deployments.

Features:

  • Health check endpoint: /health
  • Users API: /api/users (GET, POST)
  • Environment variable support (PORT)

Build:

cd apps/go-backend
make build
# Output: api (Linux binary)

Building All Fixtures

Use the build script to create deployment-ready tarballs for all test apps:

./build-fixtures.sh

This will:

  1. Build all three applications
  2. Create compressed tarballs in tarballs/:
    • react-vite.tar.gz - Static site deployment
    • nextjs-ssr.tar.gz - Next.js SSR deployment
    • go-backend.tar.gz - Go backend deployment

Tarballs

Pre-built deployment artifacts are stored in tarballs/ for use in E2E tests.

Usage in tests:

tarballPath := filepath.Join("../../testdata/tarballs/react-vite.tar.gz")
file, err := os.Open(tarballPath)
// Upload to deployment endpoint

Directory Structure

testdata/
├── apps/                          # Source applications
│   ├── react-vite/               # React + Vite static app
│   ├── nextjs-ssr/               # Next.js SSR app
│   └── go-backend/               # Go HTTP API
│
├── tarballs/                      # Deployment artifacts
│   ├── react-vite.tar.gz
│   ├── nextjs-ssr.tar.gz
│   └── go-backend.tar.gz
│
├── build-fixtures.sh             # Build script
└── README.md                     # This file

Development

To modify test apps:

  1. Edit source files in apps/{app-name}/
  2. Run ./build-fixtures.sh to rebuild
  3. Tarballs are automatically updated for E2E tests

Testing Locally

React Vite App

cd apps/react-vite
npm run dev
# Open http://localhost:5173

Next.js App

cd apps/nextjs-ssr
npm run dev
# Open http://localhost:3000
# Test API: http://localhost:3000/api/hello

Go Backend

cd apps/go-backend
go run main.go
# Test: curl http://localhost:8080/health
# Test: curl http://localhost:8080/api/users

Notes

  • All apps are intentionally minimal to ensure fast build and deployment times
  • React and Next.js apps include test markers (data-testid) for E2E validation
  • Go backend uses standard library only (no external dependencies)
  • Build script requires: Node.js (18+), npm, Go (1.21+), tar, gzip