43 lines
967 B
Python
43 lines
967 B
Python
import pytest
|
|
|
|
from lib.logitech_receiver import hidpp10, hidpp10_constants
|
|
|
|
|
|
class FakeDevice:
|
|
kind = "fake"
|
|
online = True
|
|
registers = [hidpp10_constants.REGISTERS.three_leds]
|
|
|
|
def request(self, *params):
|
|
return b"fake request"
|
|
|
|
def read_register(self, register_number, *params):
|
|
return "fake register"
|
|
|
|
|
|
@pytest.fixture
|
|
def setup_hidpp10():
|
|
device = FakeDevice()
|
|
hid = hidpp10.Hidpp10()
|
|
|
|
yield device, hid
|
|
|
|
|
|
def test_hidpp10(setup_hidpp10):
|
|
device, hid = setup_hidpp10
|
|
|
|
firmwares = hid.get_firmware(device)
|
|
|
|
assert len(firmwares) == 3
|
|
for firmware in firmwares:
|
|
assert firmware.kind in ["Firmware", "Bootloader", "Other"]
|
|
|
|
|
|
def test_set_3leds(setup_hidpp10, mocker):
|
|
device, hid = setup_hidpp10
|
|
spy_write_register = mocker.spy(hidpp10, "write_register")
|
|
|
|
hid.set_3leds(device)
|
|
|
|
spy_write_register.assert_called_once_with(device, hidpp10_constants.REGISTERS.three_leds, 17, 17)
|