From: Diane Trout Date: Fri, 17 Jan 2014 23:02:08 +0000 (-0800) Subject: Use SkipIf to skip copier tests if benderjab isn't working. X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=htsworkflow.git;a=commitdiff_plain;h=66ff05735858fcabb789638f15b9b4f29285da87;hp=50f537f9f2c88e802270963a3d55daf69accfead Use SkipIf to skip copier tests if benderjab isn't working. This also uses the improved version of unittest in python 2.7+ --- diff --git a/test/test_copier.py b/test/test_copier.py index 3e26cc6..a2dd5d7 100644 --- a/test/test_copier.py +++ b/test/test_copier.py @@ -1,9 +1,15 @@ -from unittest2 import TestCase +from unittest import TestCase, skipIf from StringIO import StringIO -from htsworkflow.automation import copier from htsworkflow.automation.solexa import is_runfolder +try: + from htsworkflow.automation import copier + BENDERJAB_UNAVAILABLE = False +except ImportError as e: + BENDERJAB_UNAVAILABLE = True + +@skipIf(BENDERJAB_UNAVAILABLE, "Can't test copier daemon without a working benderjab") class testCopier(TestCase): def test_empty_config(self): cfg = StringIO("""[fake] @@ -11,9 +17,9 @@ something: unrelated """) bot = copier.CopierBot('fake', configfile=cfg) self.failUnlessRaises(RuntimeError, bot.read_config) - + def test_full_config(self): - cfg = StringIO("""[copier] + cfg = StringIO("""[copier] jid: copier@example.fake password: badpassword authorized_users: user1@example.fake user2@example.fake @@ -32,7 +38,7 @@ notify_users: user3@example.fake self.failUnlessEqual(len(c.authorized_users), 2) self.failUnlessEqual(c.authorized_users[0], 'user1@example.fake') self.failUnlessEqual(c.authorized_users[1], 'user2@example.fake') - self.failUnlessEqual(c.rsync.source_base_list[0], + self.failUnlessEqual(c.rsync.source_base_list[0], 'rsync://localhost/tmp/sequencer_source/') self.failUnlessEqual(c.rsync.dest_base, '/tmp/sequencer_destination') self.failUnlessEqual(len(c.notify_users), 1) @@ -40,16 +46,16 @@ notify_users: user3@example.fake self.failUnlessEqual(c.validate_url('rsync://other/tmp'), None) self.failUnlessEqual(c.validate_url('http://localhost/tmp'), None) # In the rsync process the URL gets a trailing '/' added to it - # But in the bot config its still slash-less. + # But in the bot config its still slash-less. # It is debatable when to add the trailing slash. self.failUnlessEqual( - c.validate_url('rsync://localhost/tmp/sequencer_source'), - 'rsync://localhost/tmp/sequencer_source') + c.validate_url('rsync://localhost/tmp/sequencer_source'), + 'rsync://localhost/tmp/sequencer_source') self.failUnlessEqual( - c.validate_url('rsync://localhost/tmp/sequencer_source/'), + c.validate_url('rsync://localhost/tmp/sequencer_source/'), 'rsync://localhost/tmp/sequencer_source/') self.failUnlessEqual( - c.validate_url('rsync://localhost/tmp/sequencer_source/bleem'), + c.validate_url('rsync://localhost/tmp/sequencer_source/bleem'), 'rsync://localhost/tmp/sequencer_source/bleem') self.failUnlessEqual( c.validate_url('rsync://user@server:1234/other_sequencer'),