Initial port to python3
[htsworkflow.git] / htsworkflow / submission / test / test_condorfastq.py
index dd41c61aab348d3877ebd2f3fb81dbc9c957ad35..dbeb71cd6baac0e2c23f80873b38dc16482a60db 100644 (file)
@@ -5,7 +5,12 @@ import os
 from pprint import pprint
 import shutil
 import tempfile
-import unittest
+
+from django.test import TestCase
+from django.test.utils import setup_test_environment, \
+     teardown_test_environment
+from django.db import connection
+from django.conf import settings
 
 from htsworkflow.submission.condorfastq import CondorFastqExtract
 from htsworkflow.submission.results import ResultMap
@@ -384,12 +389,11 @@ lib_turtle = """@prefix : <http://www.w3.org/1999/xhtml> .
         libns:made_by "Gary Gygax"@en ;
         libns:name "Paired Ends ASDF"@en ;
         libns:replicate "1"@en;
-        libns:species "Mus musculus"@en ;
+        libns:species_name "Mus musculus"@en ;
         libns:stopping_point "Completed"@en ;
         libns:total_unique_locations 8841201 .
         # cell_line
 
-
 <http://localhost/library/12345/>
         a libns:Library ;
         libns:affiliation "TSR"@en;
@@ -405,14 +409,14 @@ lib_turtle = """@prefix : <http://www.w3.org/1999/xhtml> .
         libns:made_by "Gary Gygax"@en ;
         libns:name "Paired Ends THING"@en ;
         libns:replicate "1"@en;
