From 8c05b81d6860d8e0da4098cc6f59f630d7c53037 Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Tue, 25 Mar 2008 16:29:54 +0000
Subject: * Committing Lulurun's Cgi/Perl implementation of the UGAI servers. *
I love you long time.
---
share/perl/test/OpenSimTest/AssetTester.pm | 17 ++++
share/perl/test/OpenSimTest/Config.pm | 53 +++++++++++
share/perl/test/OpenSimTest/GridTester.pm | 62 +++++++++++++
share/perl/test/OpenSimTest/InventoryTester.pm | 116 +++++++++++++++++++++++++
share/perl/test/OpenSimTest/UserTester.pm | 53 +++++++++++
5 files changed, 301 insertions(+)
create mode 100644 share/perl/test/OpenSimTest/AssetTester.pm
create mode 100644 share/perl/test/OpenSimTest/Config.pm
create mode 100644 share/perl/test/OpenSimTest/GridTester.pm
create mode 100644 share/perl/test/OpenSimTest/InventoryTester.pm
create mode 100644 share/perl/test/OpenSimTest/UserTester.pm
(limited to 'share/perl/test/OpenSimTest')
diff --git a/share/perl/test/OpenSimTest/AssetTester.pm b/share/perl/test/OpenSimTest/AssetTester.pm
new file mode 100644
index 0000000..ba05205
--- /dev/null
+++ b/share/perl/test/OpenSimTest/AssetTester.pm
@@ -0,0 +1,17 @@
+package AssetTester;
+
+use strict;
+use XML::Serializer;
+use OpenSim::Utility;
+
+sub init {
+ &OpenSimTest::Config::registerHandler("get_asset", \&_get_asset);
+}
+
+sub _get_asset {
+ my $url = shift || $OpenSimTest::Config::ASSET_SERVER_URL;
+ my $asset_id = shift;
+ my $res = &OpenSim::Utility::HttpGetRequest($url . "/assets/" . $asset_id) . "\n";
+}
+
+1;
diff --git a/share/perl/test/OpenSimTest/Config.pm b/share/perl/test/OpenSimTest/Config.pm
new file mode 100644
index 0000000..14ab3ed
--- /dev/null
+++ b/share/perl/test/OpenSimTest/Config.pm
@@ -0,0 +1,53 @@
+package OpenSimTest::Config;
+
+use strict;
+
+my $apache_server_host = "localhost";
+my $opensim_server_host = "localhost";
+
+# REGION
+our $SIM_RECV_KEY = "";
+our $SIM_SEND_KEY = "";
+# ASSET
+#our $ASSET_SERVER_URL = "http://127.0.0.1:8003/";
+our $ASSET_SERVER_URL = "http://$apache_server_host/opensim/asset.cgi";
+our $ASSET_RECV_KEY = "";
+our $ASSET_SEND_KEY = "";
+# USER
+#our $USER_SERVER_URL = "http://127.0.0.1:8001/";
+our $USER_SERVER_URL = "http://$apache_server_host/opensim/user.cgi";
+our $USER_RECV_KEY = "";
+our $USER_SEND_KEY = "";
+# GRID
+#our $GRID_SERVER_URL = "http://127.0.0.1:8001/";
+our $GRID_SERVER_URL = "http://$apache_server_host/opensim/grid.cgi";
+our $GRID_RECV_KEY = "";
+our $GRID_SEND_KEY = "";
+# INVENTORY
+#our $INVENTORY_SERVER_URL = "http://127.0.0.1:8004";
+our $INVENTORY_SERVER_URL = "http://$apache_server_host/opensim/inventory.cgi";
+# handler list
+our %HANDLER_LIST = ();
+
+our %APACHE_SERVERS = (
+ user => "http://$apache_server_host/opensim/user.cgi",
+ grid => "http://$apache_server_host/opensim/grid.cgi",
+ asset => "http://$apache_server_host/opensim/asset.cgi",
+ inventory => "http://$apache_server_host/opensim/inventory.cgi",
+);
+
+our %OPENSIM_SERVERS = (
+ user => "http://$opensim_server_host:8002",
+ grid => "http://$opensim_server_host:8001",
+ asset => "http://$opensim_server_host:8003",
+ inventory => "http://$opensim_server_host:8004",
+);
+
+sub registerHandler {
+ my ($name, $func) = @_;
+ $HANDLER_LIST{$name} = $func;
+}
+
+
+1;
+
diff --git a/share/perl/test/OpenSimTest/GridTester.pm b/share/perl/test/OpenSimTest/GridTester.pm
new file mode 100644
index 0000000..61fef6b
--- /dev/null
+++ b/share/perl/test/OpenSimTest/GridTester.pm
@@ -0,0 +1,62 @@
+package GridTester;
+
+use strict;
+use OpenSim::Utility;
+
+sub init {
+ &OpenSimTest::Config::registerHandler("simulator_login", \&_simulator_login);
+ &OpenSimTest::Config::registerHandler("simulator_data_request", \&_simulator_data_request);
+ &OpenSimTest::Config::registerHandler("simulator_after_region_moved", \&_simulator_after_region_moved);
+ &OpenSimTest::Config::registerHandler("map_block", \&_map_block);
+}
+
+sub _simulator_login {
+ my $url = shift || $OpenSimTest::Config::GRID_SERVER_URL;
+ my @param = @_;
+ my %xml_rpc_param = (
+ "authkey" => "null",
+ "UUID" => $param[0],
+ "sim_ip" => $param[1],
+ "sim_port" => $param[2],
+ "region_locx" => 1000,
+ "region_locy" => 1000,
+ "sim_name" => "OpenTest",
+ "http_port" => 9000,
+ "remoting_port" => 8895,
+ "map-image-id" => "0e5a5e87-08d9-4b37-9b8e-a4c3c4e409ab",
+ );
+ return &OpenSim::Utility::XMLRPCCall($url, "simulator_login", \%xml_rpc_param);
+}
+
+sub _map_block {
+ my $url = shift || $OpenSimTest::Config::GRID_SERVER_URL;
+ my @param = @_;
+ my %xml_rpc_param = (
+ xmin => $param[0],
+ ymin => $param[1],
+ xmax => $param[2],
+ ymax => $param[3],
+ );
+ return &OpenSim::Utility::XMLRPCCall($url, "map_block", \%xml_rpc_param);
+}
+
+sub _simulator_data_request {
+ my $url = shift || $OpenSimTest::Config::GRID_SERVER_URL;
+ my @param = @_;
+ my %xml_rpc_param = (
+ region_handle => $param[0],
+ authkey => undef,
+ );
+ return &OpenSim::Utility::XMLRPCCall($url, "simulator_data_request", \%xml_rpc_param);
+}
+
+sub _simulator_after_region_moved {
+ my $url = shift || $OpenSimTest::Config::GRID_SERVER_URL;
+ my @param = @_;
+ my %xml_rpc_param = (
+ UUID => $param[0],
+ );
+ return &OpenSim::Utility::XMLRPCCall($url, "simulator_after_region_moved", \%xml_rpc_param);
+}
+
+1;
diff --git a/share/perl/test/OpenSimTest/InventoryTester.pm b/share/perl/test/OpenSimTest/InventoryTester.pm
new file mode 100644
index 0000000..76615b1
--- /dev/null
+++ b/share/perl/test/OpenSimTest/InventoryTester.pm
@@ -0,0 +1,116 @@
+package InventoryTester;
+
+use strict;
+use XML::Serializer;
+use OpenSim::Utility;
+
+sub init {
+ &OpenSimTest::Config::registerHandler("create_inventory", \&_create_inventory);
+ &OpenSimTest::Config::registerHandler("root_folders", \&_root_folders);
+ &OpenSimTest::Config::registerHandler("get_inventory", \&_get_inventory);
+ &OpenSimTest::Config::registerHandler("new_item", \&_new_item);
+ &OpenSimTest::Config::registerHandler("new_folder", \&_new_folder);
+}
+
+sub _apache_flag {
+ my $url = shift;
+ return $url =~ /inventory.cgi/ ? 1 : 0;
+}
+
+sub _new_folder {
+ my $url = shift || $OpenSimTest::Config::INVENTORY_SERVER_URL;
+ my $post_data =<<"POSTDATA";
+
+New Folder
+
+b9cb58e8-f3c9-4af5-be47-029762baa68f
+
+
+500ea141-2967-49e2-9e18-fcdedffe68df
+
+
+aa6f9220-c945-0b23-6141-43c9ef734100
+
+-1
+0
+
+POSTDATA
+ if (&_apache_flag($url)) {
+ $post_data = "POSTDATA=" . $post_data; # TODO: bad temporary solution
+ }
+ my $res = &OpenSim::Utility::HttpPostRequest($url . "/NewFolder/", $post_data) . "\n";
+}
+
+sub _new_item {
+ my $url = shift || $OpenSimTest::Config::INVENTORY_SERVER_URL;
+ my $post_data =<<"POSTDATA";
+
+
+f975d038-3bd7-4e8b-a945-f46b0c962ee3
+
+
+5f50f162-1cc6-4907-99be-a4c81d7f5e10
+
+6
+6
+
+7018dc23-43a9-493f-b3f7-869a6bbad0f3
+
+
+b9cb58e8-f3c9-4af5-be47-029762baa68f
+
+
+b9cb58e8-f3c9-4af5-be47-029762baa68f
+
+Primitive
+
+2147483647
+526053692
+2147483647
+0
+
+POSTDATA
+ if (&_apache_flag($url)) {
+ $post_data = "POSTDATA=" . $post_data;
+ }
+ my $res = &OpenSim::Utility::HttpPostRequest($url . "/NewItem/", $post_data) . "\n";
+}
+
+sub _get_inventory {
+ my $url = shift || $OpenSimTest::Config::INVENTORY_SERVER_URL;
+ my $uuid = shift;
+ my $serializer = new XML::Serializer($uuid, "guid");
+ my $post_data = $serializer->to_string(XML::Serializer::WITH_HEADER);
+ if (&_apache_flag($url)) {
+ $post_data = "POSTDATA=" . $post_data;
+ }
+ my $res = &OpenSim::Utility::HttpPostRequest($url . "/GetInventory/", $post_data) . "\n";
+ return 1;
+}
+
+sub _create_inventory {
+ my $url = shift || $OpenSimTest::Config::INVENTORY_SERVER_URL;
+ my $uuid = shift;
+ my $serializer = new XML::Serializer($uuid, "guid");
+ my $post_data = $serializer->to_string(XML::Serializer::WITH_HEADER);
+ if (&_apache_flag($url)) {
+ $post_data = "POSTDATA=" . $post_data;
+ }
+ my $res = &OpenSim::Utility::HttpPostRequest($url . "/CreateInventory/", $post_data) . "\n";
+ return 1;
+}
+
+sub _root_folders {
+ my $url = shift || $OpenSimTest::Config::INVENTORY_SERVER_URL;
+ my $uuid = shift;
+ my $serializer = new XML::Serializer($uuid, "guid");
+ my $post_data = $serializer->to_string(XML::Serializer::WITH_HEADER);
+ if (&_apache_flag($url)) {
+ $post_data = "POSTDATA=" . $post_data;
+ }
+ my $res = &OpenSim::Utility::HttpPostRequest($url . "/RootFolders/", $post_data) . "\n";
+ return 1;
+}
+
+1;
+
diff --git a/share/perl/test/OpenSimTest/UserTester.pm b/share/perl/test/OpenSimTest/UserTester.pm
new file mode 100644
index 0000000..194102a
--- /dev/null
+++ b/share/perl/test/OpenSimTest/UserTester.pm
@@ -0,0 +1,53 @@
+package UserTester;
+
+use strict;
+use Digest::MD5;
+use OpenSim::Utility;
+
+my $user_server_url;
+
+sub init {
+ &OpenSimTest::Config::registerHandler("login_to_simulator", \&_login_to_simulator);
+ &OpenSimTest::Config::registerHandler("get_user_by_name", \&_get_user_by_name);
+ &OpenSimTest::Config::registerHandler("get_user_by_uuid", \&_get_user_by_uuid);
+ &OpenSimTest::Config::registerHandler("get_avatar_picker_avatar", \&_get_avatar_picker_avatar);
+}
+
+sub _login_to_simulator {
+ my $url = shift || $OpenSimTest::Config::USER_SERVER_URL;
+ my @param = @_;
+ my %xml_rpc_param = (
+ first => $param[0],
+ last => $param[1],
+ passwd => "\$1\$" . Digest::MD5::md5_hex($param[2]),
+ start => "last",
+ version => "1.18.3.5",
+ mac => "cc82e1e2bfd24e5424d66b4fd3f70d55",
+ );
+ return &OpenSim::Utility::XMLRPCCall($url, "login_to_simulator", \%xml_rpc_param);
+}
+
+sub _get_user_by_name {
+ my $url = shift || $OpenSimTest::Config::USER_SERVER_URL;
+ my @param = @_;
+ my %xml_rpc_param = (
+ avatar_name => $param[0],
+ );
+ return &OpenSim::Utility::XMLRPCCall($url, "get_user_by_name", \%xml_rpc_param);
+}
+
+# sample uuid:
+# db836502-de98-49c9-9edc-b90a67beb0a8
+sub _get_user_by_uuid {
+ my $url = shift || $OpenSimTest::Config::USER_SERVER_URL;
+ my @param = @_;
+ my %xml_rpc_param = (
+ avatar_uuid => $param[0],
+ );
+ return &OpenSim::Utility::XMLRPCCall($url, "get_user_by_uuid", \%xml_rpc_param);
+}
+
+sub _get_avatar_picker_avatar {
+}
+
+1;
--
cgit v1.1