X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=ztest.pl;h=c879071e55b11e330f710a895cab5f25a4c73d7d;hb=505015bde0854ca0c0ec33c071c24d2542c483f3;hp=5640d939230a108dc0d61c0fda02c8462adb22fc;hpb=8aaa9b6ef2b98a5ac710343e826d469d926371d0;p=simpleserver-moved-to-github.git diff --git a/ztest.pl b/ztest.pl index 5640d93..c879071 100755 --- a/ztest.pl +++ b/ztest.pl @@ -1,137 +1,93 @@ #!/usr/bin/perl -w + use ExtUtils::testlib; use Net::Z3950::SimpleServer; use Net::Z3950::OID; +use strict; -sub udskriv_hash { - +sub dump_hash { my $href = shift; my $key; - my $item; - - foreach $key (keys %{ $href }) { - print "$key = "; - if ($key eq "DATABASES") { - foreach $item ( @{ $href->{DATABASES} }) { - print "$item "; - } - print "\n"; - } elsif ($key eq "HANDLE") { - foreach $item ( keys %{ $href->{HANDLE} }) { - print " $item => "; - print ${ $href->{HANDLE}}{$item}; - print "\n"; - } - } else { - print $href->{$key}; - print "\n"; - } + + foreach $key (keys %$href) { + printf("%10s => %s\n", $key, $href->{$key}); } } - sub my_init_handler { + my $args = shift; + my $session = {}; - my $href = shift; - my $hash = {}; - - $hash->{Anders} = "Sønderberg Mortensen"; - $hash->{Birgit} = "Stenhøj Andersen"; - $href->{IMP_NAME} = "MyServer"; - $href->{IMP_VER} = "3.14159"; - $href->{ERR_CODE} = 0; - $href->{HANDLE} = $hash; - print "\n"; - print "---------------------------------------------------------------\n"; - print "Connection established\n"; - print "\n"; - udskriv_hash($href); - print "---------------------------------------------------------------\n"; + $args->{IMP_NAME} = "DemoServer"; + $args->{IMP_VER} = "3.14159"; + $args->{ERR_CODE} = 0; + $args->{HANDLE} = $session; } sub my_search_handler { + my $args = shift; + my $data = [{ + name => "Peter Dornan", + title => "Spokesman", + collaboration => "ATLAS" + }, { + name => "Jorn Dines Hansen", + title => "Professor", + collaboration => "HERA-B" + }, { + name => "Alain Blondel", + title => "Head of coll.", + collaboration => "ALEPH" + }]; + + my $session = $args->{HANDLE}; + my $set_id = $args->{SETNAME}; + my @database_list = @{ $args->{DATABASES} }; + my $query = $args->{QUERY}; + my $hits = 3; - my $href = shift; - my $key; - my $hash = $href->{HANDLE}; -# my $hash = {}; - - $href->{HITS} = 1; - $href->{ERR_STR} = "A"; - $hash->{Search} = "Search Handler er besøgt"; -# $href->{HANDLE} = $hash; - print "\n"; - print "---------------------------------------------------------------\n"; - print "Search handler\n"; - print "\n"; - udskriv_hash($href); - print "---------------------------------------------------------------\n"; -} - - -sub my_present_handler { - my $href = shift; - - $href->{ERR_CODE} = 0; - - $href->{ERR_STR} = ""; - print "\n"; - print "--------------------------------------------------------------\n"; - print "Present handler\n"; - print "\n"; - udskriv_hash($href); - print "--------------------------------------------------------------\n"; - return; -} - -sub my_close_handler { - my $href = shift; - - print "\n"; - print "-------------------------------------------------------------\n"; - print "Connection closed\n"; - print "\n"; - udskriv_hash($href); - print "-------------------------------------------------------------\n"; + print "------------------------------------------------------------\n"; + print "Processing query : $query\n"; + printf("Database set : %s\n", join(" ", @database_list)); + print "Setname : $set_id\n"; + print "------------------------------------------------------------\n"; + $args->{HITS} = $hits; + $session->{$set_id} = $data; + $session->{__HITS} = $hits; } sub my_fetch_handler { - my $href = shift; - my $hash = $href->{HANDLE}; - - $hash->{Fetch} = "Fetch handler er besøgt"; - ##$href->{RECORD} = "
Overskrift