def test_date_db_populate(self): """ Sessions Validate Date - Tests if validation works on values stored in db and not given in 'data' :return: """ with self.app.test_request_context(): schema = SessionSchema() SessionFactory() original_data = {'data': {'id': 1}} data = {} SessionSchema.validate_fields(schema, data, original_data)
def test_date_pass(self): """ Sessions Validate Date - Tests if the function runs without an exception :return: """ schema = SessionSchema() original_data = {'data': {}} data = { 'starts_at': datetime(2099, 8, 4, 12, 30, 45).replace(tzinfo=timezone('UTC')), 'ends_at': datetime(2099, 9, 4, 12, 30, 45).replace(tzinfo=timezone('UTC')) } SessionSchema.validate_date(schema, data, original_data)
def test_date_pass(self): """ Sessions Validate Date - Tests if the function runs without an exception :return: """ schema = SessionSchema() original_data = { 'data': {} } data = { 'starts_at': datetime(2003, 8, 4, 12, 30, 45).replace(tzinfo=timezone('UTC')), 'ends_at': datetime(2003, 9, 4, 12, 30, 45).replace(tzinfo=timezone('UTC')) } SessionSchema.validate_date(schema, data, original_data)
def test_date_start_gt_end(self): """ Sessions Validate Date - Tests if exception is raised when ends_at is before starts_at :return: """ schema = SessionSchema() original_data = {'data': {}} data = { 'starts_at': datetime(2099, 9, 4, 12, 30, 45).replace(tzinfo=timezone('UTC')), 'ends_at': datetime(2099, 8, 4, 12, 30, 45).replace(tzinfo=timezone('UTC')) } with self.assertRaises(UnprocessableEntity): SessionSchema.validate_date(schema, data, original_data)
def test_date_start_gt_end(self): """ Sessions Validate Date - Tests if exception is raised when ends_at is before starts_at :return: """ schema = SessionSchema() original_data = { 'data': {} } data = { 'starts_at': datetime(2003, 9, 4, 12, 30, 45).replace(tzinfo=timezone('UTC')), 'ends_at': datetime(2003, 8, 4, 12, 30, 45).replace(tzinfo=timezone('UTC')) } with self.assertRaises(UnprocessableEntity): SessionSchema.validate_date(schema, data, original_data)
def test_fields_pass(self): """ Sessions Validate Message - Tests if the function runs without an exception :return: """ schema = SessionSchema() data = {'message': 'This is a test message.'} SessionNotifySchema.validate_fields(schema, data)
def test_date_db_populate(self): """ Sessions Validate Date - Tests if validation works on values stored in db and not given in 'data' :return: """ with app.test_request_context(): schema = SessionSchema() obj = SessionFactory() db.session.add(obj) db.session.commit() original_data = { 'data': { 'id': 1 } } data = {} SessionSchema.validate_date(schema, data, original_data)
def add_target(self, data, obj): if obj.target is None: # handler -> if target data is deleted after generation of notification. # to be implemented in future -> delete notification if target is deleted ex. RoleInvite. return {} event = None if obj.target_type == 'Order': serialized = normalize_jsonapi_data( OrderSchema(only=('id', 'amount', 'identifier')), obj.target ) data['order'] = serialized event = obj.target.event elif obj.target_type == 'Session': serialized = normalize_jsonapi_data( SessionSchema(only=('id', 'title')), obj.target ) data['session'] = serialized event = obj.target.event elif obj.target_type == 'EventInvoice': serialized = normalize_jsonapi_data( EventInvoiceSchema( only=('id', 'identifier', 'amount', 'issued_at', 'due_at', 'status') ), obj.target, ) data['invoice'] = serialized event = obj.target.event elif obj.target_type == 'RoleInvite': serialized = normalize_jsonapi_data(RoleInviteSchema(), obj.target) data['event_invite'] = serialized data['role'] = normalize_jsonapi_data(RoleSchema(), obj.target.role) event = obj.target.event if event: data['event'] = normalize_jsonapi_data( EventSchemaPublic(only=('id', 'name', 'identifier')), obj.target.event ) return data