diff --git a/test_sleep_mode_auto_disable.py b/test_sleep_mode_auto_disable.py deleted file mode 100644 index f0d7ddc..0000000 --- a/test_sleep_mode_auto_disable.py +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/env python3 -""" -Test script to verify that sleep mode is automatically disabled when: -1. Device configuration is created/updated with TCP enabled -2. Measurements are started - -This script tests the API endpoints, not the actual device communication. -""" - -import requests -import json - -BASE_URL = "http://localhost:8100/api/nl43" -UNIT_ID = "test-nl43-001" - -def test_config_update(): - """Test that config update works (actual sleep mode disable requires real device)""" - print("\n=== Testing Config Update ===") - - # Create/update a device config - config_data = { - "host": "192.168.1.100", - "tcp_port": 2255, - "tcp_enabled": True, - "ftp_enabled": False, - "ftp_username": "admin", - "ftp_password": "password" - } - - print(f"Updating config for {UNIT_ID}...") - response = requests.put(f"{BASE_URL}/{UNIT_ID}/config", json=config_data) - - if response.status_code == 200: - print("✓ Config updated successfully") - print(f"Response: {json.dumps(response.json(), indent=2)}") - print("\nNote: Sleep mode disable was attempted (will succeed if device is reachable)") - return True - else: - print(f"✗ Config update failed: {response.status_code}") - print(f"Error: {response.text}") - return False - -def test_get_config(): - """Test retrieving the config""" - print("\n=== Testing Get Config ===") - - response = requests.get(f"{BASE_URL}/{UNIT_ID}/config") - - if response.status_code == 200: - print("✓ Config retrieved successfully") - print(f"Response: {json.dumps(response.json(), indent=2)}") - return True - elif response.status_code == 404: - print("✗ Config not found (create one first)") - return False - else: - print(f"✗ Request failed: {response.status_code}") - print(f"Error: {response.text}") - return False - -def test_start_measurement(): - """Test that start measurement attempts to disable sleep mode""" - print("\n=== Testing Start Measurement ===") - - print(f"Attempting to start measurement on {UNIT_ID}...") - response = requests.post(f"{BASE_URL}/{UNIT_ID}/start") - - if response.status_code == 200: - print("✓ Start command accepted") - print(f"Response: {json.dumps(response.json(), indent=2)}") - print("\nNote: Sleep mode was disabled before starting measurement") - return True - elif response.status_code == 404: - print("✗ Device config not found (create config first)") - return False - elif response.status_code == 502: - print("✗ Device not reachable (expected if no physical device)") - print(f"Response: {response.text}") - print("\nNote: This is expected behavior when testing without a physical device") - return True # This is actually success - the endpoint tried to communicate - else: - print(f"✗ Request failed: {response.status_code}") - print(f"Error: {response.text}") - return False - -def main(): - print("=" * 60) - print("Sleep Mode Auto-Disable Test") - print("=" * 60) - print("\nThis test verifies that sleep mode is automatically disabled") - print("when device configs are updated or measurements are started.") - print("\nNote: Without a physical device, some operations will fail at") - print("the device communication level, but the API logic will execute.") - - # Run tests - results = [] - - # Test 1: Update config (should attempt to disable sleep mode) - results.append(("Config Update", test_config_update())) - - # Test 2: Get config - results.append(("Get Config", test_get_config())) - - # Test 3: Start measurement (should attempt to disable sleep mode) - results.append(("Start Measurement", test_start_measurement())) - - # Summary - print("\n" + "=" * 60) - print("Test Summary") - print("=" * 60) - - for test_name, result in results: - status = "✓ PASS" if result else "✗ FAIL" - print(f"{status}: {test_name}") - - print("\n" + "=" * 60) - print("Implementation Details:") - print("=" * 60) - print("1. Config endpoint is now async and calls ensure_sleep_mode_disabled()") - print(" when TCP is enabled") - print("2. Start measurement endpoint calls ensure_sleep_mode_disabled()") - print(" before starting the measurement") - print("3. Sleep mode check is non-blocking - config/start will succeed") - print(" even if the device is unreachable") - print("=" * 60) - -if __name__ == "__main__": - main()