7 use SGN::Test::Fixture;
8 use File::Temp qw | tempfile |;
9 use CXGN::Stock::Accession;
11 my $f = SGN::Test::Fixture->new();
13 my $file = "t/data/stock/test_load_stock_script.csv";
15 my ($fh, $temp_file) = tempfile( "load_stocks_stderr_XXXXX", DIR => "/tmp" );
16 my $dbhost = $f->config->{dbhost};
17 my $dbname = $f->config->{dbname};
18 my $dbpass = $f->config->{dbpass};
20 my $cmd_line = "perl bin/load_stocks.pl -H $dbhost -u janedoe -D $dbname -P $dbpass -i $file 2> $temp_file";
22 print STDERR "$cmd_line\n";
24 my @out = `$cmd_line\n`;
26 open(my $F, "<", $temp_file) || die "Can't open file $temp_file\n";
30 my $q1 = "SELECT stock_id FROM stock where uniquename = 'script_added_1'";
31 my $h1 = $f->dbh()->prepare($q1);
33 my ($stock_id) = $h1->fetchrow_array();
35 ok($stock_id, "stock id verification test");
37 my $stock = CXGN::Stock::Accession->new( schema => $f->bcs_schema, phenome_schema => $f->phenome_schema, metadata_schema => $f->metadata_schema, stock_id => $stock_id );
39 is_deeply($stock->synonyms, [ 'besty1', 'super1' ], "stock synonyms test");
41 print STDERR "POPULATIONS: ".Dumper($stock->populations());
42 is_deeply($stock->populations()->[0]->[1], 'xyz', "populations test");
44 is($stock->description(), "the very best", "stock description test");
50 print STDERR "Done.\n";