def _check_003(self, engine, data):
        self.assertColumnExists(engine, 'subscribers', 'disabled')
        table = db_utils.get_table(engine, 'subscribers')

        subscribers = table.select().where(
            table.c.disabled != True).execute().fetchall()  # flake8: noqa
        self.assertEqual(len(subscribers), 1)
    def _check_007(self, engine, data):
        self.assertColumnExists(engine, 'domains', 'disabled')
        table = db_utils.get_table(engine, 'domains')

        domains = table.select(
            table.c.disabled != True).execute().fetchall()  #flake8: noqa
        self.assertEqual(len(domains), 1)
    def _check_008(self, engine, data):
        self.assertColumnExists(engine, 'subscribers', 'description')
        table = db_utils.get_table(engine, 'subscribers')

        self.assertIsInstance(
            table.c.description.type, sqlalchemy.types.String)

        subscribers = table.select().where(
            table.c.description == '').execute().fetchall()  #flake8: noqa
        self.assertEqual(len(subscribers), 1)
    def _pre_upgrade_005(self, engine):
        data = {
            'name': 'example.org',
            'project_id': 'project1',
            'user_id': 'user1',
            'uuid': 'd2901cc09db24ee5a8d2aa241c457b17',
        }
        table = db_utils.get_table(engine, 'domains')
        engine.execute(table.insert(), data)

        return data
    def _pre_upgrade_003(self, engine):
        data = {
            'email_address': '*****@*****.**',
            'domain': 'example.org',
            'ha1': '84ed3e3a76703c1044da21c8609334a2',
            'ha1b': '2dc0ac0e03670d8474db6b1e62df8fd1',
            'password': '******',
            'project_id': 'project1',
            'user_id': 'user1',
            'username': '******',
            'uuid': '5aedf7195c084e7a9ee0890cab045996',
        }
        table = db_utils.get_table(engine, 'subscribers')
        engine.execute(table.insert(), data)

        return data
    def _check_004(self, engine, data):
        table = db_utils.get_table(engine, 'domains')

        cols = [
            'id', 'created_at', 'name', 'project_id', 'updated_at', 'user_id',
            'uuid']

        for c in cols:
            self.assertIn(c, table.c)

        insert = table.insert()

        dupe_id = dict(
            id=1, name='example.org')

        insert.execute(dupe_id)
        self.assertRaises(exc.IntegrityError, insert.execute, dupe_id)

        del dupe_id['id']
        self.assertRaises(exc.IntegrityError, insert.execute, dupe_id)
    def _check_001(self, engine, data):
        subscriber = db_utils.get_table(engine, 'subscriber')

        cols = [
            'id', 'created_at', 'domain', 'email_address', 'ha1', 'ha1b',
            'password', 'project_id', 'rpid', 'updated_at', 'user_id',
            'username', 'uuid']

        for c in cols:
            self.assertIn(c, subscriber.c)

        insert = subscriber.insert()

        dupe_id = dict(
            id=1, email_address='*****@*****.**', domain='example.org',
            ha1='foo', ha1b='bar', password='******', username='******')

        insert.execute(dupe_id)
        self.assertRaises(exc.IntegrityError, insert.execute, dupe_id)

        del dupe_id['id']
        self.assertRaises(exc.IntegrityError, insert.execute, dupe_id)
    def _post_downgrade_005(self, engine):
        self.assertColumnExists(engine, 'subscribers', 'domain')
        self.assertColumnNotExists(engine, 'subscribers', 'domain_id')
        self.assertIndexNotExists(engine, 'domains', 'uuid')

        table = db_utils.get_table(engine, 'subscribers')
        subscriber = table.select().\
            where(table.c.username == 'alice').\
            where(table.c.domain == 'example.org').\
            execute().fetchone()
        self.assertEqual(subscriber.uuid, '5aedf7195c084e7a9ee0890cab045996')

        insert = table.insert()
        data = dict(
            email_address='*****@*****.**',
            domain='example.org',
            ha1='84ed3e3a76703c1044da21c8609334a2',
            ha1b='2dc0ac0e03670d8474db6b1e62df8fd1',
            password='******',
            project_id='project1',
            user_id='user1',
            username='******')

        self.assertRaises(exc.IntegrityError, insert.execute, data)
 def assertIndexNotExists(self, engine, table, index):
     t = db_utils.get_table(engine, table)
     index_names = [idx.name for idx in t.indexes]
     self.assertNotIn(index, index_names)
示例#10
0
 def assertColumnNotExists(self, engine, table, column):
     t = db_utils.get_table(engine, table)
     self.assertNotIn(column, t.c)