diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs | 161 |
1 files changed, 72 insertions, 89 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs index d5fc666..3c4bc7b 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs | |||
@@ -55,14 +55,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests | |||
55 | { | 55 | { |
56 | protected ManualResetEvent mre = new ManualResetEvent(false); | 56 | protected ManualResetEvent mre = new ManualResetEvent(false); |
57 | 57 | ||
58 | private void InventoryReceived(UUID userId) | ||
59 | { | ||
60 | lock (this) | ||
61 | { | ||
62 | Monitor.PulseAll(this); | ||
63 | } | ||
64 | } | ||
65 | |||
66 | private void SaveCompleted( | 58 | private void SaveCompleted( |
67 | Guid id, bool succeeded, UserAccount userInfo, string invPath, Stream saveStream, | 59 | Guid id, bool succeeded, UserAccount userInfo, string invPath, Stream saveStream, |
68 | Exception reportedException) | 60 | Exception reportedException) |
@@ -198,8 +190,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests | |||
198 | [Test] | 190 | [Test] |
199 | public void TestLoadIarV0_1ExistingUsers() | 191 | public void TestLoadIarV0_1ExistingUsers() |
200 | { | 192 | { |
201 | TestHelper.InMethod(); | 193 | TestHelper.InMethod(); |
202 | |||
203 | //log4net.Config.XmlConfigurator.Configure(); | 194 | //log4net.Config.XmlConfigurator.Configure(); |
204 | 195 | ||
205 | string userFirstName = "Mr"; | 196 | string userFirstName = "Mr"; |
@@ -284,95 +275,87 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests | |||
284 | Assert.That(foundItem3, Is.Not.Null, "Didn't find loaded item 3"); | 275 | Assert.That(foundItem3, Is.Not.Null, "Didn't find loaded item 3"); |
285 | } | 276 | } |
286 | 277 | ||
287 | // REFACTORING PROBLEM. Needs rewrite. | 278 | [Test] |
288 | // [Test] | 279 | public void TestIarV0_1WithEscapedChars() |
289 | // public void TestIarV0_1WithEscapedChars() | 280 | { |
290 | // { | 281 | TestHelper.InMethod(); |
291 | // TestHelper.InMethod(); | 282 | // log4net.Config.XmlConfigurator.Configure(); |
292 | //// log4net.Config.XmlConfigurator.Configure(); | ||
293 | 283 | ||
294 | // string itemName = "You & you are a mean/man/"; | 284 | string itemName = "You & you are a mean/man/"; |
295 | // string humanEscapedItemName = @"You & you are a mean\/man\/"; | 285 | string humanEscapedItemName = @"You & you are a mean\/man\/"; |
296 | // string userPassword = "meowfood"; | 286 | string userPassword = "meowfood"; |
297 | 287 | ||
298 | // InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); | 288 | InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); |
299 | 289 | ||
300 | // Scene scene = SceneSetupHelpers.SetupScene("Inventory"); | 290 | Scene scene = SceneSetupHelpers.SetupScene("Inventory"); |
301 | // SceneSetupHelpers.SetupSceneModules(scene, archiverModule); | 291 | SceneSetupHelpers.SetupSceneModules(scene, archiverModule); |
302 | // CommunicationsManager cm = scene.CommsManager; | ||
303 | |||
304 | // // Create user | ||
305 | // string userFirstName = "Jock"; | ||
306 | // string userLastName = "Stirrup"; | ||
307 | // UUID userId = UUID.Parse("00000000-0000-0000-0000-000000000020"); | ||
308 | |||
309 | // lock (this) | ||
310 | // { | ||
311 | // UserProfileTestUtils.CreateUserWithInventory( | ||
312 | // cm, userFirstName, userLastName, userPassword, userId, InventoryReceived); | ||
313 | // Monitor.Wait(this, 60000); | ||
314 | // } | ||
315 | |||
316 | // // Create asset | ||
317 | // SceneObjectGroup object1; | ||
318 | // SceneObjectPart part1; | ||
319 | // { | ||
320 | // string partName = "part name"; | ||
321 | // UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000040"); | ||
322 | // PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere(); | ||
323 | // Vector3 groupPosition = new Vector3(10, 20, 30); | ||
324 | // Quaternion rotationOffset = new Quaternion(20, 30, 40, 50); | ||
325 | // Vector3 offsetPosition = new Vector3(5, 10, 15); | ||
326 | |||
327 | // part1 | ||
328 | // = new SceneObjectPart( | ||
329 | // ownerId, shape, groupPosition, rotationOffset, offsetPosition); | ||
330 | // part1.Name = partName; | ||
331 | |||
332 | // object1 = new SceneObjectGroup(part1); | ||
333 | // scene.AddNewSceneObject(object1, false); | ||
334 | // } | ||
335 | |||
336 | // UUID asset1Id = UUID.Parse("00000000-0000-0000-0000-000000000060"); | ||
337 | // AssetBase asset1 = AssetHelpers.CreateAsset(asset1Id, object1); | ||
338 | // scene.AssetService.Store(asset1); | ||
339 | |||
340 | // // Create item | ||
341 | // UUID item1Id = UUID.Parse("00000000-0000-0000-0000-000000000080"); | ||
342 | // InventoryItemBase item1 = new InventoryItemBase(); | ||
343 | // item1.Name = itemName; | ||
344 | // item1.AssetID = asset1.FullID; | ||
345 | // item1.ID = item1Id; | ||
346 | // InventoryFolderBase objsFolder | ||
347 | // = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, userId, "Objects"); | ||
348 | // item1.Folder = objsFolder.ID; | ||
349 | // scene.AddInventoryItem(userId, item1); | ||
350 | 292 | ||
351 | // MemoryStream archiveWriteStream = new MemoryStream(); | 293 | // Create user |
352 | // archiverModule.OnInventoryArchiveSaved += SaveCompleted; | 294 | string userFirstName = "Jock"; |
295 | string userLastName = "Stirrup"; | ||
296 | UUID userId = UUID.Parse("00000000-0000-0000-0000-000000000020"); | ||
297 | UserProfileTestUtils.CreateUserWithInventory(scene, userFirstName, userLastName, userId, "meowfood"); | ||
298 | |||
299 | // Create asset | ||
300 | SceneObjectGroup object1; | ||
301 | SceneObjectPart part1; | ||
302 | { | ||
303 | string partName = "part name"; | ||
304 | UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000040"); | ||
305 | PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere(); | ||
306 | Vector3 groupPosition = new Vector3(10, 20, 30); | ||
307 | Quaternion rotationOffset = new Quaternion(20, 30, 40, 50); | ||
308 | Vector3 offsetPosition = new Vector3(5, 10, 15); | ||
353 | 309 | ||
354 | // mre.Reset(); | 310 | part1 |
355 | // archiverModule.ArchiveInventory( | 311 | = new SceneObjectPart( |
356 | // Guid.NewGuid(), userFirstName, userLastName, "Objects", userPassword, archiveWriteStream); | 312 | ownerId, shape, groupPosition, rotationOffset, offsetPosition); |
357 | // mre.WaitOne(60000, false); | 313 | part1.Name = partName; |
358 | 314 | ||
359 | // // LOAD ITEM | 315 | object1 = new SceneObjectGroup(part1); |
360 | // MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); | 316 | scene.AddNewSceneObject(object1, false); |
317 | } | ||
318 | |||
319 | UUID asset1Id = UUID.Parse("00000000-0000-0000-0000-000000000060"); | ||
320 | AssetBase asset1 = AssetHelpers.CreateAsset(asset1Id, object1); | ||
321 | scene.AssetService.Store(asset1); | ||
322 | |||
323 | // Create item | ||
324 | UUID item1Id = UUID.Parse("00000000-0000-0000-0000-000000000080"); | ||
325 | InventoryItemBase item1 = new InventoryItemBase(); | ||
326 | item1.Name = itemName; | ||
327 | item1.AssetID = asset1.FullID; | ||
328 | item1.ID = item1Id; | ||
329 | InventoryFolderBase objsFolder | ||
330 | = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, userId, "Objects"); | ||
331 | item1.Folder = objsFolder.ID; | ||
332 | scene.AddInventoryItem(userId, item1); | ||
333 | |||
334 | MemoryStream archiveWriteStream = new MemoryStream(); | ||
335 | archiverModule.OnInventoryArchiveSaved += SaveCompleted; | ||
336 | |||
337 | mre.Reset(); | ||
338 | archiverModule.ArchiveInventory( | ||
339 | Guid.NewGuid(), userFirstName, userLastName, "Objects", userPassword, archiveWriteStream); | ||
340 | mre.WaitOne(60000, false); | ||
341 | |||
342 | // LOAD ITEM | ||
343 | MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); | ||
361 | 344 | ||
362 | // archiverModule.DearchiveInventory(userFirstName, userLastName, "Scripts", userPassword, archiveReadStream); | 345 | archiverModule.DearchiveInventory(userFirstName, userLastName, "Scripts", userPassword, archiveReadStream); |
363 | 346 | ||
364 | // InventoryItemBase foundItem1 | 347 | InventoryItemBase foundItem1 |
365 | // = InventoryArchiveUtils.FindItemByPath( | 348 | = InventoryArchiveUtils.FindItemByPath( |
366 | // scene.InventoryService, userId, "Scripts/Objects/" + humanEscapedItemName); | 349 | scene.InventoryService, userId, "Scripts/Objects/" + humanEscapedItemName); |
367 | 350 | ||
368 | // Assert.That(foundItem1, Is.Not.Null, "Didn't find loaded item 1"); | 351 | Assert.That(foundItem1, Is.Not.Null, "Didn't find loaded item 1"); |
369 | //// Assert.That( | ||
370 | //// foundItem1.CreatorId, Is.EqualTo(userUuid), | ||
371 | //// "Loaded item non-uuid creator doesn't match that of the loading user"); | ||
372 | // Assert.That( | 352 | // Assert.That( |
373 | // foundItem1.Name, Is.EqualTo(itemName), | 353 | // foundItem1.CreatorId, Is.EqualTo(userUuid), |
374 | // "Loaded item name doesn't match saved name"); | 354 | // "Loaded item non-uuid creator doesn't match that of the loading user"); |
375 | // } | 355 | Assert.That( |
356 | foundItem1.Name, Is.EqualTo(itemName), | ||
357 | "Loaded item name doesn't match saved name"); | ||
358 | } | ||
376 | 359 | ||
377 | /// <summary> | 360 | /// <summary> |
378 | /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where | 361 | /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where |