aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_buildsets.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_buildsets.py')
-rw-r--r--lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_buildsets.py430
1 files changed, 0 insertions, 430 deletions
diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_buildsets.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_buildsets.py
deleted file mode 100644
index 714a7ab0..00000000
--- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_buildsets.py
+++ /dev/null
@@ -1,430 +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 datetime
-from twisted.trial import unittest
-from twisted.internet import defer, task
-from buildbot.db import buildsets
-from buildbot.util import json, UTC, epoch2datetime
-from buildbot.test.util import connector_component
-from buildbot.test.fake import fakedb
-
-class TestBuildsetsConnectorComponent(
- connector_component.ConnectorComponentMixin,
- unittest.TestCase):
-
- def setUp(self):
- self.now = 9272359
- self.clock = task.Clock()
- self.clock.advance(self.now)
-
- d = self.setUpConnectorComponent(
- table_names=[ 'patches', 'changes', 'sourcestamp_changes',
- 'buildsets', 'buildset_properties', 'objects',
- 'buildrequests', 'sourcestamps', 'sourcestampsets' ])
-
- def finish_setup(_):
- self.db.buildsets = buildsets.BuildsetsConnectorComponent(self.db)
- d.addCallback(finish_setup)
-
- # set up a sourcestamp with id 234 for use below
- d.addCallback(lambda _ :
- self.insertTestData([
- fakedb.SourceStampSet(id=234),
- fakedb.SourceStamp(id=234, sourcestampsetid=234),
- ]))
-
- return d
-
- def tearDown(self):
- return self.tearDownConnectorComponent()
-
- # tests
-
- def test_addBuildset_simple(self):
- d = defer.succeed(None)
- d.addCallback(lambda _ :
- self.db.buildsets.addBuildset(sourcestampsetid=234, reason='because',
- properties={}, builderNames=['bldr'], external_idstring='extid',
- _reactor=self.clock))
- def check((bsid, brids)):
- def thd(conn):
- # we should only have one brid
- self.assertEqual(len(brids), 1)
-
- # should see one buildset row
- r = conn.execute(self.db.model.buildsets.select())
- rows = [ (row.id, row.external_idstring, row.reason,
- row.sourcestampsetid, row.complete, row.complete_at,
- row.submitted_at, row.results) for row in r.fetchall() ]
- self.assertEqual(rows,
- [ ( bsid, 'extid', 'because', 234, 0, None, self.now, -1) ])
-
- # and one buildrequests row
- r = conn.execute(self.db.model.buildrequests.select())
-
- rows = [ (row.buildsetid, row.id, row.buildername,
- row.priority, row.complete, row.results,
- row.submitted_at, row.complete_at)
- for row in r.fetchall() ]
- self.assertEqual(rows,
- [ ( bsid, brids['bldr'], 'bldr', 0, 0,
- -1, self.now, None) ])
- return self.db.pool.do(thd)
- d.addCallback(check)
- return d
-
- def test_addBuildset_bigger(self):
- props = dict(prop=(['list'], 'test'))
- d = defer.succeed(None)
- d.addCallback(lambda _ :
- self.db.buildsets.addBuildset(sourcestampsetid=234, reason='because',
- properties=props, builderNames=['a', 'b']))
- def check((bsid, brids)):
- def thd(conn):
- self.assertEqual(len(brids), 2)
-
- # should see one buildset row
- r = conn.execute(self.db.model.buildsets.select())
- rows = [ (row.id, row.external_idstring, row.reason,
- row.sourcestampsetid, row.complete,
- row.complete_at, row.results)
- for row in r.fetchall() ]
- self.assertEqual(rows,
- [ ( bsid, None, u'because', 234, 0, None, -1) ])
-
- # one property row
- r = conn.execute(self.db.model.buildset_properties.select())
- rows = [ (row.buildsetid, row.property_name, row.property_value)
- for row in r.fetchall() ]
- self.assertEqual(rows,
- [ ( bsid, 'prop', json.dumps([ ['list'], 'test' ]) ) ])
-
- # and two buildrequests rows (and don't re-check the default columns)
- r = conn.execute(self.db.model.buildrequests.select())
- rows = [ (row.buildsetid, row.id, row.buildername)
- for row in r.fetchall() ]
-
- # we don't know which of the brids is assigned to which
- # buildername, but either one will do
- self.assertEqual(sorted(rows),
- [ ( bsid, brids['a'], 'a'), (bsid, brids['b'], 'b') ])
- return self.db.pool.do(thd)
- d.addCallback(check)
- return d
-
- def do_test_getBuildsetProperties(self, buildsetid, rows, expected):
- d = self.insertTestData(rows)
- d.addCallback(lambda _ :
- self.db.buildsets.getBuildsetProperties(buildsetid))
- def check(props):
- self.assertEqual(props, expected)
- d.addCallback(check)
- return d
-
- def test_getBuildsetProperties_multiple(self):
- return self.do_test_getBuildsetProperties(91, [
- fakedb.Buildset(id=91, sourcestampsetid=234, complete=0,
- results=-1, submitted_at=0),
- fakedb.BuildsetProperty(buildsetid=91, property_name='prop1',
- property_value='["one", "fake1"]'),
- fakedb.BuildsetProperty(buildsetid=91, property_name='prop2',
- property_value='["two", "fake2"]'),
- ], dict(prop1=("one", "fake1"), prop2=("two", "fake2")))
-
- def test_getBuildsetProperties_empty(self):
- return self.do_test_getBuildsetProperties(91, [
- fakedb.Buildset(id=91, sourcestampsetid=234, complete=0,
- results=-1, submitted_at=0),
- ], dict())
-
- def test_getBuildsetProperties_nosuch(self):
- "returns an empty dict even if no such buildset exists"
- return self.do_test_getBuildsetProperties(91, [], dict())
-
- def test_getBuildset_incomplete_None(self):
- d = self.insertTestData([
- fakedb.Buildset(id=91, sourcestampsetid=234, complete=0,
- complete_at=None, results=-1, submitted_at=266761875,
- external_idstring='extid', reason='rsn'),
- ])
- d.addCallback(lambda _ :
- self.db.buildsets.getBuildset(91))
- def check(bsdict):
- self.assertEqual(bsdict, dict(external_idstring='extid',
- reason='rsn', sourcestampsetid=234,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- complete=False, complete_at=None, results=-1,
- bsid=91))
- d.addCallback(check)
- return d
-
- def test_getBuildset_incomplete_zero(self):
- d = self.insertTestData([
- fakedb.Buildset(id=91, sourcestampsetid=234, complete=0,
- complete_at=0, results=-1, submitted_at=266761875,
- external_idstring='extid', reason='rsn'),
- ])
- d.addCallback(lambda _ :
- self.db.buildsets.getBuildset(91))
- def check(bsdict):
- self.assertEqual(bsdict, dict(external_idstring='extid',
- reason='rsn', sourcestampsetid=234,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- complete=False, complete_at=None, results=-1,
- bsid=91))
- d.addCallback(check)
- return d
-
- def test_getBuildset_complete(self):
- d = self.insertTestData([
- fakedb.Buildset(id=91, sourcestampsetid=234, complete=1,
- complete_at=298297875, results=-1, submitted_at=266761875,
- external_idstring='extid', reason='rsn'),
- ])
- d.addCallback(lambda _ :
- self.db.buildsets.getBuildset(91))
- def check(bsdict):
- self.assertEqual(bsdict, dict(external_idstring='extid',
- reason='rsn', sourcestampsetid=234,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- complete=True,
- complete_at=datetime.datetime(1979, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- results=-1,
- bsid=91))
- d.addCallback(check)
- return d
-
- def test_getBuildset_nosuch(self):
- d = self.db.buildsets.getBuildset(91)
- def check(bsdict):
- self.assertEqual(bsdict, None)
- d.addCallback(check)
- return d
-
- def insert_test_getBuildsets_data(self):
- return self.insertTestData([
- fakedb.Buildset(id=91, sourcestampsetid=234, complete=0,
- complete_at=298297875, results=-1, submitted_at=266761875,
- external_idstring='extid', reason='rsn1'),
- fakedb.Buildset(id=92, sourcestampsetid=234, complete=1,
- complete_at=298297876, results=7, submitted_at=266761876,
- external_idstring='extid', reason='rsn2'),
- ])
-
- def test_getBuildsets_empty(self):
- d = self.db.buildsets.getBuildsets()
- def check(bsdictlist):
- self.assertEqual(bsdictlist, [])
- d.addCallback(check)
- return d
-
- def test_getBuildsets_all(self):
- d = self.insert_test_getBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.getBuildsets())
- def check(bsdictlist):
- self.assertEqual(sorted(bsdictlist), sorted([
- dict(external_idstring='extid', reason='rsn1', sourcestampsetid=234,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- complete_at=datetime.datetime(1979, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- complete=False, results=-1, bsid=91),
- dict(external_idstring='extid', reason='rsn2', sourcestampsetid=234,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 16,
- tzinfo=UTC),
- complete_at=datetime.datetime(1979, 6, 15, 12, 31, 16,
- tzinfo=UTC),
- complete=True, results=7, bsid=92),
- ]))
- d.addCallback(check)
- return d
-
- def test_getBuildsets_complete(self):
- d = self.insert_test_getBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.getBuildsets(complete=True))
- def check(bsdictlist):
- self.assertEqual(bsdictlist, [
- dict(external_idstring='extid', reason='rsn2', sourcestampsetid=234,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 16,
- tzinfo=UTC),
- complete_at=datetime.datetime(1979, 6, 15, 12, 31, 16,
- tzinfo=UTC),
- complete=True, results=7, bsid=92),
- ])
- d.addCallback(check)
- return d
-
- def test_getBuildsets_incomplete(self):
- d = self.insert_test_getBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.getBuildsets(complete=False))
- def check(bsdictlist):
- self.assertEqual(bsdictlist, [
- dict(external_idstring='extid', reason='rsn1', sourcestampsetid=234,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- complete_at=datetime.datetime(1979, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- complete=False, results=-1, bsid=91),
- ])
- d.addCallback(check)
- return d
-
- def test_completeBuildset(self):
- d = self.insert_test_getBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.completeBuildset(bsid=91, results=6,
- _reactor=self.clock))
- def check(_):
- def thd(conn):
- # should see one buildset row
- r = conn.execute(self.db.model.buildsets.select())
- rows = [ (row.id, row.complete, row.complete_at, row.results)
- for row in r.fetchall() ]
- self.assertEqual(sorted(rows), sorted([
- ( 91, 1, self.now, 6),
- ( 92, 1, 298297876, 7) ]))
- return self.db.pool.do(thd)
- d.addCallback(check)
- return d
-
- def test_completeBuildset_explicit_complete_at(self):
- d = self.insert_test_getBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.completeBuildset(bsid=91, results=6,
- complete_at=epoch2datetime(72759)))
- def check(_):
- def thd(conn):
- # should see one buildset row
- r = conn.execute(self.db.model.buildsets.select())
- rows = [ (row.id, row.complete, row.complete_at, row.results)
- for row in r.fetchall() ]
- self.assertEqual(sorted(rows), sorted([
- ( 91, 1, 72759, 6),
- ( 92, 1, 298297876, 7) ]))
- return self.db.pool.do(thd)
- d.addCallback(check)
- return d
-
- def test_completeBuildset_already_completed(self):
- d = self.insert_test_getBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.completeBuildset(bsid=92, results=6,
- _reactor=self.clock))
- return self.assertFailure(d, KeyError)
-
- def test_completeBuildset_missing(self):
- d = self.insert_test_getBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.completeBuildset(bsid=93, results=6,
- _reactor=self.clock))
- return self.assertFailure(d, KeyError)
-
- def insert_test_getRecentBuildsets_data(self):
- return self.insertTestData([
- fakedb.SourceStamp(id=91, branch='branch_a', repository='repo_a',
- sourcestampsetid=91),
- fakedb.SourceStampSet(id=91),
-
- fakedb.Buildset(id=91, sourcestampsetid=91, complete=0,
- complete_at=298297875, results=-1, submitted_at=266761875,
- external_idstring='extid', reason='rsn1'),
- fakedb.Buildset(id=92, sourcestampsetid=91, complete=1,
- complete_at=298297876, results=7, submitted_at=266761876,
- external_idstring='extid', reason='rsn2'),
-
- # buildset unrelated to the change
- fakedb.SourceStampSet(id=1),
- fakedb.Buildset(id=93, sourcestampsetid=1, complete=1,
- complete_at=298297877, results=7, submitted_at=266761877,
- external_idstring='extid', reason='rsn2'),
- ])
-
- def test_getRecentBuildsets_all(self):
- d = self.insert_test_getRecentBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.getRecentBuildsets(2, branch='branch_a',
- repository='repo_a'))
- def check(bsdictlist):
- self.assertEqual(bsdictlist, [
- dict(external_idstring='extid', reason='rsn1', sourcestampsetid=91,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- complete_at=datetime.datetime(1979, 6, 15, 12, 31, 15,
- tzinfo=UTC),
- complete=False, results=-1, bsid=91),
- dict(external_idstring='extid', reason='rsn2', sourcestampsetid=91,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 16,
- tzinfo=UTC),
- complete_at=datetime.datetime(1979, 6, 15, 12, 31, 16,
- tzinfo=UTC),
- complete=True, results=7, bsid=92),
- ])
- d.addCallback(check)
- return d
-
- def test_getRecentBuildsets_one(self):
- d = self.insert_test_getRecentBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.getRecentBuildsets(1, branch='branch_a',
- repository='repo_a'))
- def check(bsdictlist):
- self.assertEqual(bsdictlist, [
- dict(external_idstring='extid', reason='rsn2', sourcestampsetid=91,
- submitted_at=datetime.datetime(1978, 6, 15, 12, 31, 16,
- tzinfo=UTC),
- complete_at=datetime.datetime(1979, 6, 15, 12, 31, 16,
- tzinfo=UTC),
- complete=True, results=7, bsid=92),
- ])
- d.addCallback(check)
- return d
-
- def test_getRecentBuildsets_zero(self):
- d = self.insert_test_getRecentBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.getRecentBuildsets(0, branch='branch_a',
- repository='repo_a'))
- def check(bsdictlist):
- self.assertEqual(bsdictlist, [])
- d.addCallback(check)
- return d
-
- def test_getRecentBuildsets_noBranchMatch(self):
- d = self.insert_test_getRecentBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.getRecentBuildsets(2, branch='bad_branch',
- repository='repo_a'))
- def check(bsdictlist):
- self.assertEqual(bsdictlist, [])
- d.addCallback(check)
- return d
-
- def test_getRecentBuildsets_noRepoMatch(self):
- d = self.insert_test_getRecentBuildsets_data()
- d.addCallback(lambda _ :
- self.db.buildsets.getRecentBuildsets(2, branch='branch_a',
- repository='bad_repo'))
- def check(bsdictlist):
- self.assertEqual(bsdictlist, [])
- d.addCallback(check)
- return d