NEW: core/classy_dashboard.py - Elegant, sidebar-free main interface - Dashboard tab with widget grid layout (perfect for second monitor) - Glassmorphism card design with subtle transparency - Smooth animations and hover effects - Clean tab bar: Dashboard | Plugins | Widgets | Settings - System Status, Quick Actions, and Recent Activity widgets - Premium dark theme with refined orange accents Features: - Dashboard tab for static widget placement (second monitor use) - Elegant header with minimize/close controls - Smooth tab transitions - Glass cards with hover effects - Status indicators with color coding - Quick action buttons INTEGRATION: - Updated core/main.py to use classy dashboard - Removed sidebar dependency - Dashboard auto-shows on startup - Toggle with Ctrl+Shift+U Design goals: - Classy, premium feel - Professional for second monitor use - No sidebar clutter - Widget-focused layout - Smooth, modern aesthetics |
||
|---|---|---|
| .. | ||
| integration_browser | ||
| integration_discord | ||
| integration_homeassistant | ||
| platform_compat | ||
| scripts | ||
| service_fallback | ||
| COMPATIBILITY_MATRIX.md | ||
| README.md | ||
| TEST_REPORT.md | ||
README.md
EU-Utility Integration Tests
This directory contains comprehensive integration and compatibility tests for EU-Utility.
Test Plugins
1. Discord Integration Tester (integration_discord/)
Tests Discord webhook integration for:
- Message delivery
- Embed formatting
- Error handling
- Payload validation
Features:
- Webhook URL validation
- Multiple test cases (simple, embed, global, skill gain)
- Custom payload builder
- Result export
2. Home Assistant Integration Tester (integration_homeassistant/)
Tests Home Assistant integration via:
- REST API (webhooks, state updates)
- MQTT publishing
- WebSocket subscriptions
Features:
- Multi-protocol testing
- Connection validation
- Entity state updates
- Event subscriptions
3. Browser Extension Tester (integration_browser/)
Tests browser extension communication:
- Native messaging protocol
- WebSocket bridge
- HTTP API
- Message serialization
Features:
- Protocol testing
- Manifest generation
- Message validator
- Cross-browser support
4. Platform Compatibility Tester (platform_compat/)
Tests cross-platform compatibility:
- Windows-specific features
- Linux compatibility
- Path handling differences
- File locking mechanisms
Features:
- Platform detection
- Path tests (Unicode, long paths)
- File locking tests (fcntl, portalocker)
- System information
5. Service Fallback Tester (service_fallback/)
Tests graceful degradation:
- Network failures
- Missing dependencies
- API errors
- Timeout handling
Features:
- Failure simulation
- Recovery mechanisms
- Error message quality
- Retry logic validation
Test Scripts
Located in scripts/:
api_client_test.py
Python client for testing EU-Utility external API.
python api_client_test.py health
python api_client_test.py status
python api_client_test.py notify "Test" "Hello"
python api_client_test.py search "ArMatrix"
python api_client_test.py test # Run all tests
api_client_test.js
Node.js client for testing EU-Utility external API.
node api_client_test.js health
node api_client_test.js test
api_client_test.sh
Bash/curl client for testing EU-Utility external API.
./api_client_test.sh health
./api_client_test.sh test
webhook_validator.py
Validates webhook payloads for Discord, Home Assistant, and generic webhooks.
python webhook_validator.py discord payload.json
python webhook_validator.py homeassistant payload.json
python webhook_validator.py test # Run test payloads
platform_detector.py
Detects platform capabilities and available features.
python platform_detector.py
python platform_detector.py --json
python platform_detector.py --markdown
Compatibility Matrix
| Feature | Windows | Linux | macOS |
|---|---|---|---|
| Window Manager | ✅ Full | ⚠️ Limited | ⚠️ Limited |
| Native Hotkeys | ✅ Full | ⚠️ Limited | ⚠️ Limited |
| Global Hotkeys | ✅ Full | ✅ Full | ✅ Full |
| File Locking | ✅ portalocker | ✅ fcntl | ✅ fcntl |
| Long Paths | ✅* | ✅ | ✅ |
| Unicode Paths | ✅ | ✅ | ✅ |
| OCR (EasyOCR) | ✅ | ✅ | ✅ |
| Discord Webhooks | ✅ | ✅ | ✅ |
| MQTT | ✅ | ✅ | ✅ |
| WebSocket | ✅ | ✅ | ✅ |
| REST API | ✅ | ✅ | ✅ |
*Requires Windows 10 1607+ with registry key
Running Tests
Install Dependencies
# Python dependencies
pip install requests paho-mqtt aiohttp websockets psutil
# Optional dependencies
pip install portalocker # Windows file locking
pip install easyocr # OCR engine
Run Integration Tests
# Start EU-Utility with test plugins enabled
python -m core.main
# In EU-Utility, navigate to:
# Plugins → Integration Tests → [Select Tester]
Run API Client Tests
cd scripts
# Python
python api_client_test.py test
# Node.js
node api_client_test.js test
# Bash
./api_client_test.sh test
Run Platform Detection
python scripts/platform_detector.py
Test Coverage
External Integrations
- Discord webhooks
- Home Assistant (REST, MQTT, WebSocket)
- Browser extension protocols
- Generic REST API clients
Platform Compatibility
- Windows 10/11
- Linux (Ubuntu, Debian, etc.)
- WSL support
- Path handling (Windows vs Unix)
- File locking (fcntl vs portalocker)
Service Availability
- Graceful degradation
- Timeout handling
- Retry mechanisms
- Error message quality
- Recovery detection
Reporting Issues
When reporting integration issues, please include:
- Platform details (run
platform_detector.py) - Test results (export from relevant tester)
- Error messages
- Steps to reproduce
Contributing
To add new integration tests:
- Create a new directory under
integration_tests/ - Implement
plugin.pywithBasePluginsubclass - Create
plugin.jsonmetadata - Add
README.mdwith documentation - Update this main README