def test_create_user_job_order_does_not_modify_original(self): job_template = JobTemplate(tag='sometag', name='myjob', fund_code='001', job_order={ 'myfile': { 'class': 'File', 'path': 'dds://project/somepath.txt' } }) job_template.create_user_job_order() self.assertEqual(job_template.job_order, { 'myfile': { 'class': 'File', 'path': 'dds://project/somepath.txt', } })
def test_create_user_job_order_json(self): job_template = JobTemplate(tag='sometag', name='myjob', fund_code='001', job_order={ 'myfile': { 'class': 'File', 'path': 'dds://project/somepath.txt' }, 'my_path_file': { 'class': 'File', 'path': '/tmp/data.txt' }, 'my_url_file': { 'class': 'File', 'location': 'https://github.com/datafile1.dat' }, 'myint': 123, 'myfileary': [ { 'class': 'File', 'path': 'dds://project/somepath1.txt' }, { 'class': 'File', 'path': 'dds://project/somepath2.txt' }, ], 'myfastq_pairs': [ {'file1': {'class': 'File', 'path': 'dds://myproject/rawData/SAAAA_R1_001.fastq.gz' }, 'file2': { 'class': 'File', 'path': 'dds://myproject/rawData/SAAAA_R2_001.fastq.gz' }, 'name': 'Sample1'}] }) user_job_order = job_template.create_user_job_order() self.assertEqual(user_job_order['myint'], 123) self.assertEqual(user_job_order['myfile'], { 'class': 'File', 'path': 'dds_project_somepath.txt' }) self.assertEqual(user_job_order['myfileary'], [ { 'class': 'File', 'path': 'dds_project_somepath1.txt' }, { 'class': 'File', 'path': 'dds_project_somepath2.txt' }, ]) self.assertEqual(user_job_order['myfastq_pairs'], [ {'file1': {'class': 'File', 'path': 'dds_myproject_rawData_SAAAA_R1_001.fastq.gz' }, 'file2': { 'class': 'File', 'path': 'dds_myproject_rawData_SAAAA_R2_001.fastq.gz' }, 'name': 'Sample1'}]) self.assertEqual(user_job_order['my_path_file'], { 'class': 'File', 'path': '/tmp/data.txt' }, "Plain file paths should not be modified.") self.assertEqual(user_job_order['my_url_file'], { 'class': 'File', 'location': 'https://github.com/datafile1.dat' }, "URL file paths should not be modified.")