aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs107
1 files changed, 69 insertions, 38 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
index 00bd27a..5130fa5 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
@@ -117,7 +117,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
117 item1.AssetID = asset1.FullID; 117 item1.AssetID = asset1.FullID;
118 item1.ID = item1Id; 118 item1.ID = item1Id;
119 InventoryFolderBase objsFolder 119 InventoryFolderBase objsFolder
120 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, userId, "Objects"); 120 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, userId, "Objects")[0];
121 item1.Folder = objsFolder.ID; 121 item1.Folder = objsFolder.ID;
122 scene.AddInventoryItem(userId, item1); 122 scene.AddInventoryItem(userId, item1);
123 123
@@ -327,7 +327,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
327 item1.AssetID = asset1.FullID; 327 item1.AssetID = asset1.FullID;
328 item1.ID = item1Id; 328 item1.ID = item1Id;
329 InventoryFolderBase objsFolder 329 InventoryFolderBase objsFolder
330 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, userId, "Objects"); 330 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, userId, "Objects")[0];
331 item1.Folder = objsFolder.ID; 331 item1.Folder = objsFolder.ID;
332 scene.AddInventoryItem(userId, item1); 332 scene.AddInventoryItem(userId, item1);
333 333
@@ -508,7 +508,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
508 public void TestNewIarPath() 508 public void TestNewIarPath()
509 { 509 {
510 TestHelper.InMethod(); 510 TestHelper.InMethod();
511 //log4net.Config.XmlConfigurator.Configure(); 511// log4net.Config.XmlConfigurator.Configure();
512 512
513 Scene scene = SceneSetupHelpers.SetupScene("inventory"); 513 Scene scene = SceneSetupHelpers.SetupScene("inventory");
514 UserAccount ua1 = UserProfileTestUtils.CreateUserWithInventory(scene); 514 UserAccount ua1 = UserProfileTestUtils.CreateUserWithInventory(scene);
@@ -516,33 +516,60 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
516 Dictionary <string, InventoryFolderBase> foldersCreated = new Dictionary<string, InventoryFolderBase>(); 516 Dictionary <string, InventoryFolderBase> foldersCreated = new Dictionary<string, InventoryFolderBase>();
517 List<InventoryNodeBase> nodesLoaded = new List<InventoryNodeBase>(); 517 List<InventoryNodeBase> nodesLoaded = new List<InventoryNodeBase>();
518 518
519 string folder1Name = "a"; 519 string folder1Name = "1";
520 string folder2Name = "b"; 520 string folder2aName = "2a";
521 string itemName = "c.lsl"; 521 string folder2bName = "2b";
522 522
523 string folder1ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder1Name, UUID.Random()); 523 string folder1ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder1Name, UUID.Random());
524 string folder2ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder2Name, UUID.Random()); 524 string folder2aArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder2aName, UUID.Random());
525 string itemArchiveName = InventoryArchiveWriteRequest.CreateArchiveItemName(itemName, UUID.Random()); 525 string folder2bArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder2bName, UUID.Random());
526 526
527 string itemArchivePath 527 string iarPath1 = string.Join("", new string[] { folder1ArchiveName, folder2aArchiveName });
528 = string.Format( 528 string iarPath2 = string.Join("", new string[] { folder1ArchiveName, folder2bArchiveName });
529 "{0}{1}{2}{3}",
530 ArchiveConstants.INVENTORY_PATH, folder1ArchiveName, folder2ArchiveName, itemArchiveName);
531 529
532 new InventoryArchiveReadRequest(scene, ua1, null, (Stream)null) 530 {
533 .ReplicateArchivePathToUserInventory( 531 // Test replication of path1
534 itemArchivePath, scene.InventoryService.GetRootFolder(ua1.PrincipalID), 532 new InventoryArchiveReadRequest(scene, ua1, null, (Stream)null)
535 foldersCreated, nodesLoaded); 533 .ReplicateArchivePathToUserInventory(
536 534 iarPath1, scene.InventoryService.GetRootFolder(ua1.PrincipalID),
537 InventoryFolderBase folder1 535 foldersCreated, nodesLoaded);
538 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, ua1.PrincipalID, "a"); 536
539 Assert.That(folder1, Is.Not.Null, "Could not find folder a"); 537 List<InventoryFolderBase> folder1Candidates
540 InventoryFolderBase folder2 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1, "b"); 538 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, ua1.PrincipalID, folder1Name);
541 Assert.That(folder2, Is.Not.Null, "Could not find folder b"); 539 Assert.That(folder1Candidates.Count, Is.EqualTo(1));
540
541 InventoryFolderBase folder1 = folder1Candidates[0];
542 List<InventoryFolderBase> folder2aCandidates
543 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1, folder2aName);
544 Assert.That(folder2aCandidates.Count, Is.EqualTo(1));
545 }
546
547 {
548 // Test replication of path2
549 new InventoryArchiveReadRequest(scene, ua1, null, (Stream)null)
550 .ReplicateArchivePathToUserInventory(
551 iarPath2, scene.InventoryService.GetRootFolder(ua1.PrincipalID),
552 foldersCreated, nodesLoaded);
553
554 List<InventoryFolderBase> folder1Candidates
555 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, ua1.PrincipalID, folder1Name);
556 Assert.That(folder1Candidates.Count, Is.EqualTo(1));
557
558 InventoryFolderBase folder1 = folder1Candidates[0];
559
560 List<InventoryFolderBase> folder2aCandidates
561 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1, folder2aName);
562 Assert.That(folder2aCandidates.Count, Is.EqualTo(1));
563
564 List<InventoryFolderBase> folder2bCandidates
565 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1, folder2bName);
566 Assert.That(folder2bCandidates.Count, Is.EqualTo(1));
567 }
542 } 568 }
543 569
544 /// <summary> 570 /// <summary>
545 /// Test replication of a partly existing archive path to the user's inventory. 571 /// Test replication of a partly existing archive path to the user's inventory. This should create
572 /// a duplicate path without the merge option.
546 /// </summary> 573 /// </summary>
547 [Test] 574 [Test]
548 public void TestPartExistingIarPath() 575 public void TestPartExistingIarPath()
@@ -555,7 +582,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
555 582
556 string folder1ExistingName = "a"; 583 string folder1ExistingName = "a";
557 string folder2Name = "b"; 584 string folder2Name = "b";
558 string itemName = "c.lsl";
559 585
560 InventoryFolderBase folder1 586 InventoryFolderBase folder1
561 = UserInventoryTestUtils.CreateInventoryFolder( 587 = UserInventoryTestUtils.CreateInventoryFolder(
@@ -563,28 +589,33 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
563 589
564 string folder1ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder1ExistingName, UUID.Random()); 590 string folder1ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder1ExistingName, UUID.Random());
565 string folder2ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder2Name, UUID.Random()); 591 string folder2ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder2Name, UUID.Random());
566 string itemArchiveName = InventoryArchiveWriteRequest.CreateArchiveItemName(itemName, UUID.Random());
567 592
568 string itemArchivePath 593 string itemArchivePath = string.Join("", new string[] { folder1ArchiveName, folder2ArchiveName });
569 = string.Format( 594
570 "{0}{1}{2}{3}",
571 ArchiveConstants.INVENTORY_PATH, folder1ArchiveName, folder2ArchiveName, itemArchiveName);
572
573 new InventoryArchiveReadRequest(scene, ua1, null, (Stream)null) 595 new InventoryArchiveReadRequest(scene, ua1, null, (Stream)null)
574 .ReplicateArchivePathToUserInventory( 596 .ReplicateArchivePathToUserInventory(
575 itemArchivePath, scene.InventoryService.GetRootFolder(ua1.PrincipalID), 597 itemArchivePath, scene.InventoryService.GetRootFolder(ua1.PrincipalID),
576 new Dictionary<string, InventoryFolderBase>(), new List<InventoryNodeBase>()); 598 new Dictionary<string, InventoryFolderBase>(), new List<InventoryNodeBase>());
577 599
578 InventoryFolderBase folder1Post 600 List<InventoryFolderBase> folder1PostCandidates
579 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, ua1.PrincipalID, folder1ExistingName); 601 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, ua1.PrincipalID, folder1ExistingName);
580 Assert.That(folder1Post.ID, Is.EqualTo(folder1.ID)); 602 Assert.That(folder1PostCandidates.Count, Is.EqualTo(2));
581 /* 603
582 InventoryFolderBase folder2 604 // FIXME: Temporarily, we're going to do something messy to make sure we pick up the created folder.
605 InventoryFolderBase folder1Post = null;
606 foreach (InventoryFolderBase folder in folder1PostCandidates)
607 {
608 if (folder.ID != folder1.ID)
609 {
610 folder1Post = folder;
611 break;
612 }
613 }
614// Assert.That(folder1Post.ID, Is.EqualTo(folder1.ID));
615
616 List<InventoryFolderBase> folder2PostCandidates
583 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1Post, "b"); 617 = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1Post, "b");
584 Assert.That(folder2, Is.Not.Null); 618 Assert.That(folder2PostCandidates.Count, Is.EqualTo(1));
585 InventoryItemBase item = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, folder2, itemName);
586 Assert.That(item, Is.Not.Null);
587 */
588 } 619 }
589 } 620 }
590} \ No newline at end of file 621} \ No newline at end of file