|
8 | 8 |
|
9 | 9 | from v03_pipeline.lib.model import DatasetType, ReferenceGenome, SampleType
|
10 | 10 | from v03_pipeline.lib.tasks.write_sample_qc_json import WriteSampleQCJsonTask
|
| 11 | +from v03_pipeline.lib.test.mock_complete_task import MockCompleteTask |
11 | 12 | from v03_pipeline.lib.test.mocked_dataroot_testcase import MockedDatarootTestCase
|
12 | 13 |
|
13 | 14 | TEST_VCF = 'v03_pipeline/var/test/callsets/1kg_30variants.vcf'
|
| 15 | +TEST_TDR_METRICS_FILE = 'v03_pipeline/var/test/tdr_metrics.tsv' |
14 | 16 | TEST_RUN_ID = 'manual__2024-04-03'
|
15 | 17 |
|
16 | 18 |
|
17 | 19 | class WriteSampleQCJsonTaskTest(MockedDatarootTestCase):
|
18 |
| - @patch('v03_pipeline.lib.tasks.write_tdr_metrics_files.gen_bq_table_names') |
19 |
| - @patch('v03_pipeline.lib.tasks.write_tdr_metrics_file.bq_metrics_query') |
| 20 | + @patch('v03_pipeline.lib.tasks.write_sample_qc_json.WriteTDRMetricsFilesTask') |
| 21 | + @patch('v03_pipeline.lib.tasks.write_sample_qc_json.hfs.ls') |
20 | 22 | def test_call_sample_qc(
|
21 | 23 | self,
|
22 |
| - mock_bq_metrics_query: Mock, |
23 |
| - mock_gen_bq_table_names: Mock, |
| 24 | + mock_ls_tdr_dir: Mock, |
| 25 | + mock_tdr_task: Mock, |
24 | 26 | ) -> None:
|
25 |
| - mock_gen_bq_table_names.return_value = ['datarepo-7242affb.datarepo_RP_0113'] |
26 |
| - mock_bq_metrics_query.side_effect = [ |
27 |
| - iter( |
28 |
| - [ |
29 |
| - google.cloud.bigquery.table.Row( |
30 |
| - ( |
31 |
| - 'HG00731', |
32 |
| - 'Unknown', |
33 |
| - Decimal('5.1'), |
34 |
| - Decimal('93.69'), |
35 |
| - Decimal('29.31'), |
36 |
| - ), |
37 |
| - { |
38 |
| - 'collaborator_sample_id': 0, |
39 |
| - 'predicted_sex': 1, |
40 |
| - 'contamination_rate': 2, |
41 |
| - 'percent_bases_at_20x': 3, |
42 |
| - 'mean_coverage': 4, |
43 |
| - }, |
44 |
| - ), |
45 |
| - google.cloud.bigquery.table.Row( |
46 |
| - ( |
47 |
| - 'HG00732', |
48 |
| - 'Female', |
49 |
| - Decimal('5'), |
50 |
| - Decimal('90'), |
51 |
| - Decimal('28'), |
52 |
| - ), |
53 |
| - { |
54 |
| - 'collaborator_sample_id': 0, |
55 |
| - 'predicted_sex': 1, |
56 |
| - 'contamination_rate': 2, |
57 |
| - 'percent_bases_at_20x': 3, |
58 |
| - 'mean_coverage': 4, |
59 |
| - }, |
60 |
| - ), |
61 |
| - google.cloud.bigquery.table.Row( |
62 |
| - ( |
63 |
| - 'HG00733', |
64 |
| - 'Male', |
65 |
| - Decimal('6'), |
66 |
| - Decimal('85'), |
67 |
| - Decimal('36.4'), |
68 |
| - ), |
69 |
| - { |
70 |
| - 'collaborator_sample_id': 0, |
71 |
| - 'predicted_sex': 1, |
72 |
| - 'contamination_rate': 2, |
73 |
| - 'percent_bases_at_20x': 3, |
74 |
| - 'mean_coverage': 4, |
75 |
| - }, |
76 |
| - ), |
77 |
| - google.cloud.bigquery.table.Row( |
78 |
| - ('NA19675', 'Male', Decimal('0'), Decimal('80'), Decimal('30')), |
79 |
| - { |
80 |
| - 'collaborator_sample_id': 0, |
81 |
| - 'predicted_sex': 1, |
82 |
| - 'contamination_rate': 2, |
83 |
| - 'percent_bases_at_20x': 3, |
84 |
| - 'mean_coverage': 4, |
85 |
| - }, |
86 |
| - ), |
87 |
| - ], |
88 |
| - ), |
89 |
| - ] |
| 27 | + mock_tdr_task.return_value = MockCompleteTask() |
| 28 | + mock_tdr_table = Mock() |
| 29 | + mock_tdr_table.path = TEST_TDR_METRICS_FILE |
| 30 | + mock_ls_tdr_dir.return_value = [mock_tdr_table] |
| 31 | + |
90 | 32 | worker = luigi.worker.Worker()
|
91 | 33 | task = WriteSampleQCJsonTask(
|
92 | 34 | reference_genome=ReferenceGenome.GRCh38,
|
|
0 commit comments