diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 5fdadc7d..3cde8ffb 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -216,6 +216,12 @@ jobs: - name: Install Playwright browsers run: npx playwright install --with-deps ${{ matrix.browser }} + - name: Install Frontend Dependencies + run: | + echo "📦 Installing frontend dependencies..." + cd frontend + npm ci + - name: Start Vite dev server for coverage run: | echo "🚀 Starting Vite dev server for E2E coverage..." diff --git a/e2e_test_output.txt b/e2e_test_output.txt new file mode 100644 index 00000000..7f7fbdaf --- /dev/null +++ b/e2e_test_output.txt @@ -0,0 +1,63 @@ + +🧹 Running global test setup... +📍 Base URL: http://localhost:8080 +🔓 Performing emergency security reset... + ✅ Emergency reset successful + ✅ Disabled modules: feature.cerberus.enabled, security.acl.enabled, security.waf.enabled, security.rate_limit.enabled, security.crowdsec.enabled + ⏳ Waiting for security reset to propagate... + ✅ Security reset complete +🔍 Checking application health... +✅ Application is accessible +🗑️ Cleaning up orphaned test data... +Force cleanup completed: {"proxyHosts":0,"accessLists":0,"dnsProviders":0,"certificates":0} + No orphaned test data found +✅ Global setup complete + +🔓 Performing emergency security reset... + ✅ Emergency reset successful + ✅ Disabled modules: security.acl.enabled, security.waf.enabled, security.rate_limit.enabled, security.crowdsec.enabled, feature.cerberus.enabled + ⏳ Waiting for security reset to propagate... + ✅ Security reset complete +✓ Authenticated security reset complete + +Running 796 tests using 2 workers + +Logging in as test user... +Login successful +Auth state saved to /projects/Charon/playwright/.auth/user.json +✅ Cookie domain "localhost" matches baseURL host "localhost" + ✓ 1 [setup] › tests/auth.setup.ts:26:1 › authenticate (130ms) +✓ Cerberus enabled +✓ ACL enabled + ✓ 2 [security-tests] › tests/security-enforcement/acl-enforcement.spec.ts:81:3 › ACL Enforcement › should verify ACL is enabled (16ms) + ✓ 3 [security-tests] › tests/security-enforcement/acl-enforcement.spec.ts:87:3 › ACL Enforcement › should return security status with ACL mode (16ms) + ✓ 4 [security-tests] › tests/security-enforcement/acl-enforcement.spec.ts:97:3 › ACL Enforcement › should list access lists when ACL enabled (6ms) +No access lists exist to test against + ✓ 5 [security-tests] › tests/security-enforcement/acl-enforcement.spec.ts:105:3 › ACL Enforcement › should test IP against access list (7ms) +Note: Could not create test ACL: {"error":"invalid access list type"} +✓ Security state restored + ✓ 6 [security-tests] › tests/security-enforcement/acl-enforcement.spec.ts:128:3 › ACL Enforcement › should show correct error response format for blocked requests (5ms) +✓ All security modules enabled simultaneously + ✓ 7 [security-tests] › tests/security-enforcement/combined-enforcement.spec.ts:66:3 › Combined Security Enforcement › should enable all security modules simultaneously (2.5s) +Audit logs endpoint returned 404 + ✓ 8 [security-tests] › tests/security-enforcement/combined-enforcement.spec.ts:121:3 › Combined Security Enforcement › should log security events to audit log (1.5s) +✓ Rapid toggle completed without race conditions + ✓ 9 [security-tests] › tests/security-enforcement/combined-enforcement.spec.ts:144:3 › Combined Security Enforcement › should handle rapid module toggle without race conditions (537ms) +✓ Settings persisted across API calls + ✓ 10 [security-tests] › tests/security-enforcement/combined-enforcement.spec.ts:172:3 › Combined Security Enforcement › should persist settings across API calls (1.5s) +✓ Multiple modules enabled - priority enforcement is at middleware level +✓ Security state restored + ✓ 11 [security-tests] › tests/security-enforcement/combined-enforcement.spec.ts:197:3 › Combined Security Enforcement › should enforce correct priority when multiple modules enabled (2.1s) +✓ Cerberus enabled +✓ CrowdSec enabled + ✓ 12 [security-tests] › tests/security-enforcement/crowdsec-enforcement.spec.ts:77:3 › CrowdSec Enforcement › should verify CrowdSec is enabled (7ms) + ✓ 13 [security-tests] › tests/security-enforcement/crowdsec-enforcement.spec.ts:83:3 › CrowdSec Enforcement › should list CrowdSec decisions (7ms) +✓ Security state restored + ✓ 14 [security-tests] › tests/security-enforcement/crowdsec-enforcement.spec.ts:102:3 › CrowdSec Enforcement › should return CrowdSec status with mode and API URL (11ms) + ✓ 15 [security-tests] › tests/security-enforcement/emergency-reset.spec.ts:15:3 › Emergency Security Reset (Break-Glass) › should reset security when called with valid token (12ms) + ✓ 16 [security-tests] › tests/security-enforcement/emergency-reset.spec.ts:31:3 › Emergency Security Reset (Break-Glass) › should reject request with invalid token (8ms) + ✓ 17 [security-tests] › tests/security-enforcement/emergency-reset.spec.ts:42:3 › Emergency Security Reset (Break-Glass) › should reject request without token (11ms) + ✓ 18 [security-tests] › tests/security-enforcement/emergency-reset.spec.ts:47:3 › Emergency Security Reset (Break-Glass) › should allow recovery when ACL blocks everything (17ms) + ✘ 19 [security-tests] › tests/security-enforcement/emergency-reset.spec.ts:69:3 › Emergency Security Reset (Break-Glass) › should rate limit after 5 attempts (25ms) + ⏳ Waiting 3000ms for security changes to propagate... + ⏳ Waiting 3000ms for security changes to propagate...