Ejemplo n.º 1
0
class Node(DAO):

    TABLENAME = 'node'

    id = Field(int, is_primary=True)
    root_id = Field(int, foreign=Root)
    name = Field(str)
Ejemplo n.º 2
0
class Root(DAO):

    TABLENAME = 'root'

    id = Field(int, is_primary=True)
    name = Field(str)
    color = Field(('red', 'blue', 'yellow'), is_nullable=True)
Ejemplo n.º 3
0
class Parent(DAO):

    TABLENAME = 'parent'

    id = Field(coerce_int, is_primary=True)
    foo = Field(coerce_int)
    bar = Field(coerce_int, is_nullable=True)
Ejemplo n.º 4
0
class OddKeysNode(DAO):

    TABLENAME = 'odd_keys_node'

    and_my_key = Field(int, is_primary=True)
    odd_keys_root_id = Field(int, foreign='test_db.models.OddKeysRoot')
    name = Field()
Ejemplo n.º 5
0
class Parent(DAO):

    TABLENAME = 'parent'

    id = Field(coerce_int, is_primary=True)
    foo = Field(coerce_int, default=10)
    bar = Field(coerce_int, is_nullable=True)
    foobar = Field(expression='foo+bar')
Ejemplo n.º 6
0
class OddKeysRoot(DAO):

    TABLENAME = 'odd_keys_root'

    my_key = Field(int, is_primary=True)
    name = Field()

    odd_nodes = Children('test_db.models.OddKeysNode')
Ejemplo n.º 7
0
class Root(DAO):

    TABLENAME = 'parent'

    id = Field(int, is_primary=True)
    foo = Field(int, default=0)
    bar = Field(int, is_nullable=True)
    foo_bar = Field(expression='{table}.`foo` + {table}.`bar`')

    nodes = Children('test_db.models.Node')
Ejemplo n.º 8
0
def test_basic():
    fld = Field()
    assert fld
    assert fld.coerce.__name__ == '<lambda>'
    assert fld.coerce('123') == '123'
    assert fld.default is None
    assert fld.name is None
    assert fld.is_nullable is False
    assert fld.is_primary is False
    assert fld.expression is None
    assert fld.is_readonly is False
    assert fld.is_database is True
Ejemplo n.º 9
0
class Node(DAO):

    TABLENAME = 'child'

    id = Field(int, is_primary=True)
    parent_id = Field(int, foreign='test_db.models.Root')
    name = Field(str)

    @classmethod
    def by_name(cls, callback, name, cursor=None):
        return cls.query.where('name=%s').execute(callback,
                                                  name,
                                                  one=True,
                                                  cursor=cursor)
Ejemplo n.º 10
0
 class Structure(DAO):
     TABLENAME = 'test'
     the_key = Field(coerce_int, is_primary=True)
     name = Field()
     age = Field(coerce_int, is_nullable=True)
     random = Field(default='foo', is_database=False)
Ejemplo n.º 11
0
def test_expression():
    fld = Field()
    assert fld.is_readonly is False
    fld = Field(expression='whatever')
    assert fld.is_readonly
Ejemplo n.º 12
0
def test_coerce_not_callable():
    with pytest.raises(TypeError):
        Field('a')
Ejemplo n.º 13
0
def test_coerce_sequence():
    fld = Field(('a', 'b', 'c'))
    assert fld.coerce.__name__ == '_inner'
    assert 'a' == fld.coerce('a')
    with pytest.raises(ValueError):
        fld.coerce('d')