async def device(self, record, Responder, final_future, iokls, got_event): device = Device( "d073d5001337", Products.LCM2_A19, hp.Firmware(2, 80), lambda d: iokls(d), lambda d: Listener(d), lambda d: Responder(d), lambda d: RecordEvents( d, {"record_events_store": record, "got_event_fut": got_event} ), search_for_operators=False, ) async with device.session(final_future): record.clear() yield device
def device(): return Device( "d073d5001337", Products.LCM2_A19, hp.Firmware(2, 80), value_store={"only_io_and_viewer_operators": True}, )
async def switch(self, record, Responder, final_future, iokls, got_event): device = Device( "d073d5001338", Products.LCM3_16_SWITCH, hp.Firmware(3, 70), lambda d: iokls(d), lambda d: Listener(d), lambda d: Responder(d), lambda d: RecordEvents( d, {"record_events_store": record, "got_event_fut": got_event} ), search_for_operators=False, ) async with device.session(final_future): if record and record[-1] | Events.RESET: record.pop() yield device
def make_device(has_memory=True, has_udp=False, value_store=None): return Device( "d073d5001337", Products.LCM2_A19, hp.Firmware(2, 80), lambda d: Responder(d), value_store={ "no_memory_io": not has_memory, "no_udp_io": not has_udp, "only_io_and_viewer_operators": True, **(value_store or {}), }, )
def adder(serial, *args, **kwargs): if "value_store" not in kwargs: kwargs["value_store"] = {} store = Store() self.stores[serial] = store kwargs["value_store"] = { **kwargs["value_store"], "record_events_store": store, "make_packet_waiter": True, } kwargs["value_store"] = { "no_memory_io": not self.has_memory, "no_udp_io": not self.has_udp, **kwargs["value_store"], } device = Device(serial, *args, **kwargs) store.device = device self.devices[label] = device return device
def device2(): return Device("d073d5001338", Products.LCM3_TILE, hp.Firmware(3, 50))
def device(): return Device("d073d5001337", Products.LCM2_A19, hp.Firmware(2, 80))
def device(): return Device("d073d5001337", Products.LCM2_A19, hp.Firmware(2, 80), search_for_operators=False)
assert SendUnhandled(incoming_event).event is incoming_event async it "does not send a StateUnhandled if firmware doesn't support it", device, incoming_event: assert not device.cap.has_unhandled su = SendUnhandled(incoming_event) replies = [] async for msg in su.process(): replies.append(msg) assert replies == [] async it "sends a StateUnhandled if firmware does support it", incoming_event: device = Device( "d073d5001338", Products.LCM3_16_SWITCH, hp.Firmware(3, 80), ) incoming_event.device = device assert device.cap.has_unhandled su = SendUnhandled(incoming_event) replies = [] async for msg in su.process(): replies.append(msg) assert len(replies) == 1 reply = replies[0] assert reply | CoreMessages.StateUnhandled assert reply.unhandled_type == DeviceMessages.GetPower.Payload.message_type