Add some more llGiveInventory() regression tests
							parent
							
								
									c6f39a0bfd
								
							
						
					
					
						commit
						3e25e6a170
					
				|  | @ -44,6 +44,7 @@ using OpenSim.Region.ScriptEngine.Shared.Api; | |||
| using OpenSim.Region.ScriptEngine.Shared.Instance; | ||||
| using OpenSim.Services.Interfaces; | ||||
| using OpenSim.Tests.Common; | ||||
| using PermissionMask = OpenSim.Framework.PermissionMask; | ||||
| 
 | ||||
| namespace OpenSim.Region.ScriptEngine.Shared.Tests | ||||
| { | ||||
|  | @ -166,5 +167,75 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests | |||
|                 Assert.That(copiedItems[0].Name, Is.EqualTo(inventoryItemName)); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Test giving inventory from an object to an avatar that is not the object's owner. | ||||
|         /// </summary> | ||||
|         [Test] | ||||
|         public void TestLlGiveInventoryO2DifferentAvatar() | ||||
|         { | ||||
|             TestHelpers.InMethod(); | ||||
|             //            TestHelpers.EnableLogging(); | ||||
| 
 | ||||
|             UUID user1Id = TestHelpers.ParseTail(0x1); | ||||
|             UUID user2Id = TestHelpers.ParseTail(0x2); | ||||
|             string inventoryItemName = "item1"; | ||||
| 
 | ||||
|             SceneObjectGroup so1 = SceneHelpers.CreateSceneObject(1, user1Id, "so1", 0x10); | ||||
|             m_scene.AddSceneObject(so1); | ||||
|             LSL_Api api = new LSL_Api(); | ||||
|             api.Initialize(m_engine, so1.RootPart, null, null); | ||||
| 
 | ||||
|             // Create an object embedded inside the first | ||||
|             UUID itemId = TestHelpers.ParseTail(0x20); | ||||
|             TaskInventoryHelpers.AddSceneObject(m_scene, so1.RootPart, inventoryItemName, itemId, user1Id); | ||||
| 
 | ||||
|             UserAccountHelpers.CreateUserWithInventory(m_scene, user2Id); | ||||
| 
 | ||||
|             api.llGiveInventory(user2Id.ToString(), inventoryItemName); | ||||
| 
 | ||||
|             InventoryItemBase receivedItem  | ||||
|                 = UserInventoryHelpers.GetInventoryItem( | ||||
|                     m_scene.InventoryService, user2Id, string.Format("Objects/{0}", inventoryItemName)); | ||||
| 
 | ||||
|             Assert.IsNotNull(receivedItem); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Test giving inventory from an object to an avatar that is not the object's owner and where the next | ||||
|         /// permissions do not include mod. | ||||
|         /// </summary> | ||||
|         [Test] | ||||
|         public void TestLlGiveInventoryO2DifferentAvatarNoMod() | ||||
|         { | ||||
|             TestHelpers.InMethod(); | ||||
| //            TestHelpers.EnableLogging(); | ||||
| 
 | ||||
|             UUID user1Id = TestHelpers.ParseTail(0x1); | ||||
|             UUID user2Id = TestHelpers.ParseTail(0x2); | ||||
|             string inventoryItemName = "item1"; | ||||
| 
 | ||||
|             SceneObjectGroup so1 = SceneHelpers.CreateSceneObject(1, user1Id, "so1", 0x10); | ||||
|             m_scene.AddSceneObject(so1); | ||||
|             LSL_Api api = new LSL_Api(); | ||||
|             api.Initialize(m_engine, so1.RootPart, null, null); | ||||
| 
 | ||||
|             // Create an object embedded inside the first | ||||
|             UUID itemId = TestHelpers.ParseTail(0x20); | ||||
|             TaskInventoryItem tii  | ||||
|                 = TaskInventoryHelpers.AddSceneObject(m_scene, so1.RootPart, inventoryItemName, itemId, user1Id); | ||||
|             tii.NextPermissions &= ~((uint)PermissionMask.Modify); | ||||
| 
 | ||||
|             UserAccountHelpers.CreateUserWithInventory(m_scene, user2Id); | ||||
| 
 | ||||
|             api.llGiveInventory(user2Id.ToString(), inventoryItemName); | ||||
| 
 | ||||
|             InventoryItemBase receivedItem  | ||||
|                 = UserInventoryHelpers.GetInventoryItem( | ||||
|                     m_scene.InventoryService, user2Id, string.Format("Objects/{0}", inventoryItemName)); | ||||
| 
 | ||||
|             Assert.IsNotNull(receivedItem); | ||||
|             Assert.AreEqual(0, receivedItem.CurrentPermissions & (uint)PermissionMask.Modify); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	 Justin Clark-Casey (justincc)
						Justin Clark-Casey (justincc)