コード例 #1
0
 def wait_for_node(self):
     start = time.time()
     self.success = False
     self.waiting_for_node = True
     while self.waiting_for_node and \
             time.time() - start < float(self.settings["timeout"]):
         time.sleep(0.1)
     if self.waiting_for_node:
         message = dig_for_message()
         if not message:
             message = Message("node_red.timeout")
         else:
             message.reply("node_red.timeout")
         self.bus.emit(message)
         self.waiting_for_node = False
     return self.success
コード例 #2
0
 def wait_for_something(self):
     self.log.debug("{name}: waiting".format(name=self.skill_name))
     start = time.time()
     self.success = False
     self.waiting = True
     while self.waiting and \
             time.time() - start < float(self.settings["timeout"]):
         time.sleep(0.1)
     if self.waiting:
         message = dig_for_message()
         if not message:
             message = Message(self.namespace + ".timeout")
         else:
             message.reply(self.namespace + ".timeout")
         self.bus.emit(message)
         self.waiting = False
     self.log.debug("{name}: wait ended".format(name=self.skill_name))
     return self.success
コード例 #3
0
class TestMessageMethods(unittest.TestCase):
    """This tests the Message class functions
    """
    def setUp(self):
        """This sets up some basic messages for testing.
        """

        self.empty_message = Message("empty")
        self.message1 = Message("enclosure.reset")
        self.message2 = Message("enclosure.system.blink", {'target': 4},
                                {'target': 5})
        self.message3 = Message("status", "OK")
        # serialized results of each of the messages
        self.serialized = [
            '{"data": {}, "type": "empty", "context": null}',
            '{"data": {}, "type": "enclosure.reset",\
                            "context": null}', '{"data": { "target": 4}, \
                            "type": "enclosure.system.blink", \
                            "context": {"target": 5}}',
            '{"data": "OK", "type": "status", \
                            "context": null}'
        ]

    def test_serialize(self):
        """This test the serialize method
        """
        self.assertEqual(self.empty_message.serialize(), self.serialized[0])
        self.assertEqual(self.message1.serialize(), self.serialized[1])
        self.assertEqual(self.message2.serialize(), self.serialized[2])
        self.assertEqual(self.message3.serialize(), self.serialized[3])

    def test_deserialize(self):
        """This test's the deserialize method
        """
        messages = []
        # create the messages from the serialized strings above
        messages.append(Message.deserialize(self.serialized[0]))
        messages.append(Message.deserialize(self.serialized[1]))
        messages.append(Message.deserialize(self.serialized[2]))
        # check the created messages match the strings
        self.assertEqual(messages[0].serialize(), self.serialized[0])
        self.assertEqual(messages[1].serialize(), self.serialized[1])
        self.assertEqual(messages[2].serialize(), self.serialized[2])

    def test_reply(self):
        """This tests the reply method
        This is probably incomplete as the use of the reply message escapes me.
        """
        message = self.empty_message.reply("status", "OK")
        self.assertEqual(message.serialize(),
                         '{"data": "OK", "type": "status", "context": {}}')
        message = self.message1.reply("status", "OK")
        self.assertEqual(message.serialize(),
                         '{"data": "OK", "type": "status", "context": {}}')
        message = self.message2.reply("status", "OK")

    def test_publish(self):
        """This is for testing the publish method

        TODO: Needs to be completed
        """
        pass
コード例 #4
0
class TestMessageMethods(unittest.TestCase):
    """This tests the Message class functions
    """
    def setUp(self):
        """This sets up some basic messages for testing.
        """

        self.empty_message = Message("empty")
        self.message1 = Message("enclosure.reset")
        self.message2 = Message("enclosure.system.blink",
                                {'target': 4}, {'target': 5})
        self.message3 = Message("status", "OK")
        # serialized results of each of the messages
        self.serialized = ['{"data": {}, "type": "empty", "context": null}',
                           '{"data": {}, "type": "enclosure.reset",\
                            "context": null}',
                           '{"data": { "target": 4}, \
                            "type": "enclosure.system.blink", \
                            "context": {"target": 5}}',
                           '{"data": "OK", "type": "status", \
                            "context": null}']

    def test_serialize(self):
        """This test the serialize method
        """
        self.assertEqual(self.empty_message.serialize(), self.serialized[0])
        self.assertEqual(self.message1.serialize(), self.serialized[1])
        self.assertEqual(self.message2.serialize(), self.serialized[2])
        self.assertEqual(self.message3.serialize(), self.serialized[3])

    def test_deserialize(self):
        """This test's the deserialize method
        """
        messages = []
        # create the messages from the serialized strings above
        messages.append(Message.deserialize(self.serialized[0]))
        messages.append(Message.deserialize(self.serialized[1]))
        messages.append(Message.deserialize(self.serialized[2]))
        # check the created messages match the strings
        self.assertEqual(messages[0].serialize(), self.serialized[0])
        self.assertEqual(messages[1].serialize(), self.serialized[1])
        self.assertEqual(messages[2].serialize(), self.serialized[2])

    def test_reply(self):
        """This tests the reply method
        This is probably incomplete as the use of the reply message escapes me.
        """
        message = self.empty_message.reply("status", "OK")
        self.assertEqual(message.serialize(),
                         '{"data": "OK", "type": "status", "context": {}}')
        message = self.message1.reply("status", "OK")
        self.assertEqual(message.serialize(),
                         '{"data": "OK", "type": "status", "context": {}}')
        message = self.message2.reply("status", "OK")

    def test_publish(self):
        """This is for testing the publish method

        TODO: Needs to be completed
        """
        pass