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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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