Files
libremetaverse/LibreMetaverse.RLV.Tests/Exceptions/EditExceptionTests.cs
nooperation d905210ecf Initial commit of LibreMetaverse.RLV and LibreMetaverse.RLV.Tests.
This library provides RLV command processing and ease of use for checking current RLV permissions and restrictions
2025-08-17 19:55:33 -04:00

51 lines
2.8 KiB
C#

namespace LibreMetaverse.RLV.Tests.Exceptions
{
public class EditExceptionTests : RestrictionsBase
{
#region @edit:<UUID>=<rem/add>
[Fact]
public async Task CanEdit_Exception()
{
var objectId1 = new Guid("00000000-0000-4000-8000-000000000000");
var objectId2 = new Guid("11111111-1111-4111-8111-111111111111");
await _rlv.ProcessMessage("@edit=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage($"@edit:{objectId1}=add", _sender.Id, _sender.Name);
Assert.False(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Hud, null));
Assert.False(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Attached, null));
Assert.False(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.RezzedInWorld, null));
Assert.True(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Hud, objectId1));
Assert.True(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Attached, objectId1));
Assert.True(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.RezzedInWorld, objectId1));
Assert.False(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Hud, objectId2));
Assert.False(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Attached, objectId2));
Assert.False(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.RezzedInWorld, objectId2));
}
[Fact]
public async Task CanEdit_Specific()
{
var objectId1 = new Guid("00000000-0000-4000-8000-000000000000");
var objectId2 = new Guid("11111111-1111-4111-8111-111111111111");
await _rlv.ProcessMessage($"@editobj:{objectId1}=n", _sender.Id, _sender.Name);
Assert.True(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Hud, null));
Assert.True(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Attached, null));
Assert.True(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.RezzedInWorld, null));
Assert.False(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Hud, objectId1));
Assert.False(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Attached, objectId1));
Assert.False(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.RezzedInWorld, objectId1));
Assert.True(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Hud, objectId2));
Assert.True(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.Attached, objectId2));
Assert.True(_rlv.Permissions.CanEdit(RlvPermissionsService.ObjectLocation.RezzedInWorld, objectId2));
}
#endregion
}
}