Example #1
0
    def test_Register(self):
        led = Device("name", self.message_handler)
        self.assertEqual(led.connect(), True)
        time.sleep(0.1)
        connected_nodes = self.gw.get_connected_nodes()
        self.assertEqual(len(connected_nodes), 1)
        node = connected_nodes[led.node_id]
        self.assertEqual(node.name, led.name)
        self.assertEqual(node.registered, True)

        last_seen = node.last_seen

        led._send_status()
        time.sleep(0.1)

        connected_nodes = self.gw.get_connected_nodes()
        self.assertEqual(len(connected_nodes), 1)
        node = connected_nodes[led.node_id]
        self.assertEqual(node.name, led.name)
        self.assertEqual(node.registered, True)
        self.assertNotEqual(node.last_seen, last_seen)

        # calling connect again should change nothing
        self.assertEqual(led.connect(), True)
        connected_nodes = self.gw.get_connected_nodes()
        self.assertEqual(len(connected_nodes), 1)
Example #2
0
    def test_moreThan30Nodes(self):
        for i in range(0, 30):
            dev = Device('%s' % i, self.message_handler)
            if i == 29:
                # too many nodes registered
                self.assertEqual(dev.connect(), False)
            else:
                self.assertEqual(dev.connect(), True)

        time.sleep(0.1)
        connected_nodes = self.gw.get_connected_nodes()
        self.assertEqual(len(connected_nodes), 29)
Example #3
0
 def test_sendACKForUnknownMessage(self):
     dev = Device("name", self.message_handler)
     self.assertEqual(dev.connect(), True)
     header = MessageHeader(node_id = dev.node_id, group_id = dev.group_id, wants_ack = False)
     m = ACKMessage(header)
     self.message_handler.write_message_from_device(m)
     time.sleep(0.1)
     self.assertEqual(len(self.gw.get_connected_nodes()), 1)