aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_state.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_state.py')
-rw-r--r--lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_state.py182
1 files changed, 0 insertions, 182 deletions
diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_state.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_state.py
deleted file mode 100644
index 8002222e..00000000
--- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_db_state.py
+++ /dev/null
@@ -1,182 +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
-
-from twisted.trial import unittest
-from buildbot.db import state
-from buildbot.test.util import connector_component
-from buildbot.test.fake import fakedb
-
-class TestStateConnectorComponent(
- connector_component.ConnectorComponentMixin,
- unittest.TestCase):
-
- def setUp(self):
- d = self.setUpConnectorComponent(
- table_names=['objects', 'object_state' ])
-
- def finish_setup(_):
- self.db.state = \
- state.StateConnectorComponent(self.db)
- d.addCallback(finish_setup)
-
- return d
-
- def tearDown(self):
- return self.tearDownConnectorComponent()
-
- def test_getObjectId_new(self):
- d = self.db.state.getObjectId('someobj', 'someclass')
- def check(objectid):
- self.assertNotEqual(objectid, None)
- def thd(conn):
- q = self.db.model.objects.select()
- rows = conn.execute(q).fetchall()
- self.assertEqual(
- [ (r.id, r.name, r.class_name) for r in rows ],
- [ (objectid, 'someobj', 'someclass') ])
- return self.db.pool.do(thd)
- d.addCallback(check)
- return d
-
- def test_getObjectId_existing(self):
- d = self.insertTestData([
- fakedb.Object(id=19, name='someobj',
- class_name='someclass') ])
- d.addCallback(lambda _ :
- self.db.state.getObjectId('someobj', 'someclass'))
- def check(objectid):
- self.assertEqual(objectid, 19)
- d.addCallback(check)
- return d
-
-
- def test_getObjectId_conflict(self):
- # set up to insert a row between looking for an existing object
- # and adding a new one, triggering the fallback to re-running
- # the select.
- def hook(conn):
- conn.execute(self.db.model.objects.insert(),
- id=27, name='someobj', class_name='someclass')
- self.db.state._test_timing_hook = hook
-
- d = self.db.state.getObjectId('someobj', 'someclass')
- def check(objectid):
- self.assertEqual(objectid, 27)
- d.addCallback(check)
- return d
-
- def test_getState_missing(self):
- d = self.db.state.getState(10, 'nosuch')
- return self.assertFailure(d, KeyError)
-
- def test_getState_missing_default(self):
- d = self.db.state.getState(10, 'nosuch', 'abc')
- def check(val):
- self.assertEqual(val, 'abc')
- d.addCallback(check)
- return d
-
- def test_getState_missing_default_None(self):
- d = self.db.state.getState(10, 'nosuch', None)
- def check(val):
- self.assertEqual(val, None)
- d.addCallback(check)
- return d
-
- def test_getState_present(self):
- d = self.insertTestData([
- fakedb.Object(id=10, name='x', class_name='y'),
- fakedb.ObjectState(objectid=10, name='x', value_json='[1,2]'),
- ])
- d.addCallback(lambda _ :
- self.db.state.getState(10, 'x'))
- def check(val):
- self.assertEqual(val, [1,2])
- d.addCallback(check)
- return d
-
- def test_getState_badjson(self):
- d = self.insertTestData([
- fakedb.Object(id=10, name='x', class_name='y'),
- fakedb.ObjectState(objectid=10, name='x', value_json='ff[1'),
- ])
- d.addCallback(lambda _ :
- self.db.state.getState(10, 'x'))
- return self.assertFailure(d, TypeError)
-
- def test_setState(self):
- d = self.insertTestData([
- fakedb.Object(id=10, name='-', class_name='-'),
- ])
- d.addCallback(lambda _ :
- self.db.state.setState(10, 'x', [1,2]))
- def check(_):
- def thd(conn):
- q = self.db.model.object_state.select()
- rows = conn.execute(q).fetchall()
- self.assertEqual(
- [ (r.objectid, r.name, r.value_json) for r in rows ],
- [ (10, 'x', '[1, 2]') ])
- return self.db.pool.do(thd)
- d.addCallback(check)
- return d
-
- def test_setState_badjson(self):
- d = self.insertTestData([
- fakedb.Object(id=10, name='x', class_name='y'),
- ])
- d.addCallback(lambda _ :
- self.db.state.setState(10, 'x', self)) # self is not JSON-able..
- return self.assertFailure(d, TypeError)
-
- def test_setState_existing(self):
- d = self.insertTestData([
- fakedb.Object(id=10, name='-', class_name='-'),
- fakedb.ObjectState(objectid=10, name='x', value_json='99'),
- ])
- d.addCallback(lambda _ :
- self.db.state.setState(10, 'x', [1,2]))
- def check(_):
- def thd(conn):
- q = self.db.model.object_state.select()
- rows = conn.execute(q).fetchall()
- self.assertEqual(
- [ (r.objectid, r.name, r.value_json) for r in rows ],
- [ (10, 'x', '[1, 2]') ])
- return self.db.pool.do(thd)
- d.addCallback(check)
- return d
-
- def test_setState_conflict(self):
- d = self.insertTestData([
- fakedb.Object(id=10, name='-', class_name='-'),
- ])
- def hook(conn):
- conn.execute(self.db.model.object_state.insert(),
- objectid=10, name='x', value_json='22')
- self.db.state._test_timing_hook = hook
- d.addCallback(lambda _ :
- self.db.state.setState(10, 'x', [1,2]))
- def check(_):
- def thd(conn):
- q = self.db.model.object_state.select()
- rows = conn.execute(q).fetchall()
- self.assertEqual(
- [ (r.objectid, r.name, r.value_json) for r in rows ],
- [ (10, 'x', '22') ])
- return self.db.pool.do(thd)
- d.addCallback(check)
- return d
-