def validate_fields(self): super(TransportEvent, self).validate_fields() self.assert_field_present( 'user_message_id', 'event_id', 'event_type', ) event_type = self.payload['event_type'] if event_type not in self.EVENT_TYPES: raise InvalidMessageField("Unknown event_type %r" % (event_type, )) for extra_field, check in self.EVENT_TYPES[event_type].items(): self.assert_field_present(extra_field) if not check(self[extra_field]): raise InvalidMessageField(extra_field)
def validate_fields(self): self.assert_field_value('message_version', self.MESSAGE_VERSION) self.assert_field_present( 'message_type', 'timestamp', ) if self['message_type'] is None: raise InvalidMessageField('message_type')
def validate_fields(self): super(TransportStatus, self).validate_fields() self.assert_field_present('component') self.assert_field_present('status') self.assert_field_present('type') self.assert_field_present('message') if self.payload['status'] not in self.STATUSES: raise InvalidMessageField( "Unknown status %r" % (self.payload['status'],))
def validate_fields(self): self.assert_field_value('message_version', self.MESSAGE_VERSION) # We might get older event messages without the `helper_metadata` # field. self.payload.setdefault('helper_metadata', {}) self.assert_field_present( 'message_type', 'timestamp', 'helper_metadata', ) if self['message_type'] is None: raise InvalidMessageField('message_type')
def validate_fields(self): super(TransportUserMessage, self).validate_fields() # We might get older message versions without the `group` field. self.payload.setdefault('group', None) self.assert_field_present( 'message_id', 'to_addr', 'from_addr', 'in_reply_to', 'session_event', 'content', 'transport_name', 'transport_type', 'transport_metadata', 'group', ) if self['session_event'] not in self.SESSION_EVENTS: raise InvalidMessageField("Invalid session_event %r" % (self['session_event'], ))
def assert_field_value(self, field, *values): self.assert_field_present(field) if self.payload[field] not in values: raise InvalidMessageField(field)