From: gggeek <giunta.gaetano@gmail.com>
Date: Thu, 31 Dec 2020 14:19:40 +0000 (+0000)
Subject: modernize extras
X-Git-Tag: 4.5.0~9
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=cad2d502b4917eaa0deac3a46bd47b6e5d22021c;p=plcapi.git

modernize extras
---

diff --git a/.travis.yml b/.travis.yml
index 4e66ee57..ce75cec6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -37,6 +37,7 @@ before_install:
   - sudo apt-get update -qq
   # Just in case there are git misconfigurations: make sure scripts are executable
   - sudo chmod 755 ./tests/ci/setup/*.sh
+  - sudo ./tests/ci/setup/setup_perl.sh
   - sudo ./tests/ci/setup/setup_apache.sh
   - sudo ./tests/ci/setup/setup_privoxy.sh
   - ./tests/ci/setup/setup_php_travis.sh
diff --git a/extras/test.pl b/extras/test.pl
index 6b3cec03..320fbe69 100644
--- a/extras/test.pl
+++ b/extras/test.pl
@@ -1,52 +1,61 @@
-#!/usr/local/bin/perl
-
-use Frontier::Client;
-
-my $serverURL='http://phpxmlrpc.sourceforge.net/server.php';
-
-# try the simplest example
-
-my $client = Frontier::Client->new( 'url' => $serverURL,
-		'debug' => 0, 'encoding' => 'iso-8859-1' );
-my $resp = $client->call("examples.getStateName", 32);
-
-print "Got '${resp}'\n";
-
-# now send a mail to nobody in particular
-
-$resp = $client->call("mail.send", ("edd", "Test",  
-	"Bonjour. Je m'appelle Gérard. Mañana. ", "freddy", "", "", 
-	'text/plain; charset="iso-8859-1"'));
-
-if ($resp->value()) {
-	print "Mail sent OK.\n";
-} else {
-	print "Error sending mail.\n";
-}
-
-# test echoing of characters works fine
-
-$resp = $client->call("examples.echo", 'Three "blind" mice - ' . 
-	"See 'how' they run");
-print $resp . "\n";
-
-# test name and age example. this exercises structs and arrays 
-
-$resp = $client->call("examples.sortByAge", 
-											[ { 'name' => 'Dave', 'age' => 35},
-												{ 'name' => 'Edd', 'age' => 45 },
-												{ 'name' => 'Fred', 'age' => 23 },
-												{ 'name' => 'Barney', 'age' => 36 } ] );
-
-my $e;
-foreach $e (@$resp) {
-	print $$e{'name'} . ", " . $$e{'age'} . "\n";
-}
-
-# test base64
-
-$resp = $client->call("examples.decode64", 
-											$client->base64("TWFyeSBoYWQgYSBsaXR0bGUgbGFtYiBTaGUgd" .
-																			"GllZCBpdCB0byBhIHB5bG9u"));
-
-print $resp . "\n";
+#!/usr/local/bin/perl
+
+use Frontier::Client;
+
+my $serverURL='http://gggeek.altervista.org/sw/xmlrpc/demo/server/server.php';
+
+# try the simplest example
+
+my $client = Frontier::Client->new(
+    'url' => $serverURL, 'debug' => 0, 'encoding' => 'iso-8859-1'
+);
+my $resp = $client->call("examples.getStateName", 32);
+
+print "Got '${resp}'\n";
+
+# now send a mail to nobody in particular
+
+$resp = $client->call("mail.send", (
+    "edd",
+    "Test",
+    "Bonjour. Je m'appelle Gérard. Mañana. ",
+    "freddy",
+    "",
+    "",
+    'text/plain; charset="iso-8859-1"')
+);
+
+if ($resp->value()) {
+    print "Mail sent OK.\n";
+} else {
+    print "Error sending mail.\n";
+}
+
+# test echoing of characters works fine
+
+$resp = $client->call("examples.echo", 'Three "blind" mice - ' . "See 'how' they run");
+print $resp . "\n";
+
+# test name and age example. this exercises structs and arrays
+
+$resp = $client->call("examples.sortByAge",
+    [
+        { 'name' => 'Dave', 'age' => 35},
+        { 'name' => 'Edd', 'age' => 45 },
+        { 'name' => 'Fred', 'age' => 23 },
+        { 'name' => 'Barney', 'age' => 36 }
+    ]
+);
+
+my $e;
+foreach $e (@$resp) {
+    print $$e{'name'} . ", " . $$e{'age'} . "\n";
+}
+
+# test base64
+
+$resp = $client->call("examples.decode64",
+    $client->base64("TWFyeSBoYWQgYSBsaXR0bGUgbGFtYiBTaGUgdGllZCBpdCB0byBhIHB5bG9u")
+);
+
+print $resp . "\n";
diff --git a/extras/test.py b/extras/test.py
index adc0aea6..034eb8a8 100644
--- a/extras/test.py
+++ b/extras/test.py
@@ -1,37 +1,47 @@
-#!/usr/local/bin/python
-
-from xmlrpclib import *
-import sys
-
-server = Server("http://phpxmlrpc.sourceforge.net/server.php")
-
-try:
-    print "Got '" + server.examples.getStateName(32) + "'"
-
-    r = server.mail.send("edd", "Test",
-                         "Bonjour. Je m'appelle Gérard. Mañana. ", "freddy", "", "", 
-                         'text/plain; charset="iso-8859-1"')
-    if r:
-        print "Mail sent OK"
-    else:
-        print "Error sending mail"
-
-
-    r = server.examples.echo('Three "blind" mice - ' + "See 'how' they run")
-    print r
-
-    # name/age example. this exercises structs and arrays
-
-    a = [ {'name': 'Dave', 'age': 35}, {'name': 'Edd', 'age': 45 },
-          {'name': 'Fred', 'age': 23}, {'name': 'Barney', 'age': 36 }]
-    r = server.examples.sortByAge(a)
-    print r
-
-    # test base 64
-    b = Binary("Mary had a little lamb She tied it to a pylon")
-    b.encode(sys.stdout)
-    r = server.examples.decode64(b)
-    print r
-    
-except Error, v:
-    print "XML-RPC Error:",v
+#!/usr/bin/env python3
+# -*- coding: iso-8859-1 -*-
+
+import xmlrpc.client
+import base64
+import sys
+
+server = xmlrpc.client.ServerProxy("http://gggeek.altervista.org/sw/xmlrpc/demo/server/server.php")
+
+try:
+    print ("Got '" + server.examples.getStateName(32) + "'")
+
+    # Disabled as demo servers often are prevented from sending mail...
+    #r = server.mail.send(
+    #    "edd", "Test",
+    #    "Bonjour. Je m'appelle Gérard. Mañana. ", "freddy", "", "", 
+    #    'text/plain; charset="iso-8859-1"'
+    #    )
+    #if r:
+    #    print ("Mail sent OK")
+    #else:
+    #    print ("Error sending mail")
+
+    r = server.examples.echo('Three "blind" mice - ' + "See 'how' they run")
+    print (r)
+
+    # name/age example. this exercises structs and arrays
+
+    a = [ 
+            {'name': 'Dave', 'age': 35}, {'name': 'Edd', 'age': 45 },
+            {'name': 'Fred', 'age': 23}, {'name': 'Barney', 'age': 36 }
+        ]
+    r = server.examples.sortByAge(a)
+    print (r)
+
+    # test base 64
+    b = 'Mary had a little lamb She tied it to a pylon'
+    b = base64.b64encode(b.encode('ascii'))
+    #print(b)
+    r = server.examples.decode64(b)
+    print (r)
+    
+except xmlrpc.client.Fault as err:
+    print("A fault occurred")
+    print("Fault code: %d" % err.faultCode)
+    print("Fault string: %s" % err.faultString)
+