117 lines
3.4 KiB
Perl
117 lines
3.4 KiB
Perl
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";
|
|
<InventoryFolderBase>
|
|
<name>New Folder</name>
|
|
<agentID>
|
|
<UUID>b9cb58e8-f3c9-4af5-be47-029762baa68f</UUID>
|
|
</agentID>
|
|
<parentID>
|
|
<UUID>500ea141-2967-49e2-9e18-fcdedffe68df</UUID>
|
|
</parentID>
|
|
<folderID>
|
|
<UUID>aa6f9220-c945-0b23-6141-43c9ef734100</UUID>
|
|
</folderID>
|
|
<type>-1</type>
|
|
<version>0</version>
|
|
</InventoryFolderBase>
|
|
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";
|
|
<InventoryItemBase>
|
|
<inventoryID>
|
|
<UUID>f975d038-3bd7-4e8b-a945-f46b0c962ee3</UUID>
|
|
</inventoryID>
|
|
<assetID>
|
|
<UUID>5f50f162-1cc6-4907-99be-a4c81d7f5e10</UUID>
|
|
</assetID>
|
|
<assetType>6</assetType>
|
|
<invType>6</invType>
|
|
<parentFolderID>
|
|
<UUID>7018dc23-43a9-493f-b3f7-869a6bbad0f3</UUID>
|
|
</parentFolderID>
|
|
<avatarID>
|
|
<UUID>b9cb58e8-f3c9-4af5-be47-029762baa68f</UUID>
|
|
</avatarID>
|
|
<creatorsID>
|
|
<UUID>b9cb58e8-f3c9-4af5-be47-029762baa68f</UUID>
|
|
</creatorsID>
|
|
<inventoryName>Primitive</inventoryName>
|
|
<inventoryDescription/>
|
|
<inventoryNextPermissions>2147483647</inventoryNextPermissions>
|
|
<inventoryCurrentPermissions>526053692</inventoryCurrentPermissions>
|
|
<inventoryBasePermissions>2147483647</inventoryBasePermissions>
|
|
<inventoryEveryOnePermissions>0</inventoryEveryOnePermissions>
|
|
</InventoryItemBase>
|
|
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;
|
|
|