예제 #1
0
class TestSchema(StoredObject):

    _id = StringField(primary=True)

    # Simple fields

    intfield = IntegerField(list=False, validate=True)
    floatfield = FloatField(list=False, validate=True)
    boolfield = BooleanField(list=False, validate=True)
    datetimefield = DateTimeField(list=False, validate=True)
    stringfield = StringField(list=False, validate=True)
    regexfield = StringField(list=False, validate=RegexValidator('^foo$'))
    urlfield = StringField(list=False, validate=URLValidator())

    int_min_field = IntegerField(validate=MinValueValidator(3))
    int_max_field = IntegerField(validate=MaxValueValidator(15))
    string_min_field = StringField(validate=MinLengthValidator(3))
    string_max_field = StringField(validate=MaxLengthValidator(15))

    # List fields

    # int_list = IntegerField(list=True, validate=MinValueValidator(3))
    # float_list = FloatField(list=True, validate=True)
    # bool_list = BooleanField(list=True, validate=True)
    # datetime_list = DateTimeField(list=True, default=[])
    # string_list = StringField(list=True, validate=True)

    _meta = {'optimistic' : True}
예제 #2
0
class Tag(StoredObject):
    value = StringField(primary=True)
    count = StringField(default='c', validate=True)
    misc = StringField()
    misc2 = StringField()
    # created = DateTimeField(validate=True)
    # modified = DateTimeField(validate=True, auto_now=True)
    keywords = StringField(
        default=['keywd1', 'keywd2'],
        validate=[MinLengthValidator(5),
                  MaxLengthValidator(10)],
        list=True)
    mybool = BooleanField(default=False)
    myint = IntegerField()
    myints = IntegerField(default=[1, 2, 3], list=True)
    myfloat = FloatField()
예제 #3
0
class Team(StoredObject):
    name = StringField(primary=True)
    owner = ForeignField('Manager', backref='owned')
    wins = IntegerField(list=True)
    playoffs = BooleanField(default=None, list=True)
    schedule = StringField(list=True)
    players = ForeignField('Player', list=True, backref='plays_for')
예제 #4
0
    def test_min_and_max_value_list(self):
        '''
        Assert that a list with MinLengthValidator(x) and
        MaxLengthValidator(y) cannot
        be saved with a length less than x or
        a length greater than y
        '''
        list_of_list_for_min_max = [
            ['whoa'],
            [2,4,0,],
            [17,],
            [5,5,5,5,],
            [5,5,5,5,6,7,8,9,11,12,],
        ]

        Schema = create_schema(
            'min_max_value_schema',
            field=IntegerField(
                list=True,
                validate=[MinValueValidator(5), MaxValueValidator(15)],
                list_validate=[MinLengthValidator(5), MaxLengthValidator(7)],
            )
        )
        test_row=Schema()
        for test_list in list_of_list_for_min_max:
            test_row.field = test_list
            self.assertRaises(Exception, test_row.save)
예제 #5
0
    def test_validate_min_value_list(self):
        '''
        Assert that a list with MinLengthValidator(n) cannot
        be saved with a value less than n.
        '''
        list_of_list_for_min = [
            ['whoa'],
            [2,4,0,],
            [2,3,4,5,],
            [2,3,4,5,6,7,8,9,11,12,],
        ]

        Schema = create_schema(
            'min_value_schema',
            field=IntegerField(
                list=True,
                validate=MinValueValidator(5),
                list_validate=[MinLengthValidator(5), MaxLengthValidator(7)]
            )
        )

        test_row = Schema()
        for test_list in list_of_list_for_min:
            test_row.field = test_list
            self.assertRaises(Exception, test_row.save)
예제 #6
0
class Sheila(StoredObject):

    _id = StringField(primary=True)
    _meta = {'optimistic': True}

    # Simple fields
    sheila_str = StringField(default='sheila', validate=True, required=True)
    sheila_int = IntegerField(default=7, validate=MaxValueValidator(9))
    sheila_now = DateTimeField()
    sheila_url = StringField(validate=URLValidator())

    # List fields
    sheila_strs = StringField(list=True,
                              validate=MinLengthValidator(5),
                              list_validate=MinLengthValidator(3))
    sheila_nows = DateTimeField(list=True)  #, default=[])
    sheila_urls = StringField(
        list=True,
        validate=[URLValidator(), MinLengthValidator(20)],
        list_validate=MinLengthValidator(2))
    sheila_ints = IntegerField(list=True,
                               validate=MinValueValidator(3),
                               list_validate=MinLengthValidator(2))
예제 #7
0
    def test_validate_integer_list(self):
        '''
        Assert that the field cannot be saved with lists containing any type other than integer
        '''
        test_lists = [
            [1.5,2.5,3.5],
            ['hey','hey',],
            [datetime.datetime.now(),datetime.datetime.now(),]
            ]

        Schema = create_schema(
            'integer_list_schema',
            field=IntegerField(
                list=True,
                validate=True,
            )
        )

        test_row = Schema()
        for test_list in test_lists:
            test_row.field = test_list
            self.assertRaises(Exception, test_row.save)
예제 #8
0
class Tag(StoredObject):
    _id = StringField()
    count = IntegerField()
    keyword = ForeignField('keyword')
예제 #9
0
class Ron(StoredObject):

    ron_str = StringField()
    ron_int = IntegerField()
    ron_now = DateTimeField()
예제 #10
0
class Player(StoredObject):
    name = StringField(primary=True)
    number = IntegerField()
    rating = FloatField(default=0.0)
    injured = BooleanField(default=False)