aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_migrate_versions_018_add_sourcestampset.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_migrate_versions_018_add_sourcestampset.py')
-rw-r--r--lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_migrate_versions_018_add_sourcestampset.py234
1 files changed, 0 insertions, 234 deletions
diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_migrate_versions_018_add_sourcestampset.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_migrate_versions_018_add_sourcestampset.py
deleted file mode 100644
index 790bf1ac..00000000
--- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_migrate_versions_018_add_sourcestampset.py
+++ /dev/null
@@ -1,234 +0,0 @@
-# This file is part of Buildbot. Buildbot is free software: you can
-# redistribute it and/or modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation, version 2.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Copyright Buildbot Team Members
-
-import sqlalchemy as sa
-from sqlalchemy.engine import reflection
-from twisted.python import log
-from twisted.trial import unittest
-from buildbot.test.util import migration
-
-class Migration(migration.MigrateTestMixin, unittest.TestCase):
-
- def setUp(self):
- return self.setUpMigrateTest()
-
- def tearDown(self):
- return self.tearDownMigrateTest()
-
- def create_tables_thd(self, conn):
- metadata = sa.MetaData()
- metadata.bind = conn
-
- self.buildsets = sa.Table('buildsets', metadata,
- sa.Column('id', sa.Integer, primary_key=True),
- sa.Column('external_idstring', sa.String(256)),
- sa.Column('reason', sa.String(256)),
- sa.Column('sourcestampid', sa.Integer,
- nullable=False), # NOTE: foreign key omitted
- sa.Column('submitted_at', sa.Integer, nullable=False),
- sa.Column('complete', sa.SmallInteger, nullable=False,
- server_default=sa.DefaultClause("0")),
- sa.Column('complete_at', sa.Integer),
- sa.Column('results', sa.SmallInteger),
- )
- self.buildsets.create(bind=conn)
- sa.Index('buildsets_complete', self.buildsets.c.complete).create()
- sa.Index('buildsets_submitted_at', self.buildsets.c.submitted_at).create()
-
- self.patches = sa.Table('patches', metadata,
- sa.Column('id', sa.Integer, primary_key=True),
- sa.Column('patchlevel', sa.Integer, nullable=False),
- sa.Column('patch_base64', sa.Text, nullable=False),
- sa.Column('patch_author', sa.Text, nullable=False),
- sa.Column('patch_comment', sa.Text, nullable=False),
- sa.Column('subdir', sa.Text),
- )
- self.patches.create(bind=conn)
-
- self.sourcestamps = sa.Table('sourcestamps', metadata,
- sa.Column('id', sa.Integer, primary_key=True),
- sa.Column('branch', sa.String(256)),
- sa.Column('revision', sa.String(256)),
- sa.Column('patchid', sa.Integer, sa.ForeignKey('patches.id')),
- sa.Column('repository', sa.String(length=512), nullable=False, server_default=''),
- sa.Column('project', sa.String(length=512), nullable=False, server_default=''),
- sa.Column('sourcestampid', sa.Integer, sa.ForeignKey('sourcestamps.id')),
- )
- self.sourcestamps.create(bind=conn)
-
- def fill_tables_with_testdata(self, conn, testdata):
- for bsid, ssid in testdata:
- self.insert_buildset_sourcestamp(conn, bsid, ssid)
-
- def insert_buildset_sourcestamp(self, conn, bsid, sourcestampid):
- conn.execute(self.buildsets.insert(),
- id=bsid,
- externalid_string='',
- reason = 'just',
- sourcestampid=sourcestampid,
- submitted_at=22417200,
- complete = 0,
- complete_at=22417200,
- results=0)
- conn.execute(self.sourcestamps.insert(),
- id=sourcestampid,
- branch='this_branch',
- revision='this_revision',
- patchid = None,
- repository='repo_a',
- project='')
-
- def assertBuildsetSourceStamp_thd(self, conn, exp_buildsets=[],
- exp_sourcestamps=[]):
- metadata = sa.MetaData()
- metadata.bind = conn
- tbl = sa.Table('buildsets', metadata, autoload=True)
- res = conn.execute(sa.select([tbl.c.id, tbl.c.sourcestampsetid], order_by=tbl.c.id))
- got_buildsets = res.fetchall()
-
- tbl = sa.Table('sourcestamps', metadata, autoload=True)
- res = conn.execute(sa.select([tbl.c.id, tbl.c.sourcestampsetid],
- order_by=[tbl.c.sourcestampsetid, tbl.c.id]))
- got_sourcestamps = res.fetchall()
-
- self.assertEqual(
- dict(buildsets=exp_buildsets, sourcestamps=exp_sourcestamps),
- dict(buildsets=got_buildsets, sourcestamps=got_sourcestamps))
-
- # tests
-
- def thd_assertForeignKeys(self, conn, exp, with_constrained_columns=[]):
- # MySQL does not reflect or use foreign keys, so we can't check..
- if conn.dialect.name == 'mysql':
- return
-
- insp = reflection.Inspector.from_engine(conn)
- fks = orig_fks = insp.get_foreign_keys('buildsets')
-
- # filter out constraints including all of the given columns
- with_constrained_columns = set(with_constrained_columns)
- fks = sorted([ fk
- for fk in fks
- if not with_constrained_columns - set(fk['constrained_columns'])
- ])
-
- # clean up
- for fk in fks:
- del fk['name'] # schema dependent
- del fk['referred_schema'] # idem
-
- # finally, assert
- if fks != exp:
- log.msg("got: %r" % (orig_fks,))
- self.assertEqual(fks, exp)
-
- def test_1_buildsets(self):
- buildsetdata = [(10, 100),(20, 200),(30, 300)]
- def setup_thd(conn):
- self.create_tables_thd(conn)
- self.fill_tables_with_testdata(conn, buildsetdata)
-
- def verify_thd(conn):
- metadata = sa.MetaData()
- metadata.bind = conn
- tbl = sa.Table('buildsets', metadata, autoload=True)
- self.assertTrue(hasattr(tbl.c, 'sourcestampsetid'))
-
- self.thd_assertForeignKeys(conn, [ {
- 'constrained_columns':['sourcestampsetid'],
- 'referred_table':'sourcestampsets',
- 'referred_columns':['id']},
- ], with_constrained_columns=['sourcestampsetid'])
-
- res = conn.execute(sa.select([tbl.c.id, tbl.c.sourcestampsetid], order_by=tbl.c.id))
- got_buildsets = res.fetchall()
- self.assertEqual(got_buildsets, buildsetdata)
-
- return self.do_test_migration(17, 18, setup_thd, verify_thd)
-
- def test_2_sourcestamp(self):
- buildsetdata = [(10, 100),(20, 200),(30, 300)]
- sourcestampdata = [ (ssid, ssid) for bsid, ssid in buildsetdata ]
- def setup_thd(conn):
- self.create_tables_thd(conn)
- self.fill_tables_with_testdata(conn, buildsetdata)
-
- def verify_thd(conn):
- metadata = sa.MetaData()
- metadata.bind = conn
- tbl = sa.Table('sourcestamps', metadata, autoload=True)
- self.assertTrue(hasattr(tbl.c, 'sourcestampsetid'))
-
- self.thd_assertForeignKeys(conn, [ {
- 'constrained_columns':['sourcestampsetid'],
- 'referred_table':'sourcestampsets',
- 'referred_columns':['id']},
- ], with_constrained_columns=['sourcestampsetid'])
-
- res = conn.execute(sa.select([tbl.c.id, tbl.c.sourcestampsetid],
- order_by=[tbl.c.sourcestampsetid, tbl.c.id]))
- got_sourcestamps = res.fetchall()
- self.assertEqual(got_sourcestamps, sourcestampdata)
-
- return self.do_test_migration(17, 18, setup_thd, verify_thd)
-
- def test_3_sourcestampset(self):
- buildsetdata = [(10, 100),(20, 200),(30, 300)]
- sourcestampsetdata = [ (ssid,) for bsid, ssid in buildsetdata ]
- def setup_thd(conn):
- self.create_tables_thd(conn)
- self.fill_tables_with_testdata(conn, buildsetdata)
-
- def verify_thd(conn):
- metadata = sa.MetaData()
- metadata.bind = conn
- tbl = sa.Table('sourcestampsets', metadata, autoload=True)
- self.assertTrue(hasattr(tbl.c, 'id'))
- res = conn.execute(sa.select([tbl.c.id],order_by=[tbl.c.id]))
- got_sourcestampsets = res.fetchall()
- self.assertEqual(got_sourcestampsets, sourcestampsetdata)
-
- return self.do_test_migration(17, 18, setup_thd, verify_thd)
-
- def test_4_integrated_migration(self):
- buildsetdata = [(10, 100),(20, 200),(30, 300)]
- sourcestampdata = [ (ssid, ssid) for bsid, ssid in buildsetdata ]
- sourcestampsetdata = [ (ssid,) for bsid, ssid in buildsetdata ]
- def setup_thd(conn):
- self.create_tables_thd(conn)
- self.fill_tables_with_testdata(conn, buildsetdata)
-
- def verify_thd(conn):
- metadata = sa.MetaData()
- metadata.bind = conn
- # Test for the buildsets
- tbl = sa.Table('buildsets', metadata, autoload=True)
- res = conn.execute(sa.select([tbl.c.id, tbl.c.sourcestampsetid], order_by=tbl.c.id))
- got_buildsets = res.fetchall()
- self.assertEqual(got_buildsets, buildsetdata)
-
- # Test for the sourcestamps
- tbl = sa.Table('sourcestamps', metadata, autoload=True)
- res = conn.execute(sa.select([tbl.c.id, tbl.c.sourcestampsetid],
- order_by=[tbl.c.sourcestampsetid, tbl.c.id]))
- got_sourcestamps = res.fetchall()
- self.assertEqual(got_sourcestamps, sourcestampdata)
-
- tbl = sa.Table('sourcestampsets', metadata, autoload=True)
- res = conn.execute(sa.select([tbl.c.id],order_by=[tbl.c.id]))
- got_sourcestampsets = res.fetchall()
- self.assertEqual(got_sourcestampsets, sourcestampsetdata)
-
- return self.do_test_migration(17, 18, setup_thd, verify_thd)