Skip to content

Commit

Permalink
more tests for setBuilderList
Browse files Browse the repository at this point in the history
  • Loading branch information
Dustin J. Mitchell committed Aug 16, 2010
1 parent 404ae5d commit 3bd3592
Showing 1 changed file with 66 additions and 0 deletions.
66 changes: 66 additions & 0 deletions slave/buildslave/test/unit/test_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,69 @@ def check(builders):
d.addCallback(check)
return d

def test_setBuilderList_single(self):
d = self.bot.callRemote("setBuilderList", [ ('mybld', 'myblddir') ])
def check(builders):
self.assertEqual(builders.keys(), ['mybld'])
self.assertTrue(os.path.exists(os.path.join(self.basedir, 'myblddir')))
# note that we test the SlaveBuilder instance below
d.addCallback(check)
return d

def test_setBuilderList_updates(self):
d = defer.succeed(None)

slavebuilders = {}

def add_my(_):
d = self.bot.callRemote("setBuilderList", [
('mybld', 'myblddir') ])
def check(builders):
self.assertEqual(builders.keys(), ['mybld'])
self.assertTrue(os.path.exists(os.path.join(self.basedir, 'myblddir')))
slavebuilders['my'] = builders['mybld']
d.addCallback(check)
return d
d.addCallback(add_my)

def add_your(_):
d = self.bot.callRemote("setBuilderList", [
('mybld', 'myblddir'), ('yourbld', 'yourblddir') ])
def check(builders):
self.assertEqual(sorted(builders.keys()), sorted(['mybld', 'yourbld']))
self.assertTrue(os.path.exists(os.path.join(self.basedir, 'myblddir')))
self.assertTrue(os.path.exists(os.path.join(self.basedir, 'yourblddir')))
# 'my' should still be the same slavebuilder object
self.assertEqual(id(slavebuilders['my']), id(builders['mybld']))
slavebuilders['your'] = builders['yourbld']
d.addCallback(check)
return d
d.addCallback(add_your)

def remove_my(_):
d = self.bot.callRemote("setBuilderList", [
('yourbld', 'yourblddir') ])
def check(builders):
self.assertEqual(sorted(builders.keys()), sorted(['yourbld']))
# note that build dirs are not deleted..
self.assertTrue(os.path.exists(os.path.join(self.basedir, 'myblddir')))
self.assertTrue(os.path.exists(os.path.join(self.basedir, 'yourblddir')))
# 'your' should still be the same slavebuilder object
self.assertEqual(id(slavebuilders['your']), id(builders['yourbld']))
d.addCallback(check)
return d
d.addCallback(remove_my)

def add_and_remove(_):
d = self.bot.callRemote("setBuilderList", [
('theirbld', 'theirblddir') ])
def check(builders):
self.assertEqual(sorted(builders.keys()), sorted(['theirbld']))
self.assertTrue(os.path.exists(os.path.join(self.basedir, 'myblddir')))
self.assertTrue(os.path.exists(os.path.join(self.basedir, 'yourblddir')))
self.assertTrue(os.path.exists(os.path.join(self.basedir, 'theirblddir')))
d.addCallback(check)
return d
d.addCallback(add_and_remove)

return d

0 comments on commit 3bd3592

Please sign in to comment.