def test_2(self): p = os.path.join('migrations', '0002.py') with open(p, 'w') as f: f.write('''\ from pony import orm dependencies = ['0001_initial'] def define_entities(db): class A(db.Entity): name = orm.Required(str) peers2_B = orm.Set('B', reverse='peered2_A') peered2_B = orm.Set('B', reverse='peers2_A') class B(db.Entity): name = orm.Required(str) peers2_A = orm.Set('A', reverse='peered2_B') peered2_A = orm.Set('A', reverse='peers2_B') ''') s = invoke(command.migrate, ['apply', '-v']) define_entities = run_path(p)['define_entities'] p = 'entities.py' db = run_path(p)['db'] with ExitStack() as stack: stack.callback(db.disconnect) db = migration.reconstruct_db(db) stack.callback(db.disconnect) define_entities(db) db.generate_mapping(create_tables=False) with orm.db_session: self.assertEqual(list(db.A.get(name='a1').peered2_B), [])
def set_questioner(test, Questioner=Questioner): with ExitStack() as stack: stack.enter_context( patch('pony.migrate.writer.InteractiveMigrationQuestioner', Questioner)) stack.enter_context( patch('pony.migrate.command.InteractiveMigrationQuestioner', Questioner)) yield
def test_2insert(self): db = self.DB with ExitStack() as stack: stack.callback(db.disconnect) stack.enter_context(orm.db_session) db.Data(label='label') labels = orm.select(d.label for d in db.Data)[:] self.assertEqual(labels, ['label'])
def patches(test): with ExitStack() as stack: stack.enter_context(patch( 'pony.migrate.writer.InteractiveMigrationQuestioner', TestQuestioner )) stack.enter_context(patch( 'pony.migrate.command.InteractiveMigrationQuestioner', TestQuestioner )) yield
def __call__(self, *args): class Questioner(questioner.InteractiveMigrationQuestioner): def ask_rename(self, model_name, old_name, new_name): return False def ask_rename_model(self, old_name, new_name): return False with ExitStack() as stack: stack.enter_context( patch('pony.migrate.writer.InteractiveMigrationQuestioner', Questioner)) stack.enter_context( patch('pony.migrate.command.InteractiveMigrationQuestioner', Questioner)) return unittest.TestCase.__call__(self, *args)
def __enter__(self): with ExitStack() as stack: try: db = self.Test.db except AttributeError: return stack.callback(db.disconnect) stack.enter_context(db_session) if db.provider.dialect != 'Oracle': return c = db.execute('select sequence_name from user_sequences') li = c.fetchall() for name, in li: if name == 'MIGRATION_SEQ': continue db.execute('DROP SEQUENCE {}'.format(name))
def test_1(self): p = os.path.join('migrations', '0001_initial.py') with open(p, 'w') as f: f.write('''\ from pony import orm dependencies = [] def define_entities(db): class A(db.Entity): name = orm.Required(str) peers1_B = orm.Set('B', reverse='peered1_A') peered1_B = orm.Set('B', reverse='peers1_A') peers2_B = orm.Set('B', reverse='peered2_A') peered2_B = orm.Set('B', reverse='peers2_A') class B(db.Entity): name = orm.Required(str) peers1_A = orm.Set('A', reverse='peered1_B') peered1_A = orm.Set('A', reverse='peers1_B') peers2_A = orm.Set('A', reverse='peered2_B') peered2_A = orm.Set('A', reverse='peers2_B') ''') s = invoke(command.migrate, ['apply', '-v']) define_entities = run_path(p)['define_entities'] p = 'entities.py' db = run_path(p)['db'] with ExitStack() as stack: stack.callback(db.disconnect) db = migration.reconstruct_db(db) stack.callback(db.disconnect) define_entities(db) db.generate_mapping(create_tables=False) stack.enter_context(orm.db_session) a1 = db.A(name='a1') a2 = db.A(name='a2') b1 = db.B(name='b1', peers1_A=[a1]) b2 = db.B(name='b2', peers2_A=[a2]) assert not list(db.A.get(name='a1').peered2_B)
def test1(self): db = self.DB with ExitStack() as stack: stack.callback(db.disconnect) db.generate_mapping(create_tables=True, check_tables=True)
def test1(self): with ExitStack() as stack: db = self.DB stack.callback(db.disconnect) stack.enter_context(orm.db_session) db.Data(created=datetime.now())
def get_cmd_exitstack(_stack=ExitStack()): return _stack
def __init__(self, Test): self.Test = Test self.Test.exitstack = ExitStack()