
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)
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
What e2e-test says it does
Run full-stack E2E tests with podman compose + Playwright
**Important**: Backend starts only after all 3 Aerospike nodes are healthy. Frontend starts only after Backend is healthy.
npx skills add https://github.com/aerospike-ce-ecosystem/aerospike-cluster-manager --skill e2e-testAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 1 |
| Last updated | August 3, 2026 |
| Repository | aerospike-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
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 hereAerospike Tools usage:
podman exec -it aerospike-tools aql -h aerospike-node-1
podman exec -it aerospike-tools asadm -h aerospike-node-1Actions
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 --build2. 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; done3. Check overall container status:
podman compose -f compose.yaml psImportant: 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:
setupproject: runs01-connection.spec.ts(creates test data)featuresproject: runs remaining specs (depends onsetup)
Available spec files:
| Spec | Description |
|---|---|
01-connection.spec.ts | Connection management (setup project) |
02-cluster.spec.ts | Cluster information |
03-browser.spec.ts | Namespace/set browser |
04-records.spec.ts | Record CRUD |
05-query.spec.ts | Query builder |
06-indexes.spec.ts | Secondary indexes |
08-udfs.spec.ts | UDF management |
09-terminal.spec.ts | AQL terminal |
10-settings.spec.ts | Settings |
11-navigation.spec.ts | Navigation |
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.zipexplore — 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 closeThis 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 downTo also delete volume data:
podman compose -f compose.yaml down -vGlobal 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 theE2Eprefix
Configuration
| Setting | Value |
|---|---|
| Base URL | http://localhost:3100 |
| Test timeout | 60s |
| Expect timeout | 15s |
| Action timeout | 10s |
| Navigation timeout | 30s |
| Workers | 1 (sequential execution) |
| Screenshots | Always captured |
| Traces | Retained on failure |
| Output | frontend/e2e/test-results/ |
| Screenshots | frontend/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.exampleto changeBACKEND_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.