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.cs62
1 files changed, 36 insertions, 26 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
index d579a81..384a1f2 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
@@ -153,19 +153,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
153 //bool gotControlFile = false; 153 //bool gotControlFile = false;
154 bool gotObject1File = false; 154 bool gotObject1File = false;
155 //bool gotObject2File = false; 155 //bool gotObject2File = false;
156 string expectedObject1FileName = InventoryArchiveWriteRequest.CreateArchiveItemName(item1);
156 string expectedObject1FilePath = string.Format( 157 string expectedObject1FilePath = string.Format(
157 "{0}{1}/{2}_{3}.xml", 158 "{0}{1}{2}",
158 ArchiveConstants.INVENTORY_PATH, 159 ArchiveConstants.INVENTORY_PATH,
159 string.Format( 160 InventoryArchiveWriteRequest.CreateArchiveFolderName(objsFolder),
160 "Objects{0}{1}", ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR, objsFolder.ID), 161 expectedObject1FileName);
161 item1.Name,
162 item1Id);
163
164// string expectedObject2FileName = string.Format(
165// "{0}_{1:000}-{2:000}-{3:000}__{4}.xml",
166// part2.Name,
167// Math.Round(part2.GroupPosition.X), Math.Round(part2.GroupPosition.Y), Math.Round(part2.GroupPosition.Z),
168// part2.UUID);
169 162
170 string filePath; 163 string filePath;
171 TarArchiveReader.TarEntryType tarEntryType; 164 TarArchiveReader.TarEntryType tarEntryType;
@@ -187,7 +180,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
187// 180//
188// if (fileName.StartsWith(part1.Name)) 181// if (fileName.StartsWith(part1.Name))
189// { 182// {
190 Assert.That(filePath, Is.EqualTo(expectedObject1FilePath)); 183 Assert.That(expectedObject1FilePath, Is.EqualTo(filePath));
191 gotObject1File = true; 184 gotObject1File = true;
192// } 185// }
193// else if (fileName.StartsWith(part2.Name)) 186// else if (fileName.StartsWith(part2.Name))
@@ -202,7 +195,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
202 Assert.That(gotObject1File, Is.True, "No item1 file in archive"); 195 Assert.That(gotObject1File, Is.True, "No item1 file in archive");
203// Assert.That(gotObject2File, Is.True, "No object2 file in archive"); 196// Assert.That(gotObject2File, Is.True, "No object2 file in archive");
204 197
205 // TODO: Test presence of more files and contents of files. 198 // TODO: Test presence of more files and contents of files.
206 } 199 }
207 200
208 /// <summary> 201 /// <summary>
@@ -264,24 +257,43 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
264 CachedUserInfo userInfo 257 CachedUserInfo userInfo
265 = scene.CommsManager.UserProfileCacheService.GetUserDetails(userFirstName, userLastName); 258 = scene.CommsManager.UserProfileCacheService.GetUserDetails(userFirstName, userLastName);
266 259
267 InventoryItemBase foundItem 260 InventoryItemBase foundItem1
268 = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, userInfo.UserProfile.ID, itemName); 261 = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, userInfo.UserProfile.ID, itemName);
269 262
270 Assert.That(foundItem, Is.Not.Null, "Didn't find loaded item"); 263 Assert.That(foundItem1, Is.Not.Null, "Didn't find loaded item 1");
271 Assert.That( 264 Assert.That(
272 foundItem.CreatorId, Is.EqualTo(item1.CreatorId), 265 foundItem1.CreatorId, Is.EqualTo(item1.CreatorId),
273 "Loaded item non-uuid creator doesn't match original"); 266 "Loaded item non-uuid creator doesn't match original");
274 Assert.That( 267 Assert.That(
275 foundItem.CreatorIdAsUuid, Is.EqualTo(userItemCreatorUuid), 268 foundItem1.CreatorIdAsUuid, Is.EqualTo(userItemCreatorUuid),
276 "Loaded item uuid creator doesn't match original"); 269 "Loaded item uuid creator doesn't match original");
277 Assert.That(foundItem.Owner, Is.EqualTo(userUuid), 270 Assert.That(foundItem1.Owner, Is.EqualTo(userUuid),
278 "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");
279 } 290 }
280 291
281 /// <summary> 292 /// <summary>
282 /// 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
283 /// no account exists with the creator name 294 /// no account exists with the creator name
284 /// </summary> 295 /// </summary>
296 /// Disabled since temporary profiles have not yet been implemented.
285 //[Test] 297 //[Test]
286 public void TestLoadIarV0_1TempProfiles() 298 public void TestLoadIarV0_1TempProfiles()
287 { 299 {
@@ -385,16 +397,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
385 string folder2Name = "b"; 397 string folder2Name = "b";
386 string itemName = "c.lsl"; 398 string itemName = "c.lsl";
387 399
388 string folder1ArchiveName 400 string folder1ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder1Name, UUID.Random());
389 = string.Format( 401 string folder2ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder2Name, UUID.Random());
390 "{0}{1}{2}", folder1Name, ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR, UUID.Random()); 402 string itemArchiveName = InventoryArchiveWriteRequest.CreateArchiveItemName(itemName, UUID.Random());
391 string folder2ArchiveName 403
392 = string.Format(
393 "{0}{1}{2}", folder2Name, ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR, UUID.Random());
394 string itemArchivePath 404 string itemArchivePath
395 = string.Format( 405 = string.Format(
396 "{0}{1}/{2}/{3}", 406 "{0}{1}{2}{3}",
397 ArchiveConstants.INVENTORY_PATH, folder1ArchiveName, folder2ArchiveName, itemName); 407 ArchiveConstants.INVENTORY_PATH, folder1ArchiveName, folder2ArchiveName, itemArchiveName);
398 408
399 //Console.WriteLine("userInfo.RootFolder 2: {0}", userInfo.RootFolder); 409 //Console.WriteLine("userInfo.RootFolder 2: {0}", userInfo.RootFolder);
400 410