public void TestACLCoding()
        {
            MutableObjectState state = (MutableObjectState)ParseObjectCoder.Instance.Decode(new Dictionary <string, object>
            {
                ["ACL"] = new Dictionary <string, object>
                {
                    ["3KmCvT7Zsb"] = new Dictionary <string, object>
                    {
                        ["read"]  = true,
                        ["write"] = true
                    },
                    ["*"] = new Dictionary <string, object> {
                        ["read"] = true
                    }
                }
            }, null);

            ParseACL resultACL = null;

            Assert.IsTrue(state.ContainsKey("ACL"));
            Assert.IsTrue((resultACL = state.ServerData["ACL"] as ParseACL) is ParseACL);
            Assert.IsTrue(resultACL.PublicReadAccess);
            Assert.IsFalse(resultACL.PublicWriteAccess);
            Assert.IsTrue(resultACL.GetWriteAccess("3KmCvT7Zsb"));
            Assert.IsTrue(resultACL.GetReadAccess("3KmCvT7Zsb"));
            Assert.IsFalse(resultACL.GetWriteAccess("*"));
            Assert.IsTrue(resultACL.GetReadAccess("*"));
        }
Exemplo n.º 2
0
        public void TestCheckPermissionsWithParseUserConstructor()
        {
            ParseUser owner = GenerateUser("OwnerUser");
            ParseUser user  = GenerateUser("OtherUser");
            ParseACL  acl   = new ParseACL(owner);

            Assert.IsTrue(acl.GetReadAccess(owner.ObjectId));
            Assert.IsTrue(acl.GetWriteAccess(owner.ObjectId));
            Assert.IsTrue(acl.GetReadAccess(owner));
            Assert.IsTrue(acl.GetWriteAccess(owner));
        }
Exemplo n.º 3
0
        public void TestReadWriteMutationWithParseUserConstructor()
        {
            ParseUser owner     = GenerateUser("OwnerUser");
            ParseUser otherUser = GenerateUser("OtherUser");
            ParseACL  acl       = new ParseACL(owner);

            acl.SetReadAccess(otherUser, true);
            acl.SetWriteAccess(otherUser, true);
            acl.SetReadAccess(owner.ObjectId, false);
            acl.SetWriteAccess(owner.ObjectId, false);
            Assert.IsTrue(acl.GetReadAccess(otherUser.ObjectId));
            Assert.IsTrue(acl.GetWriteAccess(otherUser.ObjectId));
            Assert.IsTrue(acl.GetReadAccess(otherUser));
            Assert.IsTrue(acl.GetWriteAccess(otherUser));
            Assert.IsFalse(acl.GetReadAccess(owner));
            Assert.IsFalse(acl.GetWriteAccess(owner));
        }