@@ -533,6 +533,94 @@ def test_to_dataframe(self):
533
533
u'samp_size' , u'sequencing_meth' , u'illumina_technology' ,
534
534
u'sample_center' , u'pcr_primers' , u'study_center' })
535
535
536
+ def test_add_common_creation_steps_to_queue (self ):
537
+ """add_common_creation_steps_to_queue adds the correct sql statements
538
+ """
539
+ metadata_dict = {
540
+ '2.SKB8.640193' : {'center_name' : 'ANL' ,
541
+ 'center_project_name' : 'Test Project' ,
542
+ 'emp_status_id' : 1 ,
543
+ 'str_column' : 'Value for sample 1' ,
544
+ 'linkerprimersequence' : 'GTGCCAGCMGCCGCGGTAA' ,
545
+ 'barcodesequence' : 'GTCCGCAAGTTA' ,
546
+ 'run_prefix' : "s_G1_L001_sequences" ,
547
+ 'platform' : 'ILLUMINA' ,
548
+ 'library_construction_protocol' : 'AAAA' ,
549
+ 'experiment_design_description' : 'BBBB' },
550
+ '2.SKD8.640184' : {'center_name' : 'ANL' ,
551
+ 'center_project_name' : 'Test Project' ,
552
+ 'emp_status_id' : 1 ,
553
+ 'str_column' : 'Value for sample 2' ,
554
+ 'linkerprimersequence' : 'GTGCCAGCMGCCGCGGTAA' ,
555
+ 'barcodesequence' : 'CGTAGAGCTCTC' ,
556
+ 'run_prefix' : "s_G1_L001_sequences" ,
557
+ 'platform' : 'ILLUMINA' ,
558
+ 'library_construction_protocol' : 'AAAA' ,
559
+ 'experiment_design_description' : 'BBBB' },
560
+ }
561
+ metadata = pd .DataFrame .from_dict (metadata_dict , orient = 'index' )
562
+
563
+ conn_handler = SQLConnectionHandler ()
564
+ queue_name = "TEST_QUEUE"
565
+ conn_handler .create_queue (queue_name )
566
+ PrepTemplate ._add_common_creation_steps_to_queue (
567
+ metadata , 2 , conn_handler , queue_name )
568
+
569
+ sql_insert_common = (
570
+ 'INSERT INTO qiita.common_prep_info '
571
+ '(prep_template_id, sample_id, center_name, center_project_name, '
572
+ 'emp_status_id) '
573
+ 'VALUES (%s, %s, %s, %s, %s)' )
574
+ sql_insert_common_params_1 = (2 , '2.SKB8.640193' , 'ANL' ,
575
+ 'Test Project' , 1 )
576
+ sql_insert_common_params_2 = (2 , '2.SKD8.640184' , 'ANL' ,
577
+ 'Test Project' , 1 )
578
+
579
+ sql_insert_prep_columns = (
580
+ 'INSERT INTO qiita.prep_columns '
581
+ '(prep_template_id, column_name, column_type) '
582
+ 'VALUES (%s, %s, %s)' )
583
+
584
+ sql_create_table = (
585
+ 'CREATE TABLE qiita.prep_2 '
586
+ '(sample_id varchar NOT NULL, str_column varchar, '
587
+ 'run_prefix varchar, barcodesequence varchar, platform varchar, '
588
+ 'linkerprimersequence varchar, '
589
+ 'experiment_design_description varchar, '
590
+ 'library_construction_protocol varchar)' )
591
+
592
+ sql_insert_dynamic = (
593
+ 'INSERT INTO qiita.prep_2 '
594
+ '(sample_id, str_column, run_prefix, barcodesequence, platform, '
595
+ 'linkerprimersequence, experiment_design_description, '
596
+ 'library_construction_protocol) '
597
+ 'VALUES (%s, %s, %s, %s, %s, %s, %s, %s)' )
598
+
599
+ sql_insert_dynamic_params_1 = (
600
+ '2.SKB8.640193' , 'Value for sample 1' , 's_G1_L001_sequences' ,
601
+ 'GTCCGCAAGTTA' , 'ILLUMINA' , 'GTGCCAGCMGCCGCGGTAA' , 'BBBB' , 'AAAA' )
602
+ sql_insert_dynamic_params_2 = (
603
+ '2.SKD8.640184' , 'Value for sample 2' , 's_G1_L001_sequences' ,
604
+ 'CGTAGAGCTCTC' , 'ILLUMINA' , 'GTGCCAGCMGCCGCGGTAA' , 'BBBB' , 'AAAA' )
605
+
606
+ exp = [
607
+ (sql_insert_common , sql_insert_common_params_1 ),
608
+ (sql_insert_common , sql_insert_common_params_2 ),
609
+ (sql_insert_prep_columns , (2 , 'str_column' , 'varchar' )),
610
+ (sql_insert_prep_columns , (2 , 'run_prefix' , 'varchar' )),
611
+ (sql_insert_prep_columns , (2 , 'barcodesequence' , 'varchar' )),
612
+ (sql_insert_prep_columns , (2 , 'platform' , 'varchar' )),
613
+ (sql_insert_prep_columns , (2 , 'linkerprimersequence' , 'varchar' )),
614
+ (sql_insert_prep_columns ,
615
+ (2 , 'experiment_design_description' , 'varchar' )),
616
+ (sql_insert_prep_columns ,
617
+ (2 , 'library_construction_protocol' , 'varchar' )),
618
+ (sql_create_table , None ),
619
+ (sql_insert_dynamic , sql_insert_dynamic_params_1 ),
620
+ (sql_insert_dynamic , sql_insert_dynamic_params_2 )]
621
+
622
+ self .assertEqual (conn_handler .queues [queue_name ], exp )
623
+
536
624
537
625
@qiita_test_checker ()
538
626
class TestPrepTemplateReadWrite (SetUpTestPrepTemplate ):
0 commit comments