========================================== Metadata API Test Suite ========================================== Testing API URL: http://aechsbasement.com/sepura_api/device_metadata_SIMPLE.php --- Test 1: Register Device --- [PASS] Register device - HTTP 200 → HTTP code: 200 [PASS] Register device - Success response → {"success":true,"message":"Device updated successfully","device_id":"TEST_DEVICE_001","mac_address":"AA:BB:CC:DD:EE:FF","custom_serial_number":"TEST_KITCHEN_01","device_name":"Test Kitchen Unit","existing":true} [PASS] Register device - Returns device_id → device_id: TEST_DEVICE_001 --- Test 2: Check Device --- [PASS] Check device - Success [PASS] Check device - Registered = true [PASS] Check device - Returns device object --- Test 3: Check Device by MAC --- [PASS] Check by MAC - Found device [PASS] Check by MAC - MAC matches --- Test 4: Check Device by Serial --- [PASS] Check by serial - Found device [PASS] Check by serial - Serial matches --- Test 5: Update Metadata --- [PASS] Update metadata - Success [PASS] Update metadata - Updated fields count → Updated 2 fields [PASS] Verify metadata update - Name changed [PASS] Verify metadata update - Hotspot changed --- Test 6: Update Serial Number --- [PASS] Update serial - Success [PASS] Update serial - Old serial returned [PASS] Update serial - New serial returned [PASS] Verify new serial - Device found [PASS] Restore original serial - Device found → Serial restore result: {"success":true,"message":"Serial number updated successfully","old_serial_number":"TEST_KITCHEN_02","new_serial_number":"TEST_KITCHEN_01"} --- Test 7: Get Device Details --- [PASS] Get details - Success [PASS] Get details - Has device object [PASS] Get details - Has MAC address [PASS] Get details - Has custom serial --- Test 8: Heartbeat --- Pre-heartbeat check: Device exists = YES, MAC = AA:BB:CC:DD:EE:FF [PASS] Heartbeat - Success → {"success":true,"message":"Heartbeat recorded"} [PASS] Heartbeat - Message returned → {"success":true,"message":"Heartbeat recorded"} --- Test 9: Update Device (Legacy) --- [PASS] Update device - Success --- Test 10: Set Device Status --- [PASS] Set status - Success → {"success":true,"message":"Device status updated successfully"} --- Test 11: Error Handling --- [PASS] Error handling - Missing params returns error [PASS] Error handling - Error message present --- Test 12: Invalid Action --- [PASS] Invalid action - Returns error [PASS] Invalid action - Error contains "Unknown action" --- Test 13: Get Owner Devices --- [PASS] Get owner devices - Success (even if empty) [PASS] Get owner devices - Has devices array --- Test 14: Get Location Devices --- [PASS] Get location devices - Success (even if empty) [PASS] Get location devices - Has devices array ========================================== Test Results Summary ========================================== Total Tests: 35 Passed: 35 Failed: 0 Pass Rate: 100% ✓ All tests passed!