Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aerospike-ce-ecosystem avatar

E2e Test

  • 1 installs
  • 1 repo stars
  • Updated August 3, 2026
  • aerospike-ce-ecosystem/aerospike-cluster-manager

e2e-test is a Claude Code workflow skill that runs full-stack Aerospike Cluster Manager end-to-end tests using podman compose and Playwright.

About

e2e-test is a Claude Code workflow skill for running full-stack end-to-end tests of the Aerospike Cluster Manager in containers. It uses podman compose to start Aerospike, a FastAPI backend, and a Next.js frontend, then runs Playwright specs against localhost:3100. Developers use its start/test/explore/stop actions to verify the whole stack after changes.

  • Runs the full Aerospike + FastAPI backend + Next.js frontend stack in podman containers
  • Executes Playwright E2E specs against localhost:3100
  • Includes health-check gating, spec list, and trace/report troubleshooting

E2e Test by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,750 of 2,153 Testing & QA skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

e2e-test capabilities & compatibility

Free; needs podman and a Playwright setup.

Capabilities
e2e testing · container orchestration · browser automation
Works with
playwright · docker
Use cases
testing
Pricing
Free
From the docs

What e2e-test says it does

Run full-stack E2E tests with podman compose + Playwright
SKILL.md
**Important**: Backend starts only after all 3 Aerospike nodes are healthy. Frontend starts only after Backend is healthy.
SKILL.md
npx skills add https://github.com/aerospike-ce-ecosystem/aerospike-cluster-manager --skill e2e-test

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars1
Last updatedAugust 3, 2026
Repositoryaerospike-ce-ecosystem/aerospike-cluster-manager

What it does

Spin up the full Aerospike Cluster Manager stack in podman and run Playwright end-to-end tests against it.

Who is it for?

Verifying the whole Aerospike Cluster Manager stack with containerized Playwright E2E tests.

Skip if: Local hot-reload development, where /e2e-dev is recommended instead.

When should I use this skill?

You need to run end-to-end tests of the full containerized stack.

By the numbers

  • 11 Playwright spec files
  • test timeout 60s
  • waits up to 120s for services

Files

SKILL.mdMarkdownGitHub ↗

E2E Test — Full-Stack End-to-End Testing (Container Mode)

A workflow for running E2E tests with the entire stack in containers. Uses compose.yaml to start Aerospike + Backend + Frontend all as containers, then runs Playwright tests against localhost:3100.

For E2E testing in a local development environment, use `/e2e-dev`. e2e-dev runs only Aerospike in containers while Backend/Frontend run locally, enabling hot-reload.

Architecture

compose.yaml (all containers — Aerospike ports private, internal network only)
  ├── aerospike-node-1,2,3  (internal only, no host ports)
  ├── aerospike-tools        (aql, asadm, etc.)
  ├── aerospike-exporter-1,2,3 (Prometheus 9145-9147)
  ├── backend               (port 8000, FastAPI)
  └── frontend              (port 3100, Next.js) ← Playwright targets here

Aerospike Tools usage:

podman exec -it aerospike-tools aql -h aerospike-node-1
podman exec -it aerospike-tools asadm -h aerospike-node-1

Actions

all (default) — Run full workflow

Executes start → test → stop in sequence.

start — Start infrastructure

1. Clean up existing containers and build/start the full stack:

podman compose -f compose.yaml down && podman compose -f compose.yaml up -d --build

2. Verify service readiness (health check):

# Backend health check (wait up to 120 seconds)
until curl -sf http://localhost:8000/api/health > /dev/null 2>&1; do sleep 3; done

# Verify Frontend is accessible
until curl -sf http://localhost:3100 > /dev/null 2>&1; do sleep 3; done

3. Check overall container status:

podman compose -f compose.yaml ps

Important: Backend starts only after all 3 Aerospike nodes are healthy. Frontend starts only after Backend is healthy. Full startup may take 1-2 minutes.

test — Run Playwright specs

Infrastructure must already be running.

# Run all specs
cd frontend && npx playwright test

# Run specific spec
cd frontend && npx playwright test e2e/specs/{spec}

# Filter by name
cd frontend && npx playwright test -g "{test name}"

Playwright project structure:

  • setup project: runs 01-connection.spec.ts (creates test data)
  • features project: runs remaining specs (depends on setup)

Available spec files:

SpecDescription
01-connection.spec.tsConnection management (setup project)
02-cluster.spec.tsCluster information
03-browser.spec.tsNamespace/set browser
04-records.spec.tsRecord CRUD
05-query.spec.tsQuery builder
06-indexes.spec.tsSecondary indexes
08-udfs.spec.tsUDF management
09-terminal.spec.tsAQL terminal
10-settings.spec.tsSettings
11-navigation.spec.tsNavigation

Viewing test results:

# Open HTML report
cd frontend && npx playwright show-report

# View trace on failure
cd frontend && npx playwright show-trace e2e/test-results/{trace-path}/trace.zip

explore — Manual browser exploration via playwright-cli

Infrastructure must already be running. Use the playwright-cli skill to open a browser and manually explore the app.

# Open browser
playwright-cli open http://localhost:3100

# Check current state with snapshot
playwright-cli snapshot

# Interact with elements — click, fill, etc.
playwright-cli click e3
playwright-cli fill e5 "test-value"

# Take screenshot
playwright-cli screenshot

# Close browser
playwright-cli close

This mode is useful for:

  • Visual verification after implementing new features
  • Bug reproduction and debugging
  • Exploring selectors before writing E2E specs

stop — Stop infrastructure

podman compose -f compose.yaml down

To also delete volume data:

podman compose -f compose.yaml down -v

Global Setup/Teardown

Playwright has its own global setup/teardown:

  • global-setup (e2e/global-setup.ts): Waits up to 120 seconds for Frontend (localhost:3100) and Backend API (localhost:3100/api/health) to become accessible
  • global-teardown (e2e/global-teardown.ts): Automatically cleans up test connections with the E2E prefix

Configuration

SettingValue
Base URLhttp://localhost:3100
Test timeout60s
Expect timeout15s
Action timeout10s
Navigation timeout30s
Workers1 (sequential execution)
ScreenshotsAlways captured
TracesRetained on failure
Outputfrontend/e2e/test-results/
Screenshotsfrontend/e2e/screenshots/

Troubleshooting

  • Containers won't start: Check logs with podman compose -f compose.yaml logs -f
  • Backend health check failure: Verify all Aerospike nodes are healthy — podman compose -f compose.yaml ps
  • Frontend inaccessible: Backend must be healthy first — curl http://localhost:8000/api/health
  • Debugging after test failure: Use Playwright Inspector — cd frontend && npx playwright test --debug e2e/specs/{spec}
  • Port conflicts: See .env.example to change BACKEND_PORT, FRONTEND_PORT

Related skills

FAQ

What port does Playwright target?

The frontend at http://localhost:3100.

How does startup ordering work?

Backend starts only after all 3 Aerospike nodes are healthy, and Frontend starts only after Backend is healthy.

Testing & QAtestingfrontend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.