aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs2
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs4
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs31
3 files changed, 27 insertions, 10 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
index 3250ddf..50c0f93 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
@@ -233,7 +233,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
233 string originalArchivePath = archivePath; 233 string originalArchivePath = archivePath;
234 234
235 m_log.DebugFormat( 235 m_log.DebugFormat(
236 "[INVENTORY ARCHIVER]: Loading to folder {0 {1}}", rootDestFolder.Name, rootDestFolder.ID); 236 "[INVENTORY ARCHIVER]: Loading to folder {0} {1}", rootDestFolder.Name, rootDestFolder.ID);
237 237
238 InventoryFolderBase destFolder = null; 238 InventoryFolderBase destFolder = null;
239 239
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs
index 2eeb637..5ebf2fa 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs
@@ -106,8 +106,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
106 if (path == PATH_DELIMITER) 106 if (path == PATH_DELIMITER)
107 return startFolder; 107 return startFolder;
108 108
109 InventoryFolderBase foundFolder = null;
110
111 string[] components = path.Split(new string[] { PATH_DELIMITER }, 2, StringSplitOptions.None); 109 string[] components = path.Split(new string[] { PATH_DELIMITER }, 2, StringSplitOptions.None);
112 InventoryCollection contents = inventoryService.GetFolderContent(startFolder.Owner, startFolder.ID); 110 InventoryCollection contents = inventoryService.GetFolderContent(startFolder.Owner, startFolder.ID);
113 111
@@ -116,7 +114,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
116 if (folder.Name == components[0]) 114 if (folder.Name == components[0])
117 { 115 {
118 if (components.Length > 1) 116 if (components.Length > 1)
119 return FindFolderByPath(inventoryService, foundFolder, components[1]); 117 return FindFolderByPath(inventoryService, folder, components[1]);
120 else 118 else
121 return folder; 119 return folder;
122 } 120 }
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
index 5461ea2..384a1f2 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
@@ -195,7 +195,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
195 Assert.That(gotObject1File, Is.True, "No item1 file in archive"); 195 Assert.That(gotObject1File, Is.True, "No item1 file in archive");
196// Assert.That(gotObject2File, Is.True, "No object2 file in archive"); 196// Assert.That(gotObject2File, Is.True, "No object2 file in archive");
197 197
198 // TODO: Test presence of more files and contents of files. 198 // TODO: Test presence of more files and contents of files.
199 } 199 }
200 200
201 /// <summary> 201 /// <summary>
@@ -257,24 +257,43 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
257 CachedUserInfo userInfo 257 CachedUserInfo userInfo
258 = scene.CommsManager.UserProfileCacheService.GetUserDetails(userFirstName, userLastName); 258 = scene.CommsManager.UserProfileCacheService.GetUserDetails(userFirstName, userLastName);
259 259
260 InventoryItemBase foundItem 260 InventoryItemBase foundItem1
261 = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, userInfo.UserProfile.ID, itemName); 261 = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, userInfo.UserProfile.ID, itemName);
262 262
263 Assert.That(foundItem, Is.Not.Null, "Didn't find loaded item"); 263 Assert.That(foundItem1, Is.Not.Null, "Didn't find loaded item 1");
264 Assert.That( 264 Assert.That(
265 foundItem.CreatorId, Is.EqualTo(item1.CreatorId), 265 foundItem1.CreatorId, Is.EqualTo(item1.CreatorId),
266 "Loaded item non-uuid creator doesn't match original"); 266 "Loaded item non-uuid creator doesn't match original");
267 Assert.That( 267 Assert.That(
268 foundItem.CreatorIdAsUuid, Is.EqualTo(userItemCreatorUuid), 268 foundItem1.CreatorIdAsUuid, Is.EqualTo(userItemCreatorUuid),
269 "Loaded item uuid creator doesn't match original"); 269 "Loaded item uuid creator doesn't match original");
270 Assert.That(foundItem.Owner, Is.EqualTo(userUuid), 270 Assert.That(foundItem1.Owner, Is.EqualTo(userUuid),
271 "Loaded item owner doesn't match inventory reciever"); 271 "Loaded item owner doesn't match inventory reciever");
272
273 // Now try loading to a root child folder
274 UserInventoryTestUtils.CreateInventoryFolder(scene.InventoryService, userInfo.UserProfile.ID, "xA");
275 archiveReadStream = new MemoryStream(archiveReadStream.ToArray());
276 archiverModule.DearchiveInventory(userFirstName, userLastName, "xA", archiveReadStream);
277
278 InventoryItemBase foundItem2
279 = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, userInfo.UserProfile.ID, "xA/" + itemName);
280 Assert.That(foundItem2, Is.Not.Null, "Didn't find loaded item 2");
281
282 // Now try loading to a more deeply nested folder
283 UserInventoryTestUtils.CreateInventoryFolder(scene.InventoryService, userInfo.UserProfile.ID, "xB/xC");
284 archiveReadStream = new MemoryStream(archiveReadStream.ToArray());
285 archiverModule.DearchiveInventory(userFirstName, userLastName, "xB/xC", archiveReadStream);
286
287 InventoryItemBase foundItem3
288 = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, userInfo.UserProfile.ID, "xB/xC/" + itemName);
289 Assert.That(foundItem3, Is.Not.Null, "Didn't find loaded item 3");
272 } 290 }
273 291
274 /// <summary> 292 /// <summary>
275 /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where 293 /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where
276 /// no account exists with the creator name 294 /// no account exists with the creator name
277 /// </summary> 295 /// </summary>
296 /// Disabled since temporary profiles have not yet been implemented.
278 //[Test] 297 //[Test]
279 public void TestLoadIarV0_1TempProfiles() 298 public void TestLoadIarV0_1TempProfiles()
280 { 299 {