Ejemplo n.º 1
0
    def test_set_attribute_if_missing(self):
        client = self._factory.get_client()

        writing_signaller = Signaller(client,
                                      workflow='some_workflow',
                                      instance='123')

        self.assertFalse(
            writing_signaller.set_attribute_if_missing(Signal.ARCHIVE,
                                                       Signal.TIMESTAMP_ATTR,
                                                       12345))

        writing_signaller.set_action(Signal.ARCHIVE)
        self.assertTrue(
            writing_signaller.set_attribute_if_missing(Signal.ARCHIVE,
                                                       Signal.TIMESTAMP_ATTR,
                                                       12345))
        self.assertEqual(
            12345,
            writing_signaller.get_attribute(Signal.ARCHIVE,
                                            Signal.TIMESTAMP_ATTR))

        self.assertFalse(
            writing_signaller.set_attribute_if_missing(Signal.ARCHIVE,
                                                       Signal.TIMESTAMP_ATTR,
                                                       123456))

        reading_signaller = Signaller(client,
                                      workflow='some_workflow',
                                      instance='123')
        self.assertEqual(
            12345,
            reading_signaller.get_attribute(Signal.ARCHIVE,
                                            Signal.TIMESTAMP_ATTR))
Ejemplo n.º 2
0
    def test_set_attribute_if_missing(self):
        client = self._factory.get_client()

        writing_signaller = Signaller(client, workflow='some_workflow',
                                      instance='123')

        self.assertFalse(writing_signaller.set_attribute_if_missing(
                         Signal.ARCHIVE, Signal.TIMESTAMP_ATTR, 12345))

        writing_signaller.set_action(Signal.ARCHIVE)
        self.assertTrue(writing_signaller.set_attribute_if_missing(
                        Signal.ARCHIVE, Signal.TIMESTAMP_ATTR, 12345))
        self.assertEqual(12345,
                         writing_signaller.get_attribute(
                             Signal.ARCHIVE,
                             Signal.TIMESTAMP_ATTR))

        self.assertFalse(writing_signaller.set_attribute_if_missing(
                         Signal.ARCHIVE, Signal.TIMESTAMP_ATTR, 123456))

        reading_signaller = Signaller(client, workflow='some_workflow',
                                      instance='123')
        self.assertEqual(12345,
                         reading_signaller.get_attribute(
                             Signal.ARCHIVE,
                             Signal.TIMESTAMP_ATTR))
Ejemplo n.º 3
0
 def abort_running(self, client, store):
     running_instances = self._get_running_instances(store)
     for instance in running_instances:
         signaller = Signaller(client,
                               workflow=self.workflow,
                               instance=instance)
         signaller.set_action(Signal.ABORT)
         if not signaller.is_action_set(Signal.ABORT):
             return False
     return True
Ejemplo n.º 4
0
 def abort_running(self, client, store):
     running_instances = self._get_running_instances(store)
     for instance in running_instances:
         signaller = Signaller(client,
                               workflow=self.workflow,
                               instance=instance)
         signaller.set_action(Signal.ABORT)
         if not signaller.is_action_set(Signal.ABORT):
             return False
     return True
Ejemplo n.º 5
0
    def test_get_attribute(self):
        client = self._factory.get_client()

        writing_signaller = Signaller(client)
        writing_signaller.set_action(Signal.EXIT)
        self.assertEqual(PinballConfig.GENERATION,
                         writing_signaller.get_attribute(
                             Signal.EXIT,
                             Signal.GENERATION_ATTR))
        reading_signaller = Signaller(client)
        self.assertEqual(PinballConfig.GENERATION,
                         reading_signaller.get_attribute(
                             Signal.EXIT,
                             Signal.GENERATION_ATTR))
Ejemplo n.º 6
0
    def test_get_attribute(self):
        client = self._factory.get_client()

        writing_signaller = Signaller(client)
        writing_signaller.set_action(Signal.EXIT)
        self.assertEqual(
            PinballConfig.GENERATION,
            writing_signaller.get_attribute(Signal.EXIT,
                                            Signal.GENERATION_ATTR))
        reading_signaller = Signaller(client)
        self.assertEqual(
            PinballConfig.GENERATION,
            reading_signaller.get_attribute(Signal.EXIT,
                                            Signal.GENERATION_ATTR))
Ejemplo n.º 7
0
    def test_set_action(self):
        client = self._factory.get_client()

        writing_signaller = Signaller(client)
        writing_signaller.set_action(Signal.EXIT)
        reading_signaller = Signaller(client)
        # New generation.
        self.assertFalse(reading_signaller.is_action_set(Signal.EXIT))
        # Old generation.
        with mock.patch('pinball.workflow.signaller.PinballConfig.GENERATION', 0):
            self.assertTrue(reading_signaller.is_action_set(Signal.EXIT))
        self.assertFalse(reading_signaller.is_action_set(Signal.DRAIN))
        self.assertFalse(reading_signaller.is_action_set(Signal.ABORT))

        writing_signaller = Signaller(client, workflow='some_workflow')
        writing_signaller.set_action(Signal.DRAIN)
        reading_signaller = Signaller(client, workflow='some_workflow')
        # Old generation.
        with mock.patch('pinball.workflow.signaller.PinballConfig.GENERATION', 0):
            self.assertTrue(reading_signaller.is_action_set(Signal.EXIT))
        self.assertTrue(reading_signaller.is_action_set(Signal.DRAIN))
        self.assertFalse(reading_signaller.is_action_set(Signal.ABORT))

        writing_signaller = Signaller(client, workflow='some_workflow',
                                      instance='123')
        writing_signaller.set_action(Signal.ABORT)
        reading_signaller = Signaller(client, workflow='some_workflow',
                                      instance='123')
        # Old generation.
        with mock.patch('pinball.workflow.signaller.PinballConfig.GENERATION', 0):
            self.assertTrue(reading_signaller.is_action_set(Signal.EXIT))
        self.assertTrue(reading_signaller.is_action_set(Signal.DRAIN))
        self.assertTrue(reading_signaller.is_action_set(Signal.ABORT))
