Exemplo n.º 1
0
    def test_taxus_schema_basic_commit(self):
        dbref = ORMMixin.assert_dbref(self.prefix+'taxus-schema-test.sqlite')

        models = load_schema(self.schema)
        Base = models[0]
        sa = get_session(dbref, True, metadata=Base.metadata)
        Basic = models[1]

        basic = Basic(
                name="Fist Basic record",
                label="basic 1",
                date_added=datetime.now()
            )
        sa.add(basic)
        sa.commit()

        SqlBase = declarative_base()
        sa2 = get_session(dbref, metadata=SqlBase.metadata)
        SqlBase.metadata.reflect()
        basics = SqlBase.metadata.tables['basics']
        rs = sa2.query(basics).all()
        assert len(rs) == 1
        r = rs[0]
        for attr in self.fields[self.models[0]]:
            assert hasattr(r, attr), r
            assert getattr(r, attr) == getattr(basic, attr)

        os.unlink(os.path.expanduser(self.prefix+'taxus-schema-test.sqlite'))
Exemplo n.º 2
0
    def test_taxus_schema_ext_commit(self):
        dbref = ORMMixin.assert_dbref(self.prefix+'taxus-schema-test.sqlite')

        models = load_schema(self.schema)
        Base, MyRecord, Extended = models

        sa = get_session(dbref, True, metadata=Base.metadata)

        basic = MyRecord(
                name="Fist Basic record",
                label="basic 1",
                date_added=datetime.now()
            )
        sa.add(basic)
        sa.commit()

        os.unlink(os.path.expanduser(self.prefix+'taxus-schema-test.sqlite'))
Exemplo n.º 3
0
from confparse import yaml_load
from taxus.init import get_session, extract_orm
from taxus.util import ORMMixin


def load_schema(path):
    path = path.replace(".", os.sep) + ".yml"
    meta = yaml_load(open(path))
    if "$schema" in meta:
        schema = yaml_load(open(meta["$schema"]))
        jsonschema.validate(meta, schema)
    else:
        print >> sys.stderr, "No validation for", path
    # schema = extract_schema(meta)
    return list(extract_orm(meta))


# models = load_schema('taxus.core')
# models2 = load_schema('bookmarks')

models = load_schema("schema_test")
Base, MyRecord, Extended = models

dbref = ORMMixin.assert_dbref("~/.schema-test.sqlite")
sa = get_session(dbref, True, metadata=Base.metadata)

print models

# sa2 = get_session(dbref, metadata=Base.metadata)
# sa = ORMMixin.get_session('schema_test', dbref)