Merge pull request #39 from solgenomics/topic/fix_user_creation
[cxgn-corelibs.git] / bin / validate_cxgn_resource.pl
blob2b046eb8dbfa631ac4c7470cabdf85e94a1e374f
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4 use English;
5 use Carp;
6 use FindBin;
7 use Getopt::Std;
9 use CXGN::DB::Connection;
10 use CXGN::Tools::Wget qw/wget_filter/;
12 use Test::More;
13 use Test::Exception;
15 sub usage {
16 my $message = shift || '';
17 $message = "Error: $message\n" if $message;
18 die <<EOU;
19 $message
20 Usage:
21 $FindBin::Script resource_name ...
23 Check and test-download each of the cxgn-resources named. If
24 nothing is passed, or 'all' is passed, validate all cxgn-resources
25 that are defined.
27 Options:
29 none
31 EOU
33 sub HELP_MESSAGE {usage()}
35 our %opt;
36 getopts('',\%opt) or usage();
38 my @resources = @ARGV;
39 s!^cxgn-resource://!!i foreach @resources;
41 if( !@resources || grep lc($_) eq 'all', @resources) {
42 my $dbh = CXGN::DB::Connection->new;
43 my $l = $dbh->selectcol_arrayref('select name from public.resource_file');
44 @resources = @$l;
45 $dbh->disconnect(42);
48 plan tests => scalar(@resources);
50 foreach my $resource_name (@resources) {
51 #print "test-fetching cxgn-resource://$resource_name ...\n" unless $opt{q};
52 lives_ok {
53 wget_filter("cxgn-resource://$resource_name", {test_only => 1});
54 } "fetched $resource_name ok";