public void ActorPermissionDeleted() { var sut = new PermissionableService(_client); var actor = new ActorKey { Key = Guid.NewGuid().ToString(), Name = $"{GetMethodName()}_Actor" }; var node = new NodeKey { Key = Guid.NewGuid().ToString(), Name = $"{GetMethodName()}_Node" }; var node2 = new NodeKey { Key = Guid.NewGuid().ToString(), Name = $"{GetMethodName()}_Node2" }; var thing = new ThingKey { Key = Guid.NewGuid().ToString(), Name = $"{GetMethodName()}_Thing" }; sut.MakeMember(actor, node); sut.MakeMember(node, node2); sut.MakeMember(node2, node); sut.GrantPermission(node2, thing, $"{GetMethodName()}_Action"); sut.RemoveMember(node, node2); Assert.False(sut.CanItAccess(actor, thing, $"{GetMethodName()}_Action")); }
public void ActorPermissionMultiplePath(int depth) { var s = GetMethodName(); var sut = new PermissionableService(_client); var actor = new ActorKey { Key = Guid.NewGuid().ToString(), Name = $"{GetMethodName()}_Actor" }; ICanJoinKey next = actor; ICanJoinKey next2 = actor; for (int i = 0; i < depth; i++) { { var node = new NodeKey { Key = Guid.NewGuid().ToString(), Name = $"{GetMethodName()}_Node_Path1_" + depth }; sut.MakeMember(next, node); next = node; } { var node = new NodeKey { Key = Guid.NewGuid().ToString(), Name = $"{GetMethodName()}_Node_Path2_" + depth }; sut.MakeMember(next2, node); next2 = node; } } var thing = new ThingKey { Key = Guid.NewGuid().ToString(), Name = $"{GetMethodName()}_Thing" }; sut.GrantPermission(next, thing, $"{GetMethodName()}_Action"); sut.GrantPermission(next2, thing, $"{GetMethodName()}_Action"); Assert.True(sut.CanItAccess(actor, thing, $"{GetMethodName()}_Action")); }
public void GrantPermission() { var sut = new PermissionableService(_client); sut.MakeMember(new ActorKey { Key = "bob", Name = "Bob" }, new NodeKey { Key = "123", Name = "Can Drive Everything" }); sut.GrantPermission(new NodeKey { Key = "123", Name = "Can Drive Everything" }, new ThingKey { Key = "123-car", Name = "bobs car" }, "Drive"); }