"""Code shared between test cases.
"""
import RDF
+import logging
import os
import tempfile
import htsworkflow.util.rdfhelp
S1_NAME = '1000-sample'
S2_NAME = '2000-sample'
+SCOMBINED_NAME = 'directory'
S1_FILES = [
os.path.join(S1_NAME, 'file1_l8_r1.fastq'),
os.path.join(S2_NAME, 'file1_l5.fastq'),
]
+SCOMBINED_FILES = [
+ os.path.join(SCOMBINED_NAME, 's1_file1.bam'),
+ os.path.join(SCOMBINED_NAME, 's1_l5.fastq'),
+ os.path.join(SCOMBINED_NAME, 's2_file1.bam'),
+ os.path.join(SCOMBINED_NAME, 's2_l4.read1.fastq'),
+ os.path.join(SCOMBINED_NAME, 's2_l4.read2.fastq'),
+]
+
TURTLE_PREFIX = htsworkflow.util.rdfhelp.get_turtle_header()
S1_TURTLE = TURTLE_PREFIX + """
break
assert found
+def generate_sample_results_tree(obj, prefix):
+ obj.tempdir = tempfile.mkdtemp(prefix=prefix)
+ obj.sourcedir = os.path.join(obj.tempdir, 'source')
+ os.mkdir(obj.sourcedir)
+ obj.resultdir = os.path.join(obj.tempdir, 'results')
+ os.mkdir(obj.resultdir)
+
+ for d in [os.path.join(obj.sourcedir, S1_NAME),
+ os.path.join(obj.sourcedir, S2_NAME),
+ ]:
+ logging.debug("Creating: %s", d)
+ os.mkdir(d)
+
+ tomake = []
+ tomake.extend(S1_FILES)
+ tomake.extend(S2_FILES)
+ for f in tomake:
+ target = os.path.join(obj.sourcedir, f)
+ logging.debug("Creating: %s", target)
+ stream = open(target, 'w')
+ stream.write(f)
+ stream.close()
+
from contextlib import contextmanager
+import logging
import os
from StringIO import StringIO
import shutil
class TestUCSCSubmission(TestCase):
def setUp(self):
- test_results.generate_sample_results_tree(self)
+ test_results.generate_sample_results_tree(self, 'daf_results')
def tearDown(self):
# see things created by temp_results.generate_sample_results_tree
def suite():
suite = TestSuite()
- suite.addTests(defaultTestLoader.loadTestsFromTestCase(TestUCSCInfo))
+ suite.addTests(defaultTestLoader.loadTestsFromTestCase(TestDAF))
+ suite.addTests(defaultTestLoader.loadTestsFromTestCase(TestUCSCSubmission))
return suite
if __name__ == "__main__":
+ logging.basicConfig(level=logging.DEBUG)
from unittest2 import main
main(defaultTest='suite')
from htsworkflow.submission.results import ResultMap
from submission_test_common import *
-def generate_sample_results_tree(obj):
- obj.tempdir = tempfile.mkdtemp(prefix="results_test")
- obj.sourcedir = os.path.join(obj.tempdir, 'source')
- obj.resultdir = os.path.join(obj.tempdir, 'results')
-
- for d in [obj.sourcedir,
- os.path.join(obj.sourcedir, S1_NAME),
- os.path.join(obj.sourcedir, S2_NAME),
- obj.resultdir]:
- os.mkdir(os.path.join(obj.tempdir, d))
-
- tomake = []
- tomake.extend(S1_FILES)
- tomake.extend(S2_FILES)
- for f in tomake:
- stream = open(os.path.join(obj.sourcedir, f), 'w')
- stream.write(f)
- stream.close()
-
-
class TestResultMap(TestCase):
def setUp(self):
- generate_sample_results_tree(self)
+ generate_sample_results_tree(self, 'results_test')
def tearDown(self):
shutil.rmtree(self.tempdir)
os.path.islink(
os.path.join(self.resultdir, f)))
+ def test_make_from_shared_directory(self):
+ """Split multiple datasets stored in a single directory
+ """
+ self.skipTest("not implemented yet")
+ results = ResultMap()
+ results['S1'] = os.path.join(SCOMBINED_NAME, 's1*')
+ results['S2'] = os.path.join(SCOMBINED_NAME, 's2*')
def suite():
suite = defaultTestLoader.loadTestsFromTestCase(TestResultMap)
+
import os
from StringIO import StringIO
import shutil
#import logging
#logging.basicConfig(level=logging.DEBUG)
-def generate_sample_results_tree(obj):
- obj.tempdir = tempfile.mkdtemp(prefix="submission_test")
- obj.sourcedir = os.path.join(obj.tempdir, 'source')
- obj.resultdir = os.path.join(obj.tempdir, 'results')
-
- for d in [os.path.join(obj.tempdir, S1_NAME),
- os.path.join(obj.tempdir, S2_NAME),
- ]:
- os.mkdir(os.path.join(obj.tempdir, d))
-
- tomake = []
- tomake.extend(S1_FILES)
- tomake.extend(S2_FILES)
- for f in tomake:
- stream = open(os.path.join(obj.tempdir, f), 'w')
- stream.write(f)
- stream.close()
-
class TestSubmissionModule(TestCase):
def test_empty_list_submission(self):
model = get_model()
class TestSubmission(TestCase):
def setUp(self):
- generate_sample_results_tree(self)
+ generate_sample_results_tree(self, 'submission_test')
self.model = get_model()
def tearDown(self):
map = ResultMap()
print self.tempdir
print os.listdir(self.tempdir)
- map['1000'] = os.path.join(self.tempdir, S1_NAME)
- map['2000'] = os.path.join(self.tempdir, S2_NAME)
+ map['1000'] = os.path.join(self.sourcedir, S1_NAME)
+ map['2000'] = os.path.join(self.sourcedir, S2_NAME)
s = Submission('foo', self.model, 'http://localhost')
mock = MockAddDetails(self.model, turtle)