Skip to content

Portlama E2E: 05 — Admin Journey (Three-VM)

Started at 2026-03-28 22:41:25 UTC

Pre-flight: verify onboarding is complete

1. Panel accessible via IP:9292 (mTLS)

22:41:26 Panel via IP:9292 returns HTTP 200
22:41:26 Panel via IP:9292 contains React mount point
22:41:26 Panel via IP:9292 contains title tag

2. Panel accessible via panel.DOMAIN (mTLS)

22:41:26 Panel via panel.test.portlama.local returns HTTP 200
22:41:26 Panel via panel.test.portlama.local contains React mount point
22:41:26 Panel via panel.test.portlama.local contains title tag

3. Panel without mTLS cert rejected

22:41:26 Panel without mTLS cert rejected (HTTP 400)

4. Dashboard API returns data

22:41:26 GET /api/health returns status: ok
22:41:26 GET /api/system/stats has cpu field
22:41:26 GET /api/system/stats has memory field
22:41:26 GET /api/system/stats has disk field

5. Tunnel management via panel

22:41:26 GET /api/tunnels returns tunnels array
ℹ️ 22:41:26 Tunnels before create: 0
22:41:29 POST /api/tunnels create returned ok: true
22:41:29 Created tunnel has an ID
ℹ️ 22:41:29 Created tunnel ID: 95a4ea6a-2c94-4ce1-ad58-4ffc7d1c33dd
22:41:29 New tunnel appears in tunnel list
22:41:32 PATCH /api/tunnels/:id disable returned ok: true
22:41:32 Tunnel shows as disabled after PATCH
22:41:34 PATCH /api/tunnels/:id re-enable returned ok: true
22:41:34 Tunnel shows as enabled after re-enable PATCH
22:41:37 DELETE /api/tunnels/:id returned ok: true
22:41:37 Tunnel no longer appears after DELETE

6. User management via panel

22:41:37 GET /api/users returns users array
22:41:37 Users list contains at least one user (count: 2)
22:41:39 POST /api/users create returned ok: true
22:41:40 New user appears in users list
22:41:42 PUT /api/users/:username update returned ok: true
22:41:42 POST /api/users/:username/reset-totp returns otpauth URI
22:41:42 TOTP otpauth URI has correct scheme
22:41:44 DELETE /api/users/:username returned ok: true
22:41:44 User no longer appears after DELETE

7. Service management via panel

22:41:44 GET /api/services returns services array
22:41:44 Service 'nginx' is listed
22:41:44 Service 'chisel' is listed
22:41:44 Service 'authelia' is listed
22:41:44 Service 'portlama-panel' is listed

8. Certificate management

22:41:45 GET /api/certs returns certificate info
ℹ️ 22:41:45 Certs response keys: certs

9. Cleanup

ℹ️ 22:41:45 All test sections completed. EXIT trap will handle resource cleanup.


Results

MetricCount
Passed36
Failed0
Skipped0
Total36

ℹ️ 22:41:45 Cleaning up test resources...
🔵 22:41:45 Running: 06-tunnel-user-journey.sh

Released under the PolyForm Noncommercial License 1.0.0