#!/usr/bin/env python
-import copy
-import os
from pprint import pprint
import shutil
-import tempfile
-import unittest
-from htsworkflow.submission.results import ResultMap
-
-S1_NAME = '1000-sample'
-S2_NAME = '2000-sample'
+from unittest import TestCase, defaultTestLoader
-S1_FILES = [
- os.path.join(S1_NAME, 'file1_l8_r1.fastq'),
- os.path.join(S1_NAME, 'file1_l8_r2.fastq'),
-]
-
-S2_FILES = [
- os.path.join(S2_NAME, 'file1.bam'),
- os.path.join(S2_NAME, 'file1_l5.fastq'),
-]
+from htsworkflow.submission.results import ResultMap
+from .submission_test_common import *
def generate_sample_results_tree(obj):
obj.tempdir = tempfile.mkdtemp(prefix="results_test")
stream.write(f)
stream.close()
-class TestResultMap(unittest.TestCase):
+
+class TestResultMap(TestCase):
def setUp(self):
generate_sample_results_tree(self)
results['2000'] = 'dir2000'
results['1500'] = 'dir1500'
- self.failUnlessEqual(results.keys(), ['1000', '2000', '1500'])
+ self.failUnlessEqual(list(results.keys()), ['1000', '2000', '1500'])
self.failUnlessEqual(list(results.values()),
['dir1000', 'dir2000', 'dir1500'])
self.failUnlessEqual(list(results.items()),
self.failUnlessEqual(results['1500'], 'dir1500')
self.failUnlessEqual(results['2000'], 'dir2000')
- self.assertTrue(u'2000' in results)
self.assertTrue('2000' in results)
- self.assertFalse(u'77777' in results)
+ self.assertTrue('2000' in results)
+ self.assertFalse('77777' in results)
self.assertFalse('77777' in results)
- def test_make_from(self):
+ def test_make_from_absolute(self):
+ """Test that make from works if ResultMap has absolute paths
+ """
+ results = ResultMap()
+ sample1_dir = os.path.join(self.resultdir, S1_NAME)
+ sample2_dir = os.path.join(self.resultdir, S2_NAME)
+ results['1000'] = sample1_dir
+ results['2000'] = sample2_dir
+
+ results.make_tree_from(self.sourcedir, self.resultdir)
+ self.failUnless(os.path.isdir(sample1_dir))
+ self.failUnless(os.path.isdir(sample2_dir))
+
+ for f in S1_FILES + S2_FILES:
+ self.failUnless(
+ os.path.islink(
+ os.path.join(self.resultdir, f)))
+
+ def test_make_from_filename(self):
+ """Test that make from works if ResultMap has no path
+ """
results = ResultMap()
results['1000'] = S1_NAME
results['2000'] = S2_NAME
results.make_tree_from(self.sourcedir, self.resultdir)
-
sample1_dir = os.path.join(self.resultdir, S1_NAME)
sample2_dir = os.path.join(self.resultdir, S2_NAME)
self.failUnless(os.path.isdir(sample1_dir))
os.path.join(self.resultdir, f)))
-
-
def suite():
- suite = unittest.makeSuite(TestResultMap, 'test')
+ suite = defaultTestLoader.loadTestsFromTestCase(TestResultMap)
return suite
if __name__ == "__main__":
- unittest.main(defaultTest='suite')
-
+ import logging
+ logging.basicConfig(level=logging.DEBUG)
+ from unittest import main
+ main(defaultTest='suite')