def get_for_event(cls, event_content_object, event_type): action = event_context.get_event_action(event_type=event_type) if action in [ event_actions.FAILED, event_actions.STOPPED, event_actions.DELETED ]: return cls.RED if action in [event_actions.SUCCEEDED]: return cls.GREEN if action != event_actions.NEW_STATUS: return cls.GREY if event_content_object.last_status in [ StatusOptions.FINISHED, StatusOptions.SKIPPED ]: return cls.GREEN if event_content_object.last_status == StatusOptions.DONE: return cls.GREY if event_content_object.last_status == StatusOptions.CREATED: return cls.BLUE return cls.YELLOW
def get_event_action(cls): """Return the second part of the event_type e.g. >>> Event.event_type = 'experiment.deleted' >>> Event.get_event_action() == 'deleted' """ if not cls.actor: return None return event_context.get_event_action(cls.event_type)
def test_serialize_one_with_unique_name(self): obj = ActivityLog.objects.last() data = self.serializer_class(obj).data assert set(data.keys()) == self.expected_keys assert data.pop('object_name') == obj.content_object.unique_name assert data.pop('actor') == obj.actor.username assert data.pop('event_action') == event_context.get_event_action(obj.event_type) assert data.pop('event_subject') == event_context.get_event_subject(obj.event_type) data.pop('created_at') for k, v in data.items(): assert getattr(obj, k) == v
def get_event_action(self, obj): return event_context.get_event_action(event_type=obj.event_type)
def test_get_event_action(self): assert event_context.get_event_action('foo.bar') == 'bar' assert event_context.get_event_action('foo.bar.moo') == 'bar'
def get_event_action(self, obj: 'ActivityLog') -> str: return event_context.get_event_action(event_type=obj.event_type)