Move Access to ECS (#4826)

* Moved access to ecs

* Fixed tests

* Moved test to integration

* Better IoC

* Moved preset ID card

* Moved id card to ECS

* Moved access component to ECS

* Fixed pda access

* Final touches

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
Alex Evgrashin
2021-10-22 05:31:07 +03:00
committed by GitHub
parent 430485de06
commit a3f16295ea
26 changed files with 409 additions and 466 deletions

View File

@@ -1,85 +0,0 @@
using System.Collections.Generic;
using Content.Server.Access.Components;
using NUnit.Framework;
namespace Content.Tests.Server.GameObjects.Components.Access
{
[TestFixture]
[TestOf(typeof(AccessReader))]
public class AccessReaderTest : ContentUnitTest
{
[Test]
public void TestEmpty()
{
var reader = new AccessReader();
Assert.That(reader.IsAllowed(new[] {"Foo"}), Is.True);
Assert.That(reader.IsAllowed(new[] {"Bar"}), Is.True);
Assert.That(reader.IsAllowed(new string[] {}), Is.True);
}
[Test]
public void TestDeny()
{
var reader = new AccessReader();
reader.DenyTags.Add("A");
Assert.That(reader.IsAllowed(new[] {"Foo"}), Is.True);
Assert.That(reader.IsAllowed(new[] {"A"}), Is.False);
Assert.That(reader.IsAllowed(new[] {"A", "Foo"}), Is.False);
Assert.That(reader.IsAllowed(new string[] {}), Is.True);
}
[Test]
public void TestOneList()
{
var reader = new AccessReader();
reader.AccessLists.Add(new HashSet<string> {"A"});
Assert.That(reader.IsAllowed(new[] {"A"}), Is.True);
Assert.That(reader.IsAllowed(new[] {"B"}), Is.False);
Assert.That(reader.IsAllowed(new[] {"A", "B"}), Is.True);
Assert.That(reader.IsAllowed(new string[] {}), Is.False);
}
[Test]
public void TestOneListTwoItems()
{
var reader = new AccessReader();
reader.AccessLists.Add(new HashSet<string> {"A", "B"});
Assert.That(reader.IsAllowed(new[] {"A"}), Is.False);
Assert.That(reader.IsAllowed(new[] {"B"}), Is.False);
Assert.That(reader.IsAllowed(new[] {"A", "B"}), Is.True);
Assert.That(reader.IsAllowed(new string[] {}), Is.False);
}
[Test]
public void TestTwoList()
{
var reader = new AccessReader();
reader.AccessLists.Add(new HashSet<string> {"A"});
reader.AccessLists.Add(new HashSet<string> {"B", "C"});
Assert.That(reader.IsAllowed(new[] {"A"}), Is.True);
Assert.That(reader.IsAllowed(new[] {"B"}), Is.False);
Assert.That(reader.IsAllowed(new[] {"A", "B"}), Is.True);
Assert.That(reader.IsAllowed(new[] {"C", "B"}), Is.True);
Assert.That(reader.IsAllowed(new[] {"C", "B", "A"}), Is.True);
Assert.That(reader.IsAllowed(new string[] {}), Is.False);
}
[Test]
public void TestDenyList()
{
var reader = new AccessReader();
reader.AccessLists.Add(new HashSet<string> {"A"});
reader.DenyTags.Add("B");
Assert.That(reader.IsAllowed(new[] {"A"}), Is.True);
Assert.That(reader.IsAllowed(new[] {"B"}), Is.False);
Assert.That(reader.IsAllowed(new[] {"A", "B"}), Is.False);
Assert.That(reader.IsAllowed(new string[] {}), Is.False);
}
}
}