From ad7214620f43666aba7a48c4777ee24dbd664b86 Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Mon, 18 May 2009 17:46:14 +0000
Subject: * Re-enable save oar test by loading asset data plugins from test
mock class * Actually spit out the exception caught by the plugin loader -
not much point having plugins throw exceptions if we are just going to ignore
them
---
.../Archiver/Tests/InventoryArchiverTests.cs | 195 ++++++++++-----------
1 file changed, 96 insertions(+), 99 deletions(-)
(limited to 'OpenSim/Region/CoreModules/Avatar/Inventory')
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
index 296d4c1..b979a35 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
@@ -66,135 +66,132 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
///
/// Test saving a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet).
///
-// [Test]
-// public void TestSaveIarV0p1()
-// {
-// TestHelper.InMethod();
-// //log4net.Config.XmlConfigurator.Configure();
+ //[Test]
+ public void TestSaveIarV0p1()
+ {
+ TestHelper.InMethod();
+ //log4net.Config.XmlConfigurator.Configure();
-// InventoryArchiverModule archiverModule = new InventoryArchiverModule();
+ InventoryArchiverModule archiverModule = new InventoryArchiverModule();
-// Scene scene = SceneSetupHelpers.SetupScene(false);
-// SceneSetupHelpers.SetupSceneModules(scene, archiverModule);
-// CommunicationsManager cm = scene.CommsManager;
+ Scene scene = SceneSetupHelpers.SetupScene(false);
+ SceneSetupHelpers.SetupSceneModules(scene, archiverModule);
+ CommunicationsManager cm = scene.CommsManager;
-// // Create user
-// string userFirstName = "Jock";
-// string userLastName = "Stirrup";
-// UUID userId = UUID.Parse("00000000-0000-0000-0000-000000000020");
-// cm.UserAdminService.AddUser(userFirstName, userLastName, string.Empty, string.Empty, 1000, 1000, userId);
-// CachedUserInfo userInfo = cm.UserProfileCacheService.GetUserDetails(userId);
-// userInfo.FetchInventory();
+ // Create user
+ string userFirstName = "Jock";
+ string userLastName = "Stirrup";
+ UUID userId = UUID.Parse("00000000-0000-0000-0000-000000000020");
+ cm.UserAdminService.AddUser(userFirstName, userLastName, string.Empty, string.Empty, 1000, 1000, userId);
+ CachedUserInfo userInfo = cm.UserProfileCacheService.GetUserDetails(userId);
+ userInfo.FetchInventory();
-// // Create asset
-// SceneObjectGroup object1;
-// SceneObjectPart part1;
-// {
-// string partName = "My Little Dog Object";
-// UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000040");
-// PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere();
-// Vector3 groupPosition = new Vector3(10, 20, 30);
-// Quaternion rotationOffset = new Quaternion(20, 30, 40, 50);
-// Vector3 offsetPosition = new Vector3(5, 10, 15);
+ // Create asset
+ SceneObjectGroup object1;
+ SceneObjectPart part1;
+ {
+ string partName = "My Little Dog Object";
+ UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000040");
+ PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere();
+ Vector3 groupPosition = new Vector3(10, 20, 30);
+ Quaternion rotationOffset = new Quaternion(20, 30, 40, 50);
+ Vector3 offsetPosition = new Vector3(5, 10, 15);
-// part1
-// = new SceneObjectPart(
-// ownerId, shape, groupPosition, rotationOffset, offsetPosition);
-// part1.Name = partName;
+ part1
+ = new SceneObjectPart(
+ ownerId, shape, groupPosition, rotationOffset, offsetPosition);
+ part1.Name = partName;
-// object1 = new SceneObjectGroup(part1);
-// scene.AddNewSceneObject(object1, false);
-// }
+ object1 = new SceneObjectGroup(part1);
+ scene.AddNewSceneObject(object1, false);
+ }
-// UUID asset1Id = UUID.Parse("00000000-0000-0000-0000-000000000060");
-// AssetBase asset1 = new AssetBase();
-// asset1.FullID = asset1Id;
-// asset1.Data = Encoding.ASCII.GetBytes(SceneObjectSerializer.ToXml2Format(object1));
-// scene.AssetService.Store(asset1);
+ UUID asset1Id = UUID.Parse("00000000-0000-0000-0000-000000000060");
+ AssetBase asset1 = new AssetBase();
+ asset1.FullID = asset1Id;
+ asset1.Data = Encoding.ASCII.GetBytes(SceneObjectSerializer.ToXml2Format(object1));
+ scene.AssetService.Store(asset1);
-// // Create item
-// UUID item1Id = UUID.Parse("00000000-0000-0000-0000-000000000080");
-// InventoryItemBase item1 = new InventoryItemBase();
-// item1.Name = "My Little Dog";
-// item1.AssetID = asset1.FullID;
-// item1.ID = item1Id;
-// item1.Folder = userInfo.RootFolder.FindFolderByPath("Objects").ID;
-// scene.AddInventoryItem(userId, item1);
+ // Create item
+ UUID item1Id = UUID.Parse("00000000-0000-0000-0000-000000000080");
+ InventoryItemBase item1 = new InventoryItemBase();
+ item1.Name = "My Little Dog";
+ item1.AssetID = asset1.FullID;
+ item1.ID = item1Id;
+ item1.Folder = userInfo.RootFolder.FindFolderByPath("Objects").ID;
+ scene.AddInventoryItem(userId, item1);
-// MemoryStream archiveWriteStream = new MemoryStream();
-// archiverModule.OnInventoryArchiveSaved += SaveCompleted;
+ MemoryStream archiveWriteStream = new MemoryStream();
+ archiverModule.OnInventoryArchiveSaved += SaveCompleted;
-// lock (this)
-// {
-// archiverModule.ArchiveInventory(userFirstName, userLastName, "Objects", archiveWriteStream);
-// //AssetServerBase assetServer = (AssetServerBase)scene.CommsManager.AssetCache.AssetServer;
-// //while (assetServer.HasWaitingRequests())
-// // assetServer.ProcessNextRequest();
+ lock (this)
+ {
+ archiverModule.ArchiveInventory(userFirstName, userLastName, "Objects", archiveWriteStream);
+ //AssetServerBase assetServer = (AssetServerBase)scene.CommsManager.AssetCache.AssetServer;
+ //while (assetServer.HasWaitingRequests())
+ // assetServer.ProcessNextRequest();
-// Monitor.Wait(this, 60000);
-// }
+ Monitor.Wait(this, 60000);
+ }
-// byte[] archive = archiveWriteStream.ToArray();
-// MemoryStream archiveReadStream = new MemoryStream(archive);
-// TarArchiveReader tar = new TarArchiveReader(archiveReadStream);
+ byte[] archive = archiveWriteStream.ToArray();
+ MemoryStream archiveReadStream = new MemoryStream(archive);
+ TarArchiveReader tar = new TarArchiveReader(archiveReadStream);
-// InventoryFolderImpl objectsFolder = userInfo.RootFolder.FindFolderByPath("Objects");
+ InventoryFolderImpl objectsFolder = userInfo.RootFolder.FindFolderByPath("Objects");
-// //bool gotControlFile = false;
-// bool gotObject1File = false;
-// //bool gotObject2File = false;
-// string expectedObject1FilePath = string.Format(
-// "{0}{1}/{2}_{3}.xml",
-// ArchiveConstants.INVENTORY_PATH,
-// string.Format(
-// "Objects{0}{1}", ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR, objectsFolder.ID),
-// item1.Name,
-// item1Id);
+ //bool gotControlFile = false;
+ bool gotObject1File = false;
+ //bool gotObject2File = false;
+ string expectedObject1FilePath = string.Format(
+ "{0}{1}/{2}_{3}.xml",
+ ArchiveConstants.INVENTORY_PATH,
+ string.Format(
+ "Objects{0}{1}", ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR, objectsFolder.ID),
+ item1.Name,
+ item1Id);
-///*
// string expectedObject2FileName = string.Format(
// "{0}_{1:000}-{2:000}-{3:000}__{4}.xml",
// part2.Name,
// Math.Round(part2.GroupPosition.X), Math.Round(part2.GroupPosition.Y), Math.Round(part2.GroupPosition.Z),
// part2.UUID);
-// */
-// string filePath;
-// TarArchiveReader.TarEntryType tarEntryType;
+ string filePath;
+ TarArchiveReader.TarEntryType tarEntryType;
-// while (tar.ReadEntry(out filePath, out tarEntryType) != null)
-// {
-// Console.WriteLine("Got {0}", filePath);
+ while (tar.ReadEntry(out filePath, out tarEntryType) != null)
+ {
+ //Console.WriteLine("Got {0}", filePath);
-// /*
// if (ArchiveConstants.CONTROL_FILE_PATH == filePath)
// {
// gotControlFile = true;
// }
-// */
-// if (filePath.StartsWith(ArchiveConstants.INVENTORY_PATH) && filePath.EndsWith(".xml"))
-// {
-// //string fileName = filePath.Remove(0, "Objects/".Length);
+
+ if (filePath.StartsWith(ArchiveConstants.INVENTORY_PATH) && filePath.EndsWith(".xml"))
+ {
+ string fileName = filePath.Remove(0, "Objects/".Length);
-// //if (fileName.StartsWith(part1.Name))
-// //{
-// Assert.That(filePath, Is.EqualTo(expectedObject1FilePath));
-// gotObject1File = true;
-// //}
-// //else if (fileName.StartsWith(part2.Name))
-// //{
-// // Assert.That(fileName, Is.EqualTo(expectedObject2FileName));
-// // gotObject2File = true;
-// //}
-// }
-// }
+ if (fileName.StartsWith(part1.Name))
+ {
+ Assert.That(filePath, Is.EqualTo(expectedObject1FilePath));
+ gotObject1File = true;
+ }
+// else if (fileName.StartsWith(part2.Name))
+// {
+// Assert.That(fileName, Is.EqualTo(expectedObject2FileName));
+// gotObject2File = true;
+// }
+ }
+ }
-// //Assert.That(gotControlFile, Is.True, "No control file in archive");
-// Assert.That(gotObject1File, Is.True, "No item1 file in archive");
-// //Assert.That(gotObject2File, Is.True, "No object2 file in archive");
+// Assert.That(gotControlFile, Is.True, "No control file in archive");
+ Assert.That(gotObject1File, Is.True, "No item1 file in archive");
+// Assert.That(gotObject2File, Is.True, "No object2 file in archive");
-// // TODO: Test presence of more files and contents of files.
-// }
+ // TODO: Test presence of more files and contents of files.
+ }
///
/// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where
--
cgit v1.1