-        libns:species "Mus musculus"@en ;
+        libns:species_name "Mus musculus"@en ;
         libns:stopping_point "Completed"@en ;
         libns:total_unique_locations 8841201 .
         # cell_line
 """
 HOST = "http://localhost"
 
-class TestCondorFastq(unittest.TestCase):
+class TestCondorFastq(TestCase):
     def setUp(self):
         self.cwd = os.getcwd()
 
@@ -432,7 +436,7 @@ class TestCondorFastq(unittest.TestCase):
                 stream.write('testfile')
 
         self.result_map = ResultMap()
-        for lib_id in [u'11154', u'12345']:
+        for lib_id in ['11154', '12345']:
             subname = 'sub-%s' % (lib_id,)
             sub_dir = os.path.join(self.tempdir, subname)
             os.mkdir(sub_dir)
@@ -465,21 +469,21 @@ class TestCondorFastq(unittest.TestCase):
         seqs = self.extract.find_archive_sequence_files(self.result_map)
 
         expected = set([
-            (u'11154', u'42JUYAAXX', '5', 1, 76, True, 'qseq'),
-            (u'11154', u'42JUYAAXX', '5', 2, 76, True, 'qseq'),
-            (u'11154', u'61MJTAAXX', '6', 1, 76, False, 'qseq'),
-            (u'11154', u'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
-            (u'11154', u'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
-            (u'11154', u'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
-            (u'11154', u'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
-            (u'12345', u'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
-            (u'12345', u'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
-            (u'12345', u'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
-            (u'12345', u'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
-            (u'12345', u'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
-            (u'12345', u'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
-            (u'11154', u'30221AAXX', '4', 1, 33, False, 'srf'),
-            (u'11154', u'30DY0AAXX', '8', 1, 151, True, 'srf')
+            ('11154', '42JUYAAXX', '5', 1, 76, True, 'qseq'),
+            ('11154', '42JUYAAXX', '5', 2, 76, True, 'qseq'),
+            ('11154', '61MJTAAXX', '6', 1, 76, False, 'qseq'),
+            ('11154', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+            ('11154', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+            ('11154', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+            ('11154', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+            ('12345', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+            ('12345', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+            ('12345', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+            ('12345', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+            ('12345', 'C02F9ACXX', '3', 1, 202, True, 'split_fastq'),
+            ('12345', 'C02F9ACXX', '3', 2, 202, True, 'split_fastq'),
+            ('11154', '30221AAXX', '4', 1, 33, False, 'srf'),
+            ('11154', '30DY0AAXX', '8', 1, 151, True, 'srf')
         ])
         found = set([(l.library_id, l.flowcell_id, l.lane_number, l.read, l.cycle, l.ispaired, l.filetype) for l in seqs])
         self.assertEqual(expected, found)
@@ -491,17 +495,17 @@ class TestCondorFastq(unittest.TestCase):
                                                            lib_db)
         self.assertEqual(len(needed_targets), 9)
         srf_30221 = needed_targets[
-            self.result_map['11154'] + u'/11154_30221AAXX_c33_l4.fastq']
+            self.result_map['11154'] + '/11154_30221AAXX_c33_l4.fastq']
         qseq_42JUY_r1 = needed_targets[
-            self.result_map['11154'] + u'/11154_42JUYAAXX_c76_l5_r1.fastq']
+            self.result_map['11154'] + '/11154_42JUYAAXX_c76_l5_r1.fastq']
         qseq_42JUY_r2 = needed_targets[
-            self.result_map['11154'] + u'/11154_42JUYAAXX_c76_l5_r2.fastq']
+            self.result_map['11154'] + '/11154_42JUYAAXX_c76_l5_r2.fastq']
         qseq_61MJT = needed_targets[
-            self.result_map['11154'] + u'/11154_61MJTAAXX_c76_l6.fastq']
+            self.result_map['11154'] + '/11154_61MJTAAXX_c76_l6.fastq']
         split_C02F9_r1 = needed_targets[
-            self.result_map['11154'] + u'/11154_C02F9ACXX_c202_l3_r1.fastq']
+            self.result_map['11154'] + '/11154_C02F9ACXX_c202_l3_r1.fastq']
         split_C02F9_r2 = needed_targets[
-            self.result_map['11154'] + u'/11154_C02F9ACXX_c202_l3_r2.fastq']
+            self.result_map['11154'] + '/11154_C02F9ACXX_c202_l3_r2.fastq']
 
         self.assertEqual(len(srf_30221['srf']), 1)
         self.assertEqual(len(qseq_42JUY_r1['qseq']), 1)
@@ -526,24 +530,24 @@ class TestCondorFastq(unittest.TestCase):
                          '11154_30221AAXX_c33_l4.fastq'): {
                 'mid': None,
                 'ispaired': False,
-                'sources': [u'woldlab_090425_HWI-EAS229_0110_30221AAXX_4.srf'],
-                'flowcell': u'30221AAXX',
+                'sources': ['woldlab_090425_HWI-EAS229_0110_30221AAXX_4.srf'],
+                'flowcell': '30221AAXX',
                 'target': os.path.join(self.result_map['11154'],
-                                       u'11154_30221AAXX_c33_l4.fastq'),
+                                       '11154_30221AAXX_c33_l4.fastq'),
             },
             os.path.join(self.result_map['11154'],
                          '11154_30DY0AAXX_c151_l8_r1.fastq'): {
                 'mid': None,
                 'ispaired': True,
-                'flowcell': u'30DY0AAXX',
-                'sources': [u'woldlab_090725_HWI-EAS229_0110_30DY0AAXX_8.srf'],
+                'flowcell': '30DY0AAXX',
+                'sources': ['woldlab_090725_HWI-EAS229_0110_30DY0AAXX_8.srf'],
                 'mid': 76,
                 'target':
                     os.path.join(self.result_map['11154'],
-                                 u'11154_30DY0AAXX_c151_l8_r1.fastq'),
+                                 '11154_30DY0AAXX_c151_l8_r1.fastq'),
                 'target_right':
                     os.path.join(self.result_map['11154'],
-                                 u'11154_30DY0AAXX_c151_l8_r2.fastq'),
+                                 '11154_30DY0AAXX_c151_l8_r2.fastq'),
             }
         }
         for args in srf:
@@ -565,21 +569,21 @@ class TestCondorFastq(unittest.TestCase):
                 'istar': True,
                 'ispaired': True,
                 'sources': [
-                    u'woldlab_100826_HSI-123_0001_42JUYAAXX_l5_r1.tar.bz2']
+                    'woldlab_100826_HSI-123_0001_42JUYAAXX_l5_r1.tar.bz2']
             },
             os.path.join(self.result_map['11154'],
                          '11154_42JUYAAXX_c76_l5_r2.fastq'): {
                 'istar': True,
                 'ispaired': True,
                 'sources': [
-                    u'woldlab_100826_HSI-123_0001_42JUYAAXX_l5_r2.tar.bz2']
+                    'woldlab_100826_HSI-123_0001_42JUYAAXX_l5_r2.tar.bz2']
             },
             os.path.join(self.result_map['11154'],
                          '11154_61MJTAAXX_c76_l6.fastq'): {
                 'istar': True,
                 'ispaired': False,
                 'sources': [
-                    u'woldlab_100826_HSI-123_0001_61MJTAAXX_l6_r1.tar.bz2'],
+                    'woldlab_100826_HSI-123_0001_61MJTAAXX_l6_r1.tar.bz2'],
             },
         }
         for args in qseq:
@@ -592,26 +596,26 @@ class TestCondorFastq(unittest.TestCase):
 
 
         split_test = dict((( x['target'], x) for x in
-            [{'sources': [u'11154_NoIndex_L003_R1_001.fastq.gz',
-                         u'11154_NoIndex_L003_R1_002.fastq.gz'],
+            [{'sources': ['11154_NoIndex_L003_R1_001.fastq.gz',
+                         '11154_NoIndex_L003_R1_002.fastq.gz'],
              'pyscript': 'desplit_fastq.pyc',
-             'target': u'11154_C02F9ACXX_c202_l3_r1.fastq'},
-            {'sources': [u'11154_NoIndex_L003_R2_001.fastq.gz',
-                         u'11154_NoIndex_L003_R2_002.fastq.gz'],
+             'target': '11154_C02F9ACXX_c202_l3_r1.fastq'},
+            {'sources': ['11154_NoIndex_L003_R2_001.fastq.gz',
+                         '11154_NoIndex_L003_R2_002.fastq.gz'],
              'pyscript': 'desplit_fastq.pyc',
-             'target': u'11154_C02F9ACXX_c202_l3_r2.fastq'},
-            {'sources': [u'12345_CGATGT_L003_R1_001.fastq.gz',
-                         u'12345_CGATGT_L003_R1_002.fastq.gz',
-                         u'12345_CGATGT_L003_R1_003.fastq.gz',
+             'target': '11154_C02F9ACXX_c202_l3_r2.fastq'},
+            {'sources': ['12345_CGATGT_L003_R1_001.fastq.gz',
+                         '12345_CGATGT_L003_R1_002.fastq.gz',
+                         '12345_CGATGT_L003_R1_003.fastq.gz',
                          ],
              'pyscript': 'desplit_fastq.pyc',
-             'target': u'12345_C02F9ACXX_c202_l3_r1.fastq'},
-            {'sources': [u'12345_CGATGT_L003_R2_001.fastq.gz',
-                         u'12345_CGATGT_L003_R2_002.fastq.gz',
-                         u'12345_CGATGT_L003_R2_003.fastq.gz',
+             'target': '12345_C02F9ACXX_c202_l3_r1.fastq'},
+            {'sources': ['12345_CGATGT_L003_R2_001.fastq.gz',
+                         '12345_CGATGT_L003_R2_002.fastq.gz',
+                         '12345_CGATGT_L003_R2_003.fastq.gz',
                          ],
              'pyscript': 'desplit_fastq.pyc',
-             'target': u'12345_C02F9ACXX_c202_l3_r2.fastq'}
+             'target': '12345_C02F9ACXX_c202_l3_r2.fastq'}
              ]
          ))
         for arg in split:
@@ -676,10 +680,22 @@ class TestCondorFastq(unittest.TestCase):
             self.assertTrue('12345_C02F9ACXX_c202_l3_r2.fastq' in arguments[3])
 
 
+OLD_DB = settings.DATABASES['default']['NAME']
+def setUpModule():
+    setup_test_environment()
+    connection.creation.create_test_db()
+
+def tearDownModule():
+    connection.creation.destroy_test_db(OLD_DB)
+    teardown_test_environment()
+
+
 def suite():
-    suite = unittest.makeSuite(TestCondorFastq, 'test')
+    from unittest import TestSuite, defaultTestLoader
+    suite = TestSuite()
+    suite.addTests(defaultTestLoader.loadTestsFromTestCase(TestCondorFastq))
     return suite
 
 if __name__ == "__main__":
-    unittest.main(defaultTest='suite')
-
+    from unittest import main
+    main(defaultTest='suite')