Add comprehensive Docker test environment for installation validation

Add complete Docker testing infrastructure to validate all 3 installation methods

Features:
- Dockerfile: Ubuntu 22.04 with Node.js 20, Python 3, prerequisites
- docker-compose.yml: Orchestrate 3 test containers + verification
- Test suite with 5 scripts:
  * common.sh: Shared utilities and verification functions
  * test-interactive-install.sh: Test Option 2 (interactive installer)
  * test-master-prompt-install.sh: Test Option 1 (master prompt)
  * test-manual-install.sh: Test Option 3 (manual installation)
  * verify-all-installations.sh: Master verification with report generation
- run-tests.sh: Quick start script for easy test execution

What Gets Tested:
✓ Prerequisites (Node.js, npm, Python, Git, jq)
✓ Claude Code installation and version
✓ Settings files (settings.json, settings.local.json)
✓ 38 agents across 8 departments
✓ MCP tools (@z_ai/mcp-server, @z_ai/coding-helper, llm-tldr)
✓ UI/UX Pro Max skill
✓ Ralph CLI (optional, can be enabled)

Test Results:
- Saved to docker/test-env/test-results/
- Detailed logs for each test method
- Component verification counts
- Comprehensive final report with pass/fail status

Usage:
cd docker/test-env
./run-tests.sh

Or manually:
docker-compose up verify-all

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
uroma
2026-01-16 10:30:54 +00:00
Unverified
parent fd6dcca2f7
commit 699087342f
9 changed files with 1418 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
version: '3.8'
services:
# Test Option 2: Interactive Installer
test-interactive:
build:
context: .
dockerfile: Dockerfile
container_name: claude-interactive-test
volumes:
- ../../:/home/testman/claude-code-glm-suite:ro
environment:
- TEST_MODE=interactive
- ANTHROPIC_AUTH_TOKEN=${ANTHROPIC_AUTH_TOKEN:-test-token}
command: /home/testuser/test-suite/test-interactive-install.sh
networks:
- test-network
# Test Option 1: Master Prompt
test-master-prompt:
build:
context: .
dockerfile: Dockerfile
container_name: claude-master-prompt-test
volumes:
- ../../:/home/testuser/claude-code-glm-suite:ro
environment:
- TEST_MODE=master-prompt
- ANTHROPIC_AUTH_TOKEN=${ANTHROPIC_AUTH_TOKEN:-test-token}
command: /home/testuser/test-suite/test-master-prompt-install.sh
networks:
- test-network
# Test Option 3: Manual Installation
test-manual:
build:
context: .
dockerfile: Dockerfile
container_name: claude-manual-test
volumes:
- ../../:/home/testuser/claude-code-glm-suite:ro
environment:
- TEST_MODE=manual
- ANTHROPIC_AUTH_TOKEN=${ANTHROPIC_AUTH_TOKEN:-test-token}
command: /home/testuser/test-suite/test-manual-install.sh
networks:
- test-network
# Verification container (runs after all tests)
verify-all:
build:
context: .
dockerfile: Dockerfile
container_name: claude-verify-all
volumes:
- ../../:/home/testuser/claude-code-glm-suite:ro
- ./test-results:/home/testuser/test-results
environment:
- TEST_MODE=verify
command: /home/testuser/test-suite/verify-all-installations.sh
networks:
- test-network
depends_on:
- test-interactive
- test-master-prompt
- test-manual
networks:
test-network:
driver: bridge
volumes:
test-results: