Files
Charon/docs/issues/created/20260203-crowdsec-console-enrollment-manual-test.md
GitHub Actions 3169b05156 fix: skip incomplete system log viewer tests
- Marked 12 tests as skip pending feature implementation
- Features tracked in GitHub issue #686 (system log viewer feature completion)
- Tests cover sorting by timestamp/level/method/URI/status, pagination controls, filtering by text/level, download functionality
- Unblocks Phase 2 at 91.7% pass rate to proceed to Phase 3 security enforcement validation
- TODO comments in code reference GitHub #686 for feature completion tracking
- Tests skipped: Pagination (3), Search/Filter (2), Download (2), Sorting (1), Log Display (4)
2026-02-09 21:55:55 +00:00

3.4 KiB

Manual Test Plan: CrowdSec Console Enrollment

Issue: #586 PR: #609 Date: 2025-01-29

Overview

This test plan covers manual verification of CrowdSec console enrollment functionality to ensure the engine appears online in the CrowdSec console after enrollment.

Prerequisites

  • Docker container running with CrowdSec enabled
  • Valid CrowdSec console account
  • Fresh enrollment token from console.crowdsec.net

Test Cases

TC1: Fresh Enrollment

Step Action Expected Result
1 Navigate to Security → CrowdSec CrowdSec settings page loads
2 Enable CrowdSec if not enabled Toggle switches to enabled
3 Enter valid enrollment token Token field accepts input
4 Click Enroll Loading indicator appears
5 Wait for completion Success message shown
6 Check CrowdSec console Engine appears online within 5 minutes

TC2: Heartbeat Verification

Step Action Expected Result
1 Complete TC1 enrollment Engine enrolled
2 Wait 5 minutes Heartbeat poller runs
3 Check logs for [HEARTBEAT_POLLER] Heartbeat success logged
4 Check console.crowdsec.net Last seen updates to recent time

TC3: Diagnostic Endpoints

Step Action Expected Result
1 Call GET /api/v1/cerberus/crowdsec/diagnostics/connectivity Returns connectivity status
2 Verify lapi_reachable is true LAPI is running
3 Verify capi_reachable is true Can reach CrowdSec cloud
4 Call GET /api/v1/cerberus/crowdsec/diagnostics/config Returns config validation

TC4: Diagnostic Script

Step Action Expected Result
1 Run ./scripts/diagnose-crowdsec.sh All 10 checks execute
2 Verify LAPI status check passes Shows "running"
3 Verify console status check Shows enrollment status
4 Run with --json flag Valid JSON output

TC5: Recovery from Offline State

Step Action Expected Result
1 Stop the container Container stops
2 Wait 1 hour Console shows engine offline
3 Restart container Container starts
4 Wait 5-10 minutes Heartbeat poller reconnects
5 Check console Engine shows online again

TC6: Token Expiration Handling

Step Action Expected Result
1 Use an expired enrollment token
2 Attempt enrollment Error message indicates token expired
3 Check logs Error is logged with [CROWDSEC_ENROLLMENT]
4 Token is NOT visible in logs Secret redacted

TC7: Already Enrolled Error

Step Action Expected Result
1 Complete successful enrollment
2 Attempt enrollment again with same token
3 Error message indicates already enrolled
4 Existing enrollment preserved

Known Issues

  • Edge case: If LAPI takes >30s to start after container restart, first heartbeat may fail (retries automatically)
  • Console lag: CrowdSec console may take 2-5 minutes to reflect online status

Bug Tracking

Use this section to track bugs found during manual testing:

Bug ID Description Severity Status

Sign-off

  • All test cases executed
  • Bugs documented
  • Ready for release