Exemplo n.º 1
0
 def test(self):
     self.writer = MigrationWriter([], self.db_prev, self.db_next)
     s = self.writer.as_string()
     dic = {}
     exec(s, dic)
     self.assertEqual(str(dic['operations']),
                      "[op.RemoveRelation('Post', 'tags')]")
Exemplo n.º 2
0
 def test_ops(self):
     self.writer = MigrationWriter([], self.db_prev, self.db_next)
     s = self.writer.as_string()
     dic = {}
     exec(s, dic)
     self.assertEqual(
         str(dic['operations']),
         "[op.AddRelation('Post', 'tags', orm.Set('Tag'), 'posts', orm.Set('Post'))]",
     )
Exemplo n.º 3
0
 def test(self):
     self.writer = MigrationWriter([], self.db_prev, self.db_next)
     s = self.writer.as_string()
     self.assertTrue("from pony.migrate import diagram_ops as op" in s)
     dic = {}
     exec(s, dic)
     self.assertEqual(
         str(dic['operations']),
         "[op.ModifyRelation('Post', 'tags', 'tags', orm.Set('Tag'), 'posts', orm.Set('Post'))]"
     )
Exemplo n.º 4
0
    def test_initial(self):
        self.writer = MigrationWriter([], self.db_prev, self.db_next)
        s = self.writer.as_string()

        part = textwrap.dedent('''\
        def define_entities(db):
            class Post(db.Entity):
                tags = orm.Set('Tag')


            class Tag(db.Entity):
                posts = orm.Set('Post')''')

        self.assertTrue(part in s)
Exemplo n.º 5
0
class TestWriter(unittest.TestCase):
    @cached_property
    def db_next(self):
        db_args, db_kwargs = self.db_params
        db = orm.Database(*db_args, **db_kwargs)

        class Data(db.Entity):
            number = orm.Required(int)

        return db

    @cached_property
    def db_prev(self):
        db_args, db_kwargs = self.db_params
        db = orm.Database(*db_args, **db_kwargs)

        class Data(db.Entity):
            number = orm.Optional(int)
            created = orm.Required(datetime)
            int = orm.Required(int)

        return db

    def test(self):
        self.writer = MigrationWriter([], self.db_prev, self.db_next)
        s = self.writer.as_string()
        dic = {}
        exec(s, dic)
        self.assertTrue(dic['operations'])
Exemplo n.º 6
0
class TestInitial(unittest.TestCase):
    @cached_property
    def db_next(self):
        db_args, db_kwargs = self.db_params
        db = orm.orm.Database(*db_args, **db_kwargs)

        class Post(db.Entity):
            tags = orm.Set('Tag')

        class Tag(db.Entity):
            posts = orm.Set('Post')

        db.generate_mapping(create_tables=False, check_tables=False)
        return db

    db_prev = None

    def test_initial(self):
        self.writer = MigrationWriter([], self.db_prev, self.db_next)
        s = self.writer.as_string()

        part = textwrap.dedent('''\
        def define_entities(db):
            class Post(db.Entity):
                tags = orm.Set('Tag')


            class Tag(db.Entity):
                posts = orm.Set('Post')''')

        self.assertTrue(part in s)
Exemplo n.º 7
0
class TestWriterRelated(unittest.TestCase):
    @cached_property
    def db_next(self):
        db_args, db_kwargs = self.db_params
        db = orm.Database(*db_args, **db_kwargs)

        class Post(db.Entity):
            tags = orm.Set('Tag')

        class Tag(db.Entity):
            posts = orm.Set('Post')

        db.generate_mapping(create_tables=False, check_tables=False)
        return db

    @cached_property
    def db_prev(self):
        db_args, db_kwargs = self.db_params
        db = orm.Database(*db_args, **db_kwargs)

        class Post(db.Entity):
            tags = orm.Set('Tag')

        class Tag(db.Entity):
            posts = orm.Required('Post')

        db.generate_mapping(create_tables=False, check_tables=False)
        return db

    def test(self):
        self.writer = MigrationWriter([], self.db_prev, self.db_next)
        s = self.writer.as_string()
        self.assertTrue("from pony.migrate import diagram_ops as op" in s)
        dic = {}
        exec(s, dic)
        self.assertEqual(
            str(dic['operations']),
            "[op.ModifyRelation('Post', 'tags', 'tags', orm.Set('Tag'), 'posts', orm.Set('Post'))]"
        )
Exemplo n.º 8
0
class TestAdd(unittest.TestCase):
    @cached_property
    def db_next(self):
        db_args, db_kwargs = self.db_params
        db = orm.Database(*db_args, **db_kwargs)

        class Post(db.Entity):
            tags = orm.Set('Tag')

        class Tag(db.Entity):
            posts = orm.Set('Post')

        db.generate_mapping(create_tables=False, check_tables=False)
        return db

    @cached_property
    def db_prev(self):
        db_args, db_kwargs = self.db_params
        db = orm.Database(*db_args, **db_kwargs)

        class Post(db.Entity):
            pass

        class Tag(db.Entity):
            pass

        db.generate_mapping(create_tables=False, check_tables=False)
        return db

    def test_ops(self):
        self.writer = MigrationWriter([], self.db_prev, self.db_next)
        s = self.writer.as_string()
        dic = {}
        exec(s, dic)
        self.assertEqual(
            str(dic['operations']),
            "[op.AddRelation('Post', 'tags', orm.Set('Tag'), 'posts', orm.Set('Post'))]",
        )
Exemplo n.º 9
0
 def test(self):
     self.writer = MigrationWriter([], self.db_prev, self.db_next)
     s = self.writer.as_string()
     dic = {}
     exec(s, dic)
     self.assertTrue(dic['operations'])