Ejemplo n.º 8
0
    def test_remove_sction(self):
        client = self._factory.get_client()

        writing_signaller = Signaller(client)
        writing_signaller.set_action(Signal.EXIT)
        writing_signaller.remove_action(Signal.EXIT)
        self.assertFalse(writing_signaller.is_action_set(Signal.EXIT))
        reading_signaller = Signaller(client)
        self.assertFalse(reading_signaller.is_action_set(Signal.EXIT))

        writing_signaller = Signaller(client, workflow='some_workflow')
        writing_signaller.set_action(Signal.DRAIN)
        reading_signaller = Signaller(client, workflow='some_workflow')
        self.assertTrue(reading_signaller.is_action_set(Signal.DRAIN))
        writing_signaller.remove_action(Signal.DRAIN)
        self.assertFalse(writing_signaller.is_action_set(Signal.DRAIN))
        reading_signaller = Signaller(client)
        self.assertFalse(reading_signaller.is_action_set(Signal.DRAIN))

        writing_signaller = Signaller(client, workflow='some_workflow',
                                      instance='123')
        writing_signaller.set_action(Signal.ABORT)
        reading_signaller = Signaller(client, workflow='some_workflow',
                                      instance='123')
        self.assertTrue(reading_signaller.is_action_set(Signal.ABORT))
        writing_signaller.remove_action(Signal.ABORT)
        self.assertFalse(writing_signaller.is_action_set(Signal.ABORT))
        reading_signaller = Signaller(client)
        self.assertFalse(reading_signaller.is_action_set(Signal.ABORT))
Ejemplo n.º 9
0
    def test_remove_sction(self):
        client = self._factory.get_client()

        writing_signaller = Signaller(client)
        writing_signaller.set_action(Signal.EXIT)
        writing_signaller.remove_action(Signal.EXIT)
        self.assertFalse(writing_signaller.is_action_set(Signal.EXIT))
        reading_signaller = Signaller(client)
        self.assertFalse(reading_signaller.is_action_set(Signal.EXIT))

        writing_signaller = Signaller(client, workflow='some_workflow')
        writing_signaller.set_action(Signal.DRAIN)
        reading_signaller = Signaller(client, workflow='some_workflow')
        self.assertTrue(reading_signaller.is_action_set(Signal.DRAIN))
        writing_signaller.remove_action(Signal.DRAIN)
        self.assertFalse(writing_signaller.is_action_set(Signal.DRAIN))
        reading_signaller = Signaller(client)
        self.assertFalse(reading_signaller.is_action_set(Signal.DRAIN))

        writing_signaller = Signaller(client,
                                      workflow='some_workflow',
                                      instance='123')
        writing_signaller.set_action(Signal.ABORT)
        reading_signaller = Signaller(client,
                                      workflow='some_workflow',
                                      instance='123')
        self.assertTrue(reading_signaller.is_action_set(Signal.ABORT))
        writing_signaller.remove_action(Signal.ABORT)
        self.assertFalse(writing_signaller.is_action_set(Signal.ABORT))
        reading_signaller = Signaller(client)
        self.assertFalse(reading_signaller.is_action_set(Signal.ABORT))
Ejemplo n.º 10
0
    def test_set_action(self):
        client = self._factory.get_client()

        writing_signaller = Signaller(client)
        writing_signaller.set_action(Signal.EXIT)
        reading_signaller = Signaller(client)
        # New generation.
        self.assertFalse(reading_signaller.is_action_set(Signal.EXIT))
        # Old generation.
        with mock.patch('pinball.workflow.signaller.PinballConfig.GENERATION',
                        0):
            self.assertTrue(reading_signaller.is_action_set(Signal.EXIT))
        self.assertFalse(reading_signaller.is_action_set(Signal.DRAIN))
        self.assertFalse(reading_signaller.is_action_set(Signal.ABORT))

        writing_signaller = Signaller(client, workflow='some_workflow')
        writing_signaller.set_action(Signal.DRAIN)
        reading_signaller = Signaller(client, workflow='some_workflow')
        # Old generation.
        with mock.patch('pinball.workflow.signaller.PinballConfig.GENERATION',
                        0):
            self.assertTrue(reading_signaller.is_action_set(Signal.EXIT))
        self.assertTrue(reading_signaller.is_action_set(Signal.DRAIN))
        self.assertFalse(reading_signaller.is_action_set(Signal.ABORT))

        writing_signaller = Signaller(client,
                                      workflow='some_workflow',
                                      instance='123')
        writing_signaller.set_action(Signal.ABORT)
        reading_signaller = Signaller(client,
                                      workflow='some_workflow',
                                      instance='123')
        # Old generation.
        with mock.patch('pinball.workflow.signaller.PinballConfig.GENERATION',
                        0):
            self.assertTrue(reading_signaller.is_action_set(Signal.EXIT))
        self.assertTrue(reading_signaller.is_action_set(Signal.DRAIN))
        self.assertTrue(reading_signaller.is_action_set(Signal.ABORT))