From 7bbab121589a6e42e7744ffad37b35e62775b2f9 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Fri, 12 Dec 2008 19:24:45 +0000 Subject: * Add user info move inventory folder test --- .../Tests/Cache/UserProfileCacheServiceTests.cs | 55 ++++++++++++++++++---- .../Tests/Common/Mock/TestInventoryDataPlugin.cs | 8 +++- 2 files changed, 53 insertions(+), 10 deletions(-) diff --git a/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs b/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs index a229e2a..215fa81 100644 --- a/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs +++ b/OpenSim/Framework/Communications/Tests/Cache/UserProfileCacheServiceTests.cs @@ -72,6 +72,23 @@ namespace OpenSim.Framework.Communications.Tests Assert.That(userInfo.HasReceivedInventory, Is.True); } + + /// + /// Test retrieving a child folder + /// + [Test] + public void TestGetChildFolder() + { + CommunicationsManager commsManager = UserProfileTestUtils.SetupServices(); + CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); + + UUID folderId = UUID.Parse("00000000-0000-0000-0000-000000000011"); + + Assert.That(userInfo.RootFolder.GetChildFolder(folderId), Is.Null); + userInfo.CreateFolder("testFolder", folderId, (ushort)AssetType.Animation, userInfo.RootFolder.ID); + + Assert.That(userInfo.RootFolder.GetChildFolder(folderId), Is.Not.Null); + } /// /// Test creating an inventory folder @@ -104,22 +121,42 @@ namespace OpenSim.Framework.Communications.Tests Assert.That(inventoryDataPlugin.getInventoryFolder(folderId), Is.Not.Null); Assert.That(userInfo.RootFolder.ContainsChildFolder(folderId), Is.True); } - + /// - /// Test retrieving a child folder + /// Test moving an inventory folder /// [Test] - public void TestGetChildFolder() + public void TestMoveFolder() { - CommunicationsManager commsManager = UserProfileTestUtils.SetupServices(); + IUserDataPlugin userDataPlugin = new TestUserDataPlugin(); + IInventoryDataPlugin inventoryDataPlugin = new TestInventoryDataPlugin(); + + CommunicationsManager commsManager + = UserProfileTestUtils.SetupServices(userDataPlugin, inventoryDataPlugin); CachedUserInfo userInfo = UserProfileTestUtils.CreateUserWithInventory(commsManager); + + UUID folder1Id = UUID.Parse("00000000-0000-0000-0000-000000000020"); + UUID folder2Id = UUID.Parse("00000000-0000-0000-0000-000000000021"); + UUID folderToMoveId = UUID.Parse("00000000-0000-0000-0000-000000000030"); - UUID folderId = UUID.Parse("00000000-0000-0000-0000-000000000011"); + InventoryFolderImpl rootFolder = userInfo.RootFolder; - Assert.That(userInfo.RootFolder.GetChildFolder(folderId), Is.Null); - userInfo.CreateFolder("testFolder", folderId, (ushort)AssetType.Animation, userInfo.RootFolder.ID); + userInfo.CreateFolder("folder1", folder1Id, (ushort)AssetType.Animation, rootFolder.ID); + InventoryFolderImpl folder1 = rootFolder.GetChildFolder(folder1Id); + userInfo.CreateFolder("folder2", folder2Id, (ushort)AssetType.Animation, rootFolder.ID); + InventoryFolderImpl folder2 = rootFolder.GetChildFolder(folder2Id); - Assert.That(userInfo.RootFolder.GetChildFolder(folderId), Is.Not.Null); - } + // Check folder is currently in folder1 + userInfo.CreateFolder("folderToMove", folderToMoveId, (ushort)AssetType.Animation, folder1Id); + Assert.That(folder1.ContainsChildFolder(folderToMoveId), Is.True); + + userInfo.MoveFolder(folderToMoveId, folder2Id); + + // Check folder is now in folder2 and no trace remains in folder1 + Assert.That(folder2.ContainsChildFolder(folderToMoveId), Is.True); + Assert.That(inventoryDataPlugin.getInventoryFolder(folderToMoveId).ParentID, Is.EqualTo(folder2Id)); + + Assert.That(folder1.ContainsChildFolder(folderToMoveId), Is.False); + } } } diff --git a/OpenSim/Tests/Common/Mock/TestInventoryDataPlugin.cs b/OpenSim/Tests/Common/Mock/TestInventoryDataPlugin.cs index 9e2116a..52b469b 100644 --- a/OpenSim/Tests/Common/Mock/TestInventoryDataPlugin.cs +++ b/OpenSim/Tests/Common/Mock/TestInventoryDataPlugin.cs @@ -111,7 +111,13 @@ namespace OpenSim.Tests.Common.Mock } public void updateInventoryFolder(InventoryFolderBase folder) {} - public void moveInventoryFolder(InventoryFolderBase folder) {} + + public void moveInventoryFolder(InventoryFolderBase folder) + { + // Simple replace + m_folders[folder.ID] = folder; + } + public void deleteInventoryFolder(UUID folder) {} public List fetchActiveGestures(UUID avatarID) { return null; } } -- cgit v1.1