- Add HTTP endpoint tests to mimic browser interactions - Move old test files from test/ to tests/ directory - Add comprehensive endpoint tests for tabs, profiles, presets, patterns - Add README documenting test structure and how to run tests
1.5 KiB
1.5 KiB
Tests
This directory contains tests for the LED Controller project.
Directory Structure
test_endpoints.py- HTTP endpoint tests that mimic web browser requests (runs against 192.168.4.1)test_ws.py- WebSocket teststest_p2p.py- ESP-NOW P2P testsmodels/- Model unit testsweb.py- Local development web server
Running Tests
Browser Tests (Real Browser Automation)
Tests the web interface in an actual browser using Selenium:
python tests/test_browser.py
These tests:
- Open a real Chrome browser
- Navigate to the device at 192.168.4.1
- Interact with UI elements (buttons, forms, modals)
- Test complete user workflows
- Verify visual elements and interactions
Requirements:
pip install selenium
# Also need ChromeDriver installed and in PATH
# Download from: https://chromedriver.chromium.org/
Endpoint Tests (Browser-like HTTP)
Tests HTTP endpoints by making requests to the device at 192.168.4.1:
python tests/test_endpoints.py
These tests:
- Mimic web browser requests with proper headers
- Handle cookies for session management
- Test all CRUD operations (GET, POST, PUT, DELETE)
- Verify responses and status codes
Requirements:
pip install requests
WebSocket Tests
python tests/test_ws.py
Requirements:
pip install websockets
Model Tests
python tests/models/run_all.py
Local Development Server
Run the local development server (port 5000):
python tests/web.py