Fix bug IR-363.
[irspy-moved-to-github.git] / lib / ZOOM / IRSpy / Test / Ping.pm
index 4251b59..ec6c441 100644 (file)
@@ -1,4 +1,3 @@
-# $Id: Ping.pm,v 1.26 2007-05-08 12:18:59 mike Exp $
 
 # See the "Main" test package for documentation
 
@@ -14,7 +13,7 @@ our @ISA = qw(ZOOM::IRSpy::Test);
 use ZOOM::IRSpy::Utils qw(isodate);
 
 use Text::Iconv;
-my $conv = new Text::Iconv("LATIN1", "UTF8");
+my $conv = new Text::Iconv("LATIN1", "UTF-8");
 
 
 sub start {
@@ -25,8 +24,10 @@ sub start {
     my $xc = $conn->record()->xpath_context();
     my $user = $xc->find("e:serverInfo/e:authentication/e:user");
     my $password = $xc->find("e:serverInfo/e:authentication/e:password");
-    $options{user} = $user if $user;
-    $options{password} = $password if $password;
+    my $proxy = $xc->find("e:serverInfo/e:authentication/e:proxy");
+    $options{"*user"} = $user if $user;
+    $options{"*password"} = $password if $password;
+    $options{"*proxy"} = $proxy if $proxy;
 
     $conn->irspy_connect(undef, \%options,
                         ZOOM::Event::ZEND, \&connected,
@@ -53,9 +54,11 @@ sub connected {
            if $conn->option("init_opt_$opt");
     }
 
-    foreach my $opt (qw(serverImplementationId
-                       serverImplementationName
-                       serverImplementationVersion)) {
+    my %params = (serverImplementationId => "id",
+                 serverImplementationName => "name",
+                 serverImplementationVersion => "version",
+                );
+    foreach my $opt (keys %params) {
        my $val = $conn->option($opt);
        next if !defined $val; # not defined for SRU, for example
 
@@ -80,6 +83,7 @@ sub connected {
            $val = $maybe;
        }
        $conn->record()->store_result($opt, value => $val);
+       $conn->irspy()->var($params{$opt}, $val);
     }
 
     return ZOOM::IRSpy::Status::TEST_GOOD;
@@ -89,7 +93,7 @@ sub connected {
 sub not_connected {
     my($conn, $__UNUSED_task, $__UNUSED_udata, $exception) = @_;
 
-    $conn->log("irspy_test", "not connected: $exception");
+    $conn->log("irspy", "not connected: $exception");
     $conn->record()->store_result("probe",
                                  ok => 0,
                                  errcode => $exception->code(),