예제 #1
0
파일: sqla.py 프로젝트: vlaght/iktomi
    def test_create_drop_tables_single_meta(self):
        Base = declarative_base()

        class A(Base):
            __tablename__ = 'A'
            id = Column(Integer, primary_key=True)

        engine = create_engine('sqlite://')
        cli = Sqla(orm.sessionmaker(bind=engine), metadata=Base.metadata)

        for verbose in [False, True]:

            cli.command_create_tables(verbose=verbose)
            self.assertTrue(engine.has_table('A'))
            with mock.patch.object(sys.stdin, 'readline', return_value='n'):
                try:
                    cli.command_drop_tables()
                except SystemExit:
                    pass
            self.assertTrue(engine.has_table('A'))

            with mock.patch.object(sys.stdin, 'readline', return_value='y'):
                cli.command_drop_tables()
            self.assertFalse(engine.has_table('A'))
예제 #2
0
파일: sqla.py 프로젝트: oas89/iktomi
    def test_create_drop_tables_single_meta(self):
        Base = declarative_base()

        class A(Base):
            __tablename__ = 'A'
            id = Column(Integer, primary_key=True)

        engine = create_engine('sqlite://')
        cli = Sqla(orm.sessionmaker(bind=engine), metadata=Base.metadata)

        for verbose in [False, True]:

            cli.command_create_tables(verbose=verbose)
            self.assertTrue(engine.has_table('A'))
            with mock.patch.object(sys.stdin, 'readline', return_value='n'):
                try:
                    cli.command_drop_tables()
                except SystemExit:
                    pass
            self.assertTrue(engine.has_table('A'))

            with mock.patch.object(sys.stdin, 'readline', return_value='y'):
                cli.command_drop_tables()
            self.assertFalse(engine.has_table('A'))
예제 #3
0
파일: sqla.py 프로젝트: vlaght/iktomi
    def test_create_drop_tables_several_meta(self):
        Base1 = declarative_base()

        class A1(Base1):
            __tablename__ = 'A'
            id = Column(Integer, primary_key=True)

        Base2 = declarative_base()

        class A2(Base2):
            __tablename__ = 'A'
            id = Column(Integer, primary_key=True)

        engine1 = create_engine('sqlite://')
        engine2 = create_engine('sqlite://')
        binds = {
            A1.__table__: engine1,
            A2.__table__: engine2,
        }
        meta = {
            'm1': Base1.metadata,
            'm2': Base2.metadata,
            'm3': MetaData(),
        }
        cli = Sqla(orm.sessionmaker(binds=binds), metadata=meta)

        for verbose in [False, True]:

            cli.command_create_tables(verbose=verbose)
            self.assertTrue(engine1.has_table('A'))
            self.assertTrue(engine2.has_table('A'))

            with mock.patch.object(sys.stdin, 'readline', return_value='y'):
                cli.command_drop_tables('m1')
            self.assertFalse(engine1.has_table('A'))
            self.assertTrue(engine2.has_table('A'))

            with mock.patch.object(sys.stdin, 'readline', return_value='y'):
                cli.command_drop_tables()
            self.assertFalse(engine1.has_table('A'))
            self.assertFalse(engine2.has_table('A'))

            cli.command_create_tables('m1', verbose=verbose)
            self.assertTrue(engine1.has_table('A'))
            self.assertFalse(engine2.has_table('A'))

            with mock.patch.object(sys.stdin, 'readline', return_value='y'):
                cli.command_drop_tables()
            self.assertFalse(engine1.has_table('A'))
            self.assertFalse(engine2.has_table('A'))

            cli.command_create_tables('m3', verbose=verbose)
            self.assertFalse(engine1.has_table('A'))
            self.assertFalse(engine2.has_table('A'))
예제 #4
0
파일: sqla.py 프로젝트: oas89/iktomi
    def test_create_drop_tables_several_meta(self):
        Base1 = declarative_base()

        class A1(Base1):
            __tablename__ = 'A'
            id = Column(Integer, primary_key=True)

        Base2 = declarative_base()

        class A2(Base2):
            __tablename__ = 'A'
            id = Column(Integer, primary_key=True)

        engine1 = create_engine('sqlite://')
        engine2 = create_engine('sqlite://')
        binds = {
            A1.__table__: engine1,
            A2.__table__: engine2,
        }
        meta = {
            'm1': Base1.metadata,
            'm2': Base2.metadata,
            'm3': MetaData(),
        }
        cli = Sqla(orm.sessionmaker(binds=binds), metadata=meta)

        for verbose in [False, True]:

            cli.command_create_tables(verbose=verbose)
            self.assertTrue(engine1.has_table('A'))
            self.assertTrue(engine2.has_table('A'))

            with mock.patch.object(sys.stdin, 'readline', return_value='y'):
                cli.command_drop_tables('m1')
            self.assertFalse(engine1.has_table('A'))
            self.assertTrue(engine2.has_table('A'))

            with mock.patch.object(sys.stdin, 'readline', return_value='y'):
                cli.command_drop_tables()
            self.assertFalse(engine1.has_table('A'))
            self.assertFalse(engine2.has_table('A'))

            cli.command_create_tables('m1', verbose=verbose)
            self.assertTrue(engine1.has_table('A'))
            self.assertFalse(engine2.has_table('A'))

            with mock.patch.object(sys.stdin, 'readline', return_value='y'):
                cli.command_drop_tables()
            self.assertFalse(engine1.has_table('A'))
            self.assertFalse(engine2.has_table('A'))

            cli.command_create_tables('m3', verbose=verbose)
            self.assertFalse(engine1.has_table('A'))
            self.assertFalse(engine2.has_table('A'))
예제 #5
0
파일: sqla.py 프로젝트: SmartTeleMax/iktomi
    def test_create_drop_tables_several_meta(self):
        Base1 = declarative_base()

        class A1(Base1):
            __tablename__ = "A"
            id = Column(Integer, primary_key=True)

        Base2 = declarative_base()

        class A2(Base2):
            __tablename__ = "A"
            id = Column(Integer, primary_key=True)

        engine1 = create_engine("sqlite://")
        engine2 = create_engine("sqlite://")
        binds = {A1.__table__: engine1, A2.__table__: engine2}
        meta = {"m1": Base1.metadata, "m2": Base2.metadata, "m3": MetaData()}
        cli = Sqla(orm.sessionmaker(binds=binds), metadata=meta)

        for verbose in [False, True]:

            cli.command_create_tables(verbose=verbose)
            self.assertTrue(engine1.has_table("A"))
            self.assertTrue(engine2.has_table("A"))

            with mock.patch.object(sys.stdin, "readline", return_value="y"):
                cli.command_drop_tables("m1")
            self.assertFalse(engine1.has_table("A"))
            self.assertTrue(engine2.has_table("A"))

            with mock.patch.object(sys.stdin, "readline", return_value="y"):
                cli.command_drop_tables()
            self.assertFalse(engine1.has_table("A"))
            self.assertFalse(engine2.has_table("A"))

            cli.command_create_tables("m1", verbose=verbose)
            self.assertTrue(engine1.has_table("A"))
            self.assertFalse(engine2.has_table("A"))

            with mock.patch.object(sys.stdin, "readline", return_value="y"):
                cli.command_drop_tables()
            self.assertFalse(engine1.has_table("A"))
            self.assertFalse(engine2.has_table("A"))

            cli.command_create_tables("m3", verbose=verbose)
            self.assertFalse(engine1.has_table("A"))
            self.assertFalse(engine2.has_table("A"))