@@ -31,16 +31,14 @@ def test_full_study_load(self, run_java, locate_jar):
3131 study_directory = 'test_data/study_es_0'
3232 args = ['--study_directory' , study_directory ]
3333 parsed_args = cbioportalImporter .interface (args )
34- cbioportalImporter .main (parsed_args )
34+ study_id = cbioportalImporter .main (parsed_args )
3535
3636 remove_study_call = call (* common_part , 'org.mskcc.cbio.portal.scripts.RemoveCancerStudy' ,
3737 'study_es_0' , '--noprogress' )
3838 create_study_call = call (* common_part , 'org.mskcc.cbio.portal.scripts.ImportCancerStudy' ,
3939 f'{ study_directory } /meta_study.txt' , '--noprogress' )
4040 clinical_sample_call = call (* common_part , 'org.mskcc.cbio.portal.scripts.ImportClinicalData' ,
4141 '--meta' , f'{ study_directory } /meta_clinical_samples.txt' , '--loadMode' , 'bulkload' , '--data' , f'{ study_directory } /data_clinical_samples.txt' , '--noprogress' )
42- make_study_available_call = call (* common_part , 'org.mskcc.cbio.portal.scripts.UpdateCancerStudy' ,
43- 'study_es_0' , 'AVAILABLE' , '--noprogress' )
4442 mol_profile_calls = [
4543 call (* common_part , 'org.mskcc.cbio.portal.scripts.ImportProfileData' , '--meta' , f'{ study_directory } /meta_cna_log2.txt' , '--loadMode' , 'bulkload' , '--update-info' , 'False' , '--data' , f'{ study_directory } /data_cna_log2.txt' , '--noprogress' ),
4644 call (* common_part , 'org.mskcc.cbio.portal.scripts.ImportProfileData' , '--meta' , f'{ study_directory } /meta_expression_median.txt' , '--loadMode' , 'bulkload' , '--update-info' , 'False' , '--data' , f'{ study_directory } /data_expression_median.txt' , '--noprogress' ),
@@ -80,14 +78,15 @@ def test_full_study_load(self, run_java, locate_jar):
8078 call (* common_part , 'org.mskcc.cbio.portal.scripts.ImportSampleList' , f'{ study_directory } /case_lists/cases_sequenced.txt' , '--noprogress' ),
8179 call (* common_part , 'org.mskcc.cbio.portal.scripts.ImportSampleList' , f'{ study_directory } /case_lists/cases_test.txt' , '--noprogress' ),
8280 call (* common_part , 'org.mskcc.cbio.portal.scripts.AddCaseList' , 'study_es_0' , 'all' , '--noprogress' ),
83- make_study_available_call ,
8481 ])
8582
8683 self .assertTrue (run_java .call_args_list .index (remove_study_call ) < run_java .call_args_list .index (create_study_call ))
8784 self .assertTrue (run_java .call_args_list .index (create_study_call ) < run_java .call_args_list .index (clinical_sample_call ))
8885 self .assertTrue (all (run_java .call_args_list .index (clinical_sample_call ) < run_java .call_args_list .index (mol_profile_call )
8986 for mol_profile_call in mol_profile_calls ))
90- self .assertEqual (run_java .call_args_list [- 1 ], make_study_available_call )
87+ # The study is left UNAVAILABLE until the derived tables are rebuilt
88+ self .assertNotIn ('AVAILABLE' , [c .args [- 2 ] for c in run_java .call_args_list ])
89+ self .assertEqual (study_id , 'study_es_0' )
9190
9291
9392 @mock .patch ('importer.cbioportalImporter.locate_jar' )
@@ -101,7 +100,7 @@ def test_incremental_load(self, run_java, locate_jar):
101100 data_directory = 'test_data/study_es_0_inc'
102101 args = ['--data_directory' , data_directory ]
103102 parsed_args = cbioportalImporter .interface (args )
104- cbioportalImporter .main (parsed_args )
103+ study_id = cbioportalImporter .main (parsed_args )
105104
106105 clinical_patient_call = call (* common_part , 'org.mskcc.cbio.portal.scripts.ImportClinicalData' , '--overwrite-existing' ,
107106 '--meta' , f'{ data_directory } /meta_clinical_patients.txt' , '--loadMode' , 'bulkload' , '--data' , f'{ data_directory } /data_clinical_patients.txt' , '--noprogress' )
@@ -130,8 +129,12 @@ def test_incremental_load(self, run_java, locate_jar):
130129 seg_call = call (* common_part , 'org.mskcc.cbio.portal.scripts.ImportCopyNumberSegmentData' , '--overwrite-existing' ,
131130 '--meta' , f'{ data_directory } /meta_cna_hg19_seg.txt' , '--loadMode' , 'bulkload' , '--data' , f'{ data_directory } /data_cna_hg19.seg' , '--noprogress' )
132131
132+ make_study_unavailable_call = call (* common_part , 'org.mskcc.cbio.portal.scripts.UpdateCancerStudy' ,
133+ 'study_es_0' , 'UNAVAILABLE' , '--noprogress' )
134+
133135 self .assertCountEqual (run_java .call_args_list , [
134136 call (* common_part , 'org.mskcc.cbio.portal.util.VersionUtil' ,),
137+ make_study_unavailable_call ,
135138 clinical_patient_call ,
136139 clinical_sample_call ,
137140 mutation_call ,
@@ -149,6 +152,8 @@ def test_incremental_load(self, run_java, locate_jar):
149152
150153 self .assertTrue (run_java .call_args_list .index (clinical_sample_call ) < run_java .call_args_list .index (mutation_call ))
151154 self .assertTrue (run_java .call_args_list .index (clinical_sample_call ) < run_java .call_args_list .index (case_list_call ))
155+ self .assertEqual (run_java .call_args_list [1 ], make_study_unavailable_call )
156+ self .assertEqual (study_id , 'study_es_0' )
152157
153158
154159 @mock .patch ('importer.cbioportalImporter.locate_jar' )
@@ -165,11 +170,30 @@ def test_incremental_load_cna_discrete_long(self, run_java, locate_jar):
165170 cna_discrete_long_call = call (* common_part , 'org.mskcc.cbio.portal.scripts.ImportProfileData' , '--overwrite-existing' ,
166171 '--meta' , f'{ data_directory } /meta_cna_discrete_long.txt' , '--loadMode' , 'bulkload' , '--update-info' , 'False' , '--data' , f'{ data_directory } /data_cna_discrete_long.txt' , '--noprogress' )
167172
168- self .assertCountEqual (run_java .call_args_list , [
173+ self .assertEqual (run_java .call_args_list , [
169174 call (* common_part , 'org.mskcc.cbio.portal.util.VersionUtil' ,),
175+ call (* common_part , 'org.mskcc.cbio.portal.scripts.UpdateCancerStudy' , 'study_es_0' , 'UNAVAILABLE' , '--noprogress' ),
170176 cna_discrete_long_call ,
171177 ])
172178
179+ @mock .patch ('importer.cbioportalImporter.locate_jar' )
180+ @mock .patch ('importer.cbioportalImporter.run_java' )
181+ def test_make_studies_available (self , run_java , locate_jar ):
182+ '''
183+ Tests java commands that make-studies-available produces
184+ '''
185+ locate_jar .return_value = "test.jar"
186+
187+ args = ['make-studies-available' , '--study_ids' , 'STUDY1,STUDY2' ]
188+ parsed_args = cbioportalImporter .interface (args )
189+ cbioportalImporter .main (parsed_args )
190+
191+ self .assertEqual (run_java .call_args_list , [
192+ call (* common_part , 'org.mskcc.cbio.portal.util.VersionUtil' ,),
193+ call (* common_part , 'org.mskcc.cbio.portal.scripts.UpdateCancerStudy' , 'STUDY1' , 'AVAILABLE' , '--noprogress' ),
194+ call (* common_part , 'org.mskcc.cbio.portal.scripts.UpdateCancerStudy' , 'STUDY2' , 'AVAILABLE' , '--noprogress' ),
195+ ])
196+
173197 @mock .patch ('importer.cbioportalImporter.locate_jar' )
174198 @mock .patch ('importer.cbioportalImporter.run_java' )
175199 def test_remove_samples (self , run_java , locate_jar ):
0 commit comments