3 from StringIO import StringIO
4 from gaworkflow import copier
6 class testCopier(unittest.TestCase):
7 def test_runfolder_validate(self):
8 self.failUnlessEqual(copier.runfolder_validate(""), False)
9 self.failUnlessEqual(copier.runfolder_validate("1345_23"), False)
10 self.failUnlessEqual(copier.runfolder_validate("123456_asdf-$23'"), False)
11 self.failUnlessEqual(copier.runfolder_validate("123456_USI-EAS44"), True)
12 self.failUnlessEqual(copier.runfolder_validate("123456_USI-EAS44 "), False)
14 def test_empty_config(self):
15 cfg = StringIO("""[fake]
18 bot = copier.CopierBot('fake', configfile=cfg)
19 self.failUnlessRaises(RuntimeError, bot.read_config)
21 def test_full_config(self):
22 cfg = StringIO("""[copier]
23 jid: copier@example.fake
25 authorized_users: user1@example.fake user2@example.fake
26 rsync_password_file: ~/.sequencer
27 rsync_source: /tmp/sequencer_source
28 rsync_destination: /tmp/sequencer_destination
29 notify_users: user3@example.fake
33 c = copier.CopierBot("copier", configfile=cfg)
35 self.failUnlessEqual(c.jid, 'copier@example.fake')
36 self.failUnlessEqual(c.cfg['password'], 'badpassword')
37 self.failUnlessEqual(len(c.authorized_users), 2)
38 self.failUnlessEqual(c.authorized_users[0], 'user1@example.fake')
39 self.failUnlessEqual(c.authorized_users[1], 'user2@example.fake')
40 self.failUnlessEqual(c.rsync.source_base, '/tmp/sequencer_source')
41 self.failUnlessEqual(c.rsync.dest_base, '/tmp/sequencer_destination')
42 self.failUnlessEqual(len(c.notify_users), 1)
43 self.failUnlessEqual(c.notify_users[0], 'user3@example.fake')
46 return unittest.makeSuite(testCopier,'test')
48 if __name__ == "__main__":
49 unittest.main(defaultTest="suite")