1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
import unittest
from unittest.mock import Mock
from govee_local_api.device_registry import DeviceRegistry
from govee_local_api.device import GoveeDevice
from govee_local_api.controller import GoveeController
class TestDeviceRegistry(unittest.TestCase):
def setUp(self):
self.registry = DeviceRegistry()
self._mock_controller = Mock(spec=GoveeController)
self.device = GoveeDevice(
self._mock_controller, "192.168.1.1", "device1", "sku1", None
)
def test_add_discovered_device(self):
self.registry.add_discovered_device(self.device)
assert self.device.fingerprint in self.registry.discovered_devices
def test_remove_discovered_device(self):
self.registry.add_discovered_device(self.device)
self.registry.remove_discovered_device(self.device)
assert self.device.fingerprint not in self.registry.discovered_devices
def test_add_custom_device(self):
self.registry.add_device_to_queue("192.168.1.2")
assert "192.168.1.2" in self.registry.devices_queue
def test_discovery_custom_device(self):
self.registry.add_device_to_queue("192.168.1.2")
GoveeDevice(self._mock_controller, "192.168.1.2", "device2", "sku2", None)
assert "192.168.1.2" in self.registry.devices_queue
def test_cleanup(self):
self.registry.add_discovered_device(self.device)
self.registry.add_device_to_queue("192.168.1.2")
self.registry.cleanup()
assert len(self.registry.discovered_devices) == 0
assert len(self.registry.devices_queue) == 0
def test_get_device_by_ip(self):
self.registry.add_discovered_device(self.device)
device = self.registry.get_device_by_ip("192.168.1.1")
assert device == self.device
def test_get_device_by_sku(self):
self.registry.add_discovered_device(self.device)
device = self.registry.get_device_by_sku("sku1")
assert device == self.device
def test_get_device_by_fingerprint(self):
self.registry.add_discovered_device(self.device)
device = self.registry.get_device_by_fingerprint("device1")
assert device == self.device
|