Пример #1
0
    def publish_test(self):
        """Test task publishing."""
        TaskInterface._task_counter = 1
        message_bus = Mock()

        object_path = publish_task(message_bus, ("A", "B", "C"), self.SimpleTask())
        self.assertEqual("/A/B/C/Tasks/1", object_path)
        message_bus.publish_object.assert_called_once()
        message_bus.reset_mock()

        object_path = publish_task(message_bus, ("A", "B", "C"), self.SimpleTask())
        self.assertEqual("/A/B/C/Tasks/2", object_path)
        message_bus.publish_object.assert_called_once()
        message_bus.reset_mock()

        object_path = publish_task(message_bus, ("A", "B", "C"), self.SimpleTask())
        self.assertEqual("/A/B/C/Tasks/3", object_path)
        message_bus.publish_object.assert_called_once()
        message_bus.reset_mock()
Пример #2
0
    def publish_task(self, namespace, task, message_bus=DBus):
        """Publish a task.

        :param namespace: a DBus namespace
        :param task: an instance of task
        :param message_bus: a message bus
        :return: a DBus path of the published task
        """
        object_path = publish_task(message_bus, namespace, task)
        self._published_tasks[task] = object_path
        return object_path
Пример #3
0
    def publish_task(self, namespace, task, message_bus=DBus):
        """Publish a task.

        :param namespace: a DBus namespace
        :param task: an instance of task
        :param message_bus: a message bus
        :return: a DBus path of the published task
        """
        object_path = publish_task(message_bus, namespace, task)
        self._published_tasks[task] = object_path
        return object_path
Пример #4
0
    def publish_test(self):
        """Test task publishing."""
        TaskInterface._task_counter = 1
        message_bus = Mock()

        object_path = publish_task(message_bus, ("A", "B", "C"),
                                   self.SimpleTask())
        self.assertEqual("/A/B/C/Tasks/1", object_path)
        message_bus.publish_object.assert_called_once()
        message_bus.reset_mock()

        object_path = publish_task(message_bus, ("A", "B", "C"),
                                   self.SimpleTask())
        self.assertEqual("/A/B/C/Tasks/2", object_path)
        message_bus.publish_object.assert_called_once()
        message_bus.reset_mock()

        object_path = publish_task(message_bus, ("A", "B", "C"),
                                   self.SimpleTask())
        self.assertEqual("/A/B/C/Tasks/3", object_path)
        message_bus.publish_object.assert_called_once()
        message_bus.reset_mock()
Пример #5
0
    def publish_with_interface_test(self):
        """Test task publishing with a specified interface."""
        TaskInterface._task_counter = 1
        message_bus = Mock()

        object_path = publish_task(message_bus=message_bus,
                                   namespace=("A", "B", "C"),
                                   task=self.SimpleTask(),
                                   interface=self.SimpleTaskInterface)

        self.assertEqual("/A/B/C/Tasks/1", object_path)
        message_bus.publish_object.assert_called_once()

        publishable = message_bus.publish_object.call_args[0][1]
        self.assertIsInstance(publishable, self.SimpleTaskInterface)

        message_bus.reset_mock()
Пример #6
0
    def publish_with_interface_test(self):
        """Test task publishing with a specified interface."""
        TaskInterface._task_counter = 1
        message_bus = Mock()

        object_path = publish_task(
            message_bus=message_bus,
            namespace=("A", "B", "C"),
            task=self.SimpleTask(),
            interface=self.SimpleTaskInterface
        )

        self.assertEqual("/A/B/C/Tasks/1", object_path)
        message_bus.publish_object.assert_called_once()

        publishable = message_bus.publish_object.call_args[0][1]
        self.assertIsInstance(publishable, self.SimpleTaskInterface)

        message_bus.reset_mock()
Пример #7
0
 def publish_task(self, namespace, task, message_bus=DBus):
     """Publish a task."""
     object_path = publish_task(message_bus, namespace, task)
     self.published_tasks[task] = object_path