Some checks failed
Go Benchmark / Performance Regression Check (push) Has been cancelled
Cerberus Integration / Cerberus Security Stack Integration (push) Has been cancelled
Upload Coverage to Codecov / Backend Codecov Upload (push) Has been cancelled
Upload Coverage to Codecov / Frontend Codecov Upload (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (go) (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Has been cancelled
CrowdSec Integration / CrowdSec Bouncer Integration (push) Has been cancelled
Docker Build, Publish & Test / build-and-push (push) Has been cancelled
Quality Checks / Auth Route Protection Contract (push) Has been cancelled
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Has been cancelled
Quality Checks / Backend (Go) (push) Has been cancelled
Quality Checks / Frontend (React) (push) Has been cancelled
Rate Limit integration / Rate Limiting Integration (push) Has been cancelled
Security Scan (PR) / Trivy Binary Scan (push) Has been cancelled
Supply Chain Verification (PR) / Verify Supply Chain (push) Has been cancelled
WAF integration / Coraza WAF Integration (push) Has been cancelled
Docker Build, Publish & Test / Security Scan PR Image (push) Has been cancelled
Repo Health Check / Repo health (push) Has been cancelled
History Rewrite Dry-Run / Dry-run preview for history rewrite (push) Has been cancelled
Prune Renovate Branches / prune (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
Nightly Build & Package / sync-development-to-nightly (push) Has been cancelled
Nightly Build & Package / Trigger Nightly Validation Workflows (push) Has been cancelled
Nightly Build & Package / build-and-push-nightly (push) Has been cancelled
Nightly Build & Package / test-nightly-image (push) Has been cancelled
Nightly Build & Package / verify-nightly-supply-chain (push) Has been cancelled
Update GeoLite2 Checksum / update-checksum (push) Has been cancelled
Container Registry Prune / prune-ghcr (push) Has been cancelled
Container Registry Prune / prune-dockerhub (push) Has been cancelled
Container Registry Prune / summarize (push) Has been cancelled
Supply Chain Verification / Verify SBOM (push) Has been cancelled
Supply Chain Verification / Verify Release Artifacts (push) Has been cancelled
Supply Chain Verification / Verify Docker Image Supply Chain (push) Has been cancelled
Monitor Caddy Major Release / check-caddy-major (push) Has been cancelled
Weekly Nightly to Main Promotion / Verify Nightly Branch Health (push) Has been cancelled
Weekly Nightly to Main Promotion / Create Promotion PR (push) Has been cancelled
Weekly Nightly to Main Promotion / Trigger Missing Required Checks (push) Has been cancelled
Weekly Nightly to Main Promotion / Notify on Failure (push) Has been cancelled
Weekly Nightly to Main Promotion / Workflow Summary (push) Has been cancelled
Weekly Security Rebuild / Security Rebuild & Scan (push) Has been cancelled
4.8 KiB
Executable File
4.8 KiB
Executable File
Manual Test Plan: E2E Feature Flags Timeout Fix
Created: 2026-02-02 Priority: P1 - High Type: Manual Testing Component: E2E Tests, Feature Flags API Related PR: #583
Objective
Manually verify the E2E test timeout fix implementation works correctly in a real CI environment after resolving the Playwright infrastructure issue.
Prerequisites
- Playwright deduplication issue resolved:
rm -rf node_modules && npm install && npm dedupe - E2E container rebuilt:
.github/skills/scripts/skill-runner.sh docker-rebuild-e2e - Container health check passing:
docker psshowscharon-e2eas healthy
Test Scenarios
1. Feature Flag Toggle Tests (Chromium)
File: tests/settings/system-settings.spec.ts
Execute:
npx playwright test tests/settings/system-settings.spec.ts --project=chromium --workers=1 --retries=0
Expected Results:
- All 7 tests pass (4 refactored + 3 new)
- Zero timeout errors
- Test execution time: ≤5s per test
- Console shows retry attempts (if transient failures occur)
Tests to Validate:
should toggle Cerberus security featureshould toggle CrowdSec console enrollmentshould toggle uptime monitoringshould persist feature toggle changesshould handle concurrent toggle operationsshould retry on 500 Internal Server Errorshould fail gracefully after max retries exceeded
2. Cross-Browser Validation
Execute:
npx playwright test tests/settings/system-settings.spec.ts --project=chromium --project=firefox --project=webkit
Expected Results:
- All browsers pass: Chromium, Firefox, WebKit
- No browser-specific timeout issues
- Consistent behavior across browsers
3. Performance Metrics Extraction
Execute:
docker logs charon-e2e 2>&1 | grep "\[METRICS\]"
Expected Results:
- Metrics logged for GET operations:
[METRICS] GET /feature-flags: {latency}ms - Metrics logged for PUT operations:
[METRICS] PUT /feature-flags: {latency}ms - Latency values: <200ms P99 (CI environment)
4. Reliability Test (10 Consecutive Runs)
Execute:
for i in {1..10}; do
echo "Run $i of 10"
npx playwright test tests/settings/system-settings.spec.ts --project=chromium --workers=1 --retries=0
if [ $? -ne 0 ]; then
echo "FAILED on run $i"
break
fi
done
Expected Results:
- 10/10 runs pass (100% pass rate)
- Zero timeout errors across all runs
- Retry attempts: <5% of operations
5. UI Verification
Manual Steps:
- Navigate to
/settings/systemin browser - Toggle Cerberus security feature switch
- Verify toggle animation completes
- Verify "Saved" notification appears
- Refresh page
- Verify toggle state persists
Expected Results:
- UI responsive (<1s toggle feedback)
- State changes reflect immediately
- No console errors
Bug Discovery Focus
Look for potential issues in:
Backend Performance
- Feature flags endpoint latency spikes (>500ms)
- Database lock timeouts
- Transaction rollback failures
- Memory leaks after repeated toggles
Test Resilience
- Retry logic not triggering on transient failures
- Polling timeouts on slow CI runners
- Race conditions in concurrent toggle test
- Hard-coded wait remnants causing flakiness
Edge Cases
- Concurrent toggles causing data corruption
- Network failures not handled gracefully
- Max retries not throwing expected error
- Initial state mismatch in
beforeEach
Success Criteria
- All 35 checks above pass without issues
- Zero timeout errors in 10 consecutive runs
- Performance metrics confirm <200ms P99 latency
- Cross-browser compatibility verified
- No new bugs discovered during manual testing
Failure Handling
If any test fails:
-
Capture Evidence:
- Screenshot of failure
- Full test output (no truncation)
docker logs charon-e2eoutput- Network/console logs from browser DevTools
-
Analyze Root Cause:
- Is it a code defect or infrastructure issue?
- Is it reproducible locally?
- Does it happen in all browsers?
-
Take Action:
- Code Defect: Reopen issue, describe failure, assign to developer
- Infrastructure: Document in known issues, create follow-up ticket
- Flaky Test: Investigate retry logic, increase timeouts if justified
Notes
- Run tests during low CI load times for accurate performance measurement
- Use
--headedflag for UI verification:npx playwright test --headed - Check Playwright trace if tests fail:
npx playwright show-report
Assigned To: QA Team Estimated Time: 2-3 hours Due Date: Within 24 hours of Playwright infrastructure fix