def test_live_device_state_change(self): api = ConnectAPI() d = api.list_connected_devices().first() api.delete_device_subscriptions(d.id) # request the `manufacturer` field channel = channels.CurrentResourceValue(device_id=d.id, resource_path='/3/0/0') observer = api.subscribe(channel) value = observer.next().block(timeout=2) # should be, in this case, TLV self.assertEqual(b'6465765f6d616e756661637475726572', value)
def test_live_device_state_change(self): api = ConnectAPI() api.delete_presubscriptions() d = api.list_connected_devices().first() api.delete_device_subscriptions(d.id) channel = channels.ResourceValues(device_id=d.id, resource_path=['/3/0/*']) observer = api.subscribe(channel) # don't actually care about notifications, we want to see subscriptions current_subs = api.list_device_subscriptions(d.id) self.assertGreaterEqual(len(current_subs), 3) for path in current_subs: self.assertIn('/3/0', path) channel.stop() current_subs = api.list_device_subscriptions(d.id) self.assertIsNone(None, current_subs)