# # '$RCSfile$' # Copyright: 2000 Regents of the University of California # # '$Author: leinfelder $' # '$Date: 2015-07-09 00:01:42 +0000 (Thu, 09 Jul 2015) $' # '$Revision: 9234 $' # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl test.pl' ######################### We start with some black magic to print on failure. # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) BEGIN { $| = 1; print "1..1\n"; } END {print "not ok 1\n" unless $loaded;} use Metacat; $loaded = 1; print "ok 1\n"; ######################### End of black magic. # Insert your test code below (better if it prints "ok 13" # (correspondingly "not ok 13") depending on the success of chunk 13 # of the test code): my $metacatUrl = "https://dev.nceas.ucsb.edu/knb/metacat"; my $username = 'uid=kepler,o=unaffiliated,dc=ecoinformatics,dc=org'; my $password = 'kepler'; # Set up a date stamp my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); if ($min < 10) { $minstr = "0".$min; } else { $minstr = $min; } if ($sec < 10) { $secstr = "0".$sec; } else { $secstr = $sec; } my $thismon=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)[$mon]; my $timenow="$mday-$thismon-$year $hour:$minstr:$secstr"; # Set up a document accession number to use my $scope = "$thismon$mday"; my $docroot = "$scope.$minstr."; my $docrev = 1; # Chunk 2: Test metacat object creation my $metacat = Metacat->new(); if ($metacat) { $metacat->set_options( metacatUrl => $metacatUrl ); print "ok 2 metacat creation\n"; } else { print "not ok 2 metacat creation\n"; } # Chunk 3: Test metacat login my $response = $metacat->login($username, $password); if ($response) { print "ok 3 login\n"; } else { print $metacat->getMessage(); print "not ok 3 login\n"; } # Chunk 4: Test metacat insert my $xmldoc = "Scream"; my $response = $metacat->insert($docroot . $docrev, $xmldoc); if ($response) { print "ok 4 insert\n"; } else { print $metacat->getMessage(); print "not ok 4 insert\n"; } # Chunk 5: Test metacat update $xmldoc = "Scream 2"; $docrev++; my $response = $metacat->update("$docroot" . "$docrev", $xmldoc); if ($response) { print "ok 5 update\n"; } else { print $metacat->getMessage(); print "not ok 5 update\n"; } # Chunk 6: Test metacat read my $response = $metacat->read("$docroot" . "$docrev"); if ($response) { print "ok 6 read\n"; } else { print $metacat->getMessage(); print "not ok 6 read\n"; } # Chunk 7: Test metacat squery my $pathquery = "Scream"; my $response = $metacat->squery($pathquery); if ($response) { print "ok 7 squery\n"; } else { print $metacat->getMessage(); print "not ok 7 squery\n"; } # Chunk 8: Test metacat delete my $response = $metacat->delete("$docroot" . "$docrev"); if ($response) { print "ok 8 delete\n"; } else { print $metacat->getMessage(); print "not ok 8 delete\n"; } # Chunk 9: Test metacat getlastid my $response = $metacat->getLastId("$scope"); if ($response) { print "ok 9 getlastid ($response)\n"; } else { print $metacat->getMessage(); print "not ok 9 getlastid\n"; } # Chunk 10: Test metacat logout my $response = $metacat->logout($username, $password); if ($response) { print "ok 10 logout\n"; } else { print $metacat->getMessage(); print "not ok 10 logout\n"; }