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))
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))
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
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))
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))
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))
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))