def test_step_two_create_table(app): db = DAL(app, auto_migrate=False) db.define_models(StepTwoThing) ops = _make_ops(db) op = ops.ops[0] sql = _make_sql(db, op) assert sql == _step_two_sql
def db(): app = App(__name__) db = DAL(app, config=sdict(uri="sqlite://dal.db")) db.define_models( [ Stuff, Person, Thing, Feature, Price, Doctor, Patient, Appointment, User, Organization, Membership, House, Mouse, NeedSplit, Zoo, Animal, Elephant, Dog, Subscription, ] ) return db
def db(): app = App(__name__) db = DAL(app, config=sdict(uri='sqlite://dal.db')) db.define_models([ Stuff, Person, Thing, Feature, Price, Doctor, Patient, Appointment, House, Mouse, NeedSplit, Zoo, Animal, Elephant ]) return db
def db(): app = App(__name__) db = DAL(app, config=sdict(uri='sqlite://validators.db')) db.define_models([ A, AA, AAA, B, Consist, Len, Inside, Num, Eq, Match, Anyone, Proc, Person, Thing, Allowed, Mixed ]) return db
def test_step_one_create_table(app): db = DAL(app, auto_migrate=False) db.define_models(StepOneThing) ops = _make_ops(db) diffs = ops.as_diffs() assert len(diffs) == 1 and diffs[0][0] == "add_table" op = ops.ops[0] sql = _make_sql(db, op) assert sql == _step_one_sql
def test_step_three_drop_column(app): db = DAL(app, auto_migrate=False) db.define_models(StepThreeThingTwo) ops = _make_ops(db) db2 = DAL(app, auto_migrate=False) db2.define_models(StepThreeThingThree) ops2 = _make_ops(db2, ops) op = ops2.ops[0] sql = _make_sql(db, op) assert sql == _step_three_sql_drop
def test_step_four_alter_table(app): db = DAL(app, auto_migrate=False) db.define_models(StepFourThing) ops = _make_ops(db) db2 = DAL(app, auto_migrate=False) db2.define_models(StepFourThingEdit) ops2 = _make_ops(db2, ops) sql = [] for op in ops2.ops: sql.append(_make_sql(db2, op)) assert "\n".join(sql) == _step_four_sql
def test_step_one_drop_table(app): db = DAL(app, auto_migrate=False) db.define_models(StepOneThing) ops = _make_ops(db) db2 = DAL(app, auto_migrate=False) db2.define_models() ops2 = _make_ops(db2, ops) diffs = ops2.as_diffs() assert len(diffs) == 1 and diffs[0][0] == "remove_table" op = ops2.ops[0] sql = _make_sql(db2, op) assert sql == _step_one_sql_drop
def test_step_five_indexes(app): db = DAL(app, auto_migrate=False) db.define_models(StepFiveThing) ops = _make_ops(db) index_ops = ops.ops[1:] for op in index_ops: sql = _make_sql(db, op) assert sql in _step_five_sql_before db2 = DAL(app, auto_migrate=False) db2.define_models(StepFiveThingEdit) ops2 = _make_ops(db2, ops) for op in ops2.ops: sql = _make_sql(db, op) assert sql in _step_five_sql_after
def test_step_three_alter_table(app): db = DAL(app, auto_migrate=False) db.define_models(StepFourThing) ops = _make_ops(db) db2 = DAL(app, auto_migrate=False) db2.define_models(StepFourThingEdit) ops2 = _make_ops(db2, ops) sql = [] for op in ops2.ops: sql.append(_make_sql(db2, op)) assert "\n".join(sql) == _step_four_sql
message = Field() @rowmethod('serialize') def _serialize(self, row): return {'id': row.id, 'message': row.message} app.config.db.adapter = 'postgres:psycopg2' \ if not _is_pypy else 'postgres:pg8000' app.config.db.host = DBHOSTNAME app.config.db.user = '******' app.config.db.password = '******' app.config.db.database = 'hello_world' app.config.db.pool_size = 100 db = DAL(app, auto_migrate=False) db.define_models(World, Fortune) @app.route() @service.json def json(): return {'message': 'Hello, World!'} @app.route("/db", handlers=[db.handler]) @service.json def get_random_world(): return World.get(randint(1, 10000)).serialize()
def test_step_one_no_diff_in_migration(app): db = DAL(app, auto_migrate=False) db.define_models(StepOneThing) ops = _make_ops(db) ops2 = _make_ops(db, ops) assert len(ops2.as_diffs()) == 0
class Comment(Model): belongs_to('user', 'post') text = Field('text') date = Field('datetime') default_values = { 'user': lambda: session.auth.user.id, 'date': lambda: request.now } validation = {'text': {'presence': True}} form_rw = {'user': False, 'post': False, 'date': False} #: init db and auth db = DAL(app) auth = Auth(app, db, usermodel=User) db.define_models(Post, Comment) #: setup helping function def setup_admin(): # create the user user = User.create(email="*****@*****.**", first_name="Walter", last_name="Bishop", password="******") # create an admin group admins = auth.add_group("admin") # add user to admins group auth.add_membership(admins, user.id)
def db(): app = App(__name__) db = DAL(app, config=sdict(uri='sqlite:memory')) auth = Auth(app, db, usermodel=User) db.define_models(Thing) return db
default_values = { 'user': lambda: session.auth.user.id, 'date': lambda: request.now } validation = { 'text': {'presence': True} } form_rw = { 'user': False, 'post': False, 'date': False } #: init db and auth db = DAL(app) auth = Auth(app, db, usermodel=User) db.define_models(Post, Comment) #: setup helping function def setup_admin(): # create the user user = db.User.validate_and_insert( email="*****@*****.**", first_name="Walter", last_name="Bishop", password="******" ) # create an admin group admins = auth.add_group("admin")
default=lambda: session.auth.user.id), Field("post", "reference posts"), Field("text", "text"), Field("date", "datetime", default=lambda: request.now) ] visibility = { "author": (False, False), "post": (False, False), "date": (False, False) } validators = { "text": isntEmpty() } #: init db and auth db = DAL(app) auth = Auth(app, db, usermodel=User) db.define_models([Post, Comment]) #: setup helping function def setup(): # create the user user = db.User.validate_and_insert( email="*****@*****.**", first_name="Walter", last_name="Bishop", password="******" ) # create an admin group admins = auth.add_group("admin")
def db(): app = App(__name__) db = DAL(app) db.define_models([TModel]) return db