Major structural reorganization and feature additions: ## Folder Reorganization - Move 17 luci-app-* packages to package/secubox/ (except luci-app-secubox core hub) - Update all tooling to support new structure: - secubox-tools/quick-deploy.sh: search both locations - secubox-tools/validate-modules.sh: validate both directories - secubox-tools/fix-permissions.sh: fix permissions in both locations - .github/workflows/test-validate.yml: build from both paths - Update README.md links to new package/secubox/ paths ## AppStore Migration (Complete) - Add catalog entries for all remaining luci-app packages: - network-tweaks.json: Network optimization tools - secubox-bonus.json: Documentation & demos hub - Total: 24 apps in AppStore catalog (22 existing + 2 new) - New category: 'documentation' for docs/demos/tutorials ## VHost Manager v2.0 Enhancements - Add profile activation system for Internal Services and Redirects - Implement createVHost() API wrapper for template-based deployment - Fix Virtual Hosts view rendering with proper LuCI patterns - Fix RPCD backend shell script errors (remove invalid local declarations) - Extend backend validation for nginx return directives (redirect support) - Add section_id parameter for named VHost profiles - Add Remove button to Redirects page for feature parity - Update README to v2.0 with comprehensive feature documentation ## Network Tweaks Dashboard - Close button added to component details modal Files changed: 340+ (336 renames with preserved git history) Packages affected: 19 luci-app, 2 secubox-app, 1 theme, 4 tools 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
9.4 KiB
Manual Test Procedure - Diagnostic Profiles
Test Environment Setup
- Router: OpenWrt with luci-app-system-hub installed
- Access: LuCI web interface
- Browser: Chrome, Firefox, or Edge (latest version)
- Prerequisites: Admin access to the router
Test Case 1: Profile Selector Display
Objective: Verify that the profile selector card displays correctly with all 5 profiles
Steps:
- Login to LuCI web interface
- Navigate to System → System Hub → Diagnostics
- Observe the "Profils de Diagnostic" card at the top
Expected Results:
- ✅ Profile selector card is visible
- ✅ 5 profile buttons are displayed in a grid layout
- ✅ Each button shows an icon and label:
- 🌐 Problèmes Réseau
- ⚡ Problèmes Performance
- 🔐 Audit Sécurité
- 📶 Problèmes WiFi
- 📋 Diagnostic Complet
- ✅ Buttons are clickable and styled properly
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Test Case 2: Network Issues Profile
Objective: Test the network-issues profile workflow
Steps:
- Navigate to System → System Hub → Diagnostics
- Click the "🌐 Problèmes Réseau" button
- Observe the toggle switches below
- Observe the description box
- Click "📦 Générer Archive"
- Wait for completion notification
- Check the "Archives Récentes" section
Expected Results:
- ✅ Profile button is highlighted (gradient background)
- ✅ Description appears: "Diagnostique les pannes de routage..."
- ✅ Toggles are set to:
- Logs: ON
- Configuration: ON
- Network: ON
- Anonymize: OFF
- ✅ Success notification appears: "✅ Archive créée: ..."
- ✅ Archive filename contains "network-issues"
- ✅ Archive appears in recent archives list
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Test Case 3: Performance Problems Profile
Objective: Test the performance-problems profile with different toggles
Steps:
- Navigate to System → System Hub → Diagnostics
- Click the "⚡ Problèmes Performance" button
- Observe toggle switches
- Verify that Config toggle is OFF
- Click "📦 Générer Archive"
- Verify archive creation
Expected Results:
- ✅ Profile button is highlighted
- ✅ Description appears about CPU/memory bottlenecks
- ✅ Toggles are set to:
- Logs: ON
- Configuration: OFF (different from network profile!)
- Network: OFF
- Anonymize: OFF
- ✅ Archive filename contains "performance-problems"
- ✅ Archive is smaller than full diagnostic (no config/network)
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Test Case 4: Security Audit Profile with Anonymization
Objective: Verify anonymization works with security-audit profile
Steps:
- Navigate to System → System Hub → Diagnostics
- Click the "🔐 Audit Sécurité" button
- Observe that Anonymize toggle is ON
- Click "📦 Générer Archive"
- Download the archive
- Extract and inspect config files
Expected Results:
- ✅ Profile button is highlighted
- ✅ Anonymize toggle is ON
- ✅ Archive filename contains "security-audit"
- ✅ Config files in archive have sensitive data removed (passwords, keys, IPs, MACs)
- ✅ Logs still contain useful diagnostic information
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Test Case 5: WiFi Problems Profile
Objective: Test WiFi-specific profile
Steps:
- Navigate to System → System Hub → Diagnostics
- Click the "📶 Problèmes WiFi" button
- Observe toggles
- Click "📦 Générer Archive"
- Verify archive creation
Expected Results:
- ✅ Profile button is highlighted
- ✅ Description mentions signal strength and interference
- ✅ All toggles ON except anonymize
- ✅ Archive filename contains "wifi-problems"
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Test Case 6: Full Diagnostic Profile
Objective: Test the complete diagnostic profile
Steps:
- Navigate to System → System Hub → Diagnostics
- Click the "📋 Diagnostic Complet" button
- Observe toggles
- Click "📦 Générer Archive"
- Compare archive size with other profiles
Expected Results:
- ✅ Profile button is highlighted
- ✅ Description mentions "support escalation"
- ✅ All toggles ON including anonymize
- ✅ Archive filename contains "full-diagnostic"
- ✅ Archive is largest (contains everything)
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Test Case 7: Profile Override
Objective: Verify user can manually adjust toggles after selecting profile
Steps:
- Navigate to System → System Hub → Diagnostics
- Click the "🌐 Problèmes Réseau" profile
- Manually toggle OFF the "Configuration" switch
- Click "📦 Générer Archive"
- Verify archive creation
Expected Results:
- ✅ Manual toggle change is respected
- ✅ Archive is created without config files
- ✅ Filename still contains "network-issues"
- ✅ User override works correctly
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Test Case 8: Profile Switching
Objective: Test switching between different profiles
Steps:
- Navigate to System → System Hub → Diagnostics
- Click "🌐 Problèmes Réseau" profile
- Observe toggles state
- Click "⚡ Problèmes Performance" profile
- Observe toggles state changes
- Switch to "🔐 Audit Sécurité"
- Observe toggles state changes
Expected Results:
- ✅ Only one profile button is highlighted at a time
- ✅ Toggles update correctly for each profile
- ✅ Description updates for each profile
- ✅ No visual glitches or errors
- ✅ Profile highlighting transitions smoothly
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Test Case 9: Archive Download and Deletion
Objective: Test downloading and deleting profile-based archives
Steps:
- Create archive with any profile
- Click download button for the archive
- Verify file downloads to browser
- Click delete button
- Confirm deletion
- Verify archive removed from list
Expected Results:
- ✅ Download initiates correctly
- ✅ Filename matches what was shown
- ✅ File can be extracted (valid .tar.gz)
- ✅ Deletion confirmation dialog appears
- ✅ Archive is removed from list
- ✅ Archive file is deleted from router
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Test Case 10: Multiple Profiles in Sequence
Objective: Create archives with multiple different profiles in sequence
Steps:
- Click "🌐 Problèmes Réseau" → Generate Archive
- Wait for completion
- Click "⚡ Problèmes Performance" → Generate Archive
- Wait for completion
- Click "🔐 Audit Sécurité" → Generate Archive
- Check archives list
Expected Results:
- ✅ All 3 archives created successfully
- ✅ Each archive has correct profile name in filename
- ✅ Archives have different sizes (based on included data)
- ✅ All archives appear in recent archives list
- ✅ No errors or conflicts
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Regression Tests
RT-1: Existing Diagnostics Still Work
Objective: Ensure non-profile diagnostics still function
Steps:
- Don't select any profile
- Manually set toggles (Logs: ON, Config: ON, Network: OFF, Anonymize: OFF)
- Click "📦 Générer Archive"
Expected Results:
- ✅ Archive is created successfully
- ✅ Filename contains "manual" instead of profile name
- ✅ Only logs and config are included (no network info)
- ✅ Backward compatibility maintained
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
RT-2: Quick Tests Unchanged
Objective: Verify quick test buttons still work
Steps:
- Navigate to System → System Hub → Diagnostics
- Scroll to "Tests Rapides" section
- Click each test button:
- Connectivity
- DNS
- Latency
- Disk
- Firewall
- WiFi
Expected Results:
- ✅ All test buttons are visible
- ✅ Each test executes and shows results
- ✅ Tests are independent of profile selection
- ✅ No errors or regressions
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
RT-3: Upload to Support
Objective: Verify upload functionality still works with profiles
Steps:
- Create archive with any profile
- Click "☁️ Envoyer au Support"
- Select the profile-based archive
- Confirm upload
Expected Results:
- ✅ Upload dialog appears
- ✅ Profile-based archives are listed
- ✅ Upload process works (or shows appropriate error if no endpoint configured)
- ✅ No regressions in upload functionality
Result: ☐ PASS ☐ FAIL Notes: ___________________________________________
Sign-off
Tester Name: _______________________________ Date: _______________________________ Build Version: _______________________________ Browser: _______________________________ Overall Result: ☐ ALL PASS ☐ SOME FAILURES
Notes/Issues:
Failures to Address: