Files
libremetaverse/LibreMetaverse.RLV.Tests/Commands/ClearCommandTests.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

71 lines
2.7 KiB
C#

namespace LibreMetaverse.RLV.Tests.Commands
{
public class ClearCommandTests : RestrictionsBase
{
#region @Clear
[Fact]
public async Task Clear()
{
await _rlv.ProcessMessage("@tploc=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@tplm=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@unsit=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@fly=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@clear", _sender.Id, _sender.Name);
var restrictions = _rlv.Restrictions.FindRestrictions();
Assert.Empty(restrictions);
}
[Fact]
public async Task Clear_CaseInSensitive()
{
await _rlv.ProcessMessage("@tploc=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@tplm=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@unsit=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@fly=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@cLEaR", _sender.Id, _sender.Name);
var restrictions = _rlv.Restrictions.FindRestrictions();
Assert.Empty(restrictions);
}
[Fact]
public async Task Clear_SenderBased()
{
var sender2 = new RlvObject("Sender 2", new Guid("aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa"));
await _rlv.ProcessMessage("@tploc=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@tplm=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@unsit=n", sender2.Id, sender2.Name);
await _rlv.ProcessMessage("@fly=n", sender2.Id, sender2.Name);
await _rlv.ProcessMessage("@clear", sender2.Id, sender2.Name);
Assert.False(_rlv.Permissions.CanTpLoc());
Assert.False(_rlv.Permissions.CanTpLm());
Assert.True(_rlv.Permissions.CanUnsit());
Assert.True(_rlv.Permissions.CanFly());
}
[Fact]
public async Task Clear_Filtered()
{
await _rlv.ProcessMessage("@tploc=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@tplm=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@unsit=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@fly=n", _sender.Id, _sender.Name);
await _rlv.ProcessMessage("@clear=tp", _sender.Id, _sender.Name);
Assert.True(_rlv.Permissions.CanTpLoc());
Assert.True(_rlv.Permissions.CanTpLm());
Assert.False(_rlv.Permissions.CanUnsit());
Assert.False(_rlv.Permissions.CanFly());
}
#endregion
}
}