From 896f039513398a46458b18ef49f52a9a3ac43659 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Sat, 4 Jun 2011 00:51:49 +0100
Subject: create TestGetInventoryItem()
---
.../Inventory/Archiver/InventoryArchiveUtils.cs | 20 ++++++----------
.../Framework/Scenes/Tests/UserInventoryTests.cs | 19 +++++++++++++++
.../Tests/Common/Helpers/UserInventoryHelpers.cs | 28 +++++++++++++++++++++-
3 files changed, 53 insertions(+), 14 deletions(-)
(limited to 'OpenSim')
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs
index 47e34dc..dc665c1 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs
@@ -181,25 +181,19 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
///
/// Find an item given a PATH_DELIMITOR delimited path starting from this folder.
- ///
- /// This method does not handle paths that contain multiple delimitors
+ ///
+ ///
+ /// This method does not handle paths that contain multiple delimiters
///
/// FIXME: We do not yet handle situations where folders or items have the same name. We could handle this by some
/// XPath like expression
///
/// FIXME: Delimitors which occur in names themselves are not currently escapable.
- ///
+ ///
///
- ///
- /// Inventory service to query
- ///
- ///
- /// The folder from which the path starts
- ///
- ///
- ///
- /// The path to the required item.
- ///
+ /// Inventory service to query
+ /// The folder from which the path starts
+ /// The path to the required item.
/// null if the item is not found
public static InventoryItemBase FindItemByPath(
IInventoryService inventoryService, InventoryFolderBase startFolder, string path)
diff --git a/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs b/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs
index c6bd296..bacf7c1 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs
@@ -53,6 +53,25 @@ namespace OpenSim.Region.Framework.Tests
public class UserInventoryTests
{
[Test]
+ public void TestGiveInventoryItem()
+ {
+ TestHelper.InMethod();
+// log4net.Config.XmlConfigurator.Configure();
+
+ Scene scene = SceneSetupHelpers.SetupScene();
+ UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene);
+ UserAccount user2 = UserAccountHelpers.CreateUserWithInventory(scene);
+ InventoryItemBase item1 = UserInventoryHelpers.CreateInventoryItem(scene, "item1", user1.PrincipalID);
+
+ scene.GiveInventoryItem(user2.PrincipalID, user1.PrincipalID, item1.ID);
+
+ InventoryItemBase retrievedItem1
+ = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, user2.PrincipalID, "Objects/item1");
+
+ Assert.That(retrievedItem1, Is.Not.Null);
+ }
+
+ [Test]
public void TestGiveInventoryFolder()
{
TestHelper.InMethod();
diff --git a/OpenSim/Tests/Common/Helpers/UserInventoryHelpers.cs b/OpenSim/Tests/Common/Helpers/UserInventoryHelpers.cs
index 03215f2..93b655a 100644
--- a/OpenSim/Tests/Common/Helpers/UserInventoryHelpers.cs
+++ b/OpenSim/Tests/Common/Helpers/UserInventoryHelpers.cs
@@ -43,7 +43,20 @@ namespace OpenSim.Tests.Common
public static readonly string PATH_DELIMITER = "/";
///
- /// Creates a notecard in the objects folder.
+ /// Creates a notecard in the objects folder and specify an item id.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static InventoryItemBase CreateInventoryItem(Scene scene, string itemName, UUID userId)
+ {
+ return CreateInventoryItem(scene, itemName, UUID.Random(), userId);
+ }
+
+ ///
+ /// Creates a notecard in the objects folder and specify an item id.
///
///
///
@@ -139,5 +152,18 @@ namespace OpenSim.Tests.Common
else
return null;
}
+
+ ///
+ /// Get the inventory item that matches the path name. If there are multiple items then only the first
+ /// is returned.
+ ///
+ ///
+ ///
+ ///
+ /// null if no item matching the path was found
+ public static InventoryItemBase GetInventoryItem(IInventoryService inventoryService, UUID userId, string path)
+ {
+ return InventoryArchiveUtils.FindItemByPath(inventoryService, userId, path);
+ }
}
}
\ No newline at end of file
--
cgit v1.1