예제 #1
0
        public void Parse_Defaults()
        {
            const string        acl    = @"[{ ""subjects"": [ ], ""permissions"": { } }]";
            IReadOnlyList <Acl> result = Acl.Parse(acl, LedgerPath.Parse("/root/path/"), new KeyEncoder(111));

            Assert.Equal(1, result.Count);
            Assert.Equal("", result[0].RecordName.Pattern);
            Assert.Equal(PatternMatchingStrategy.Prefix, result[0].RecordName.MatchingStrategy);
            Assert.Equal(true, result[0].Recursive);
            Assert.Equal(0, result[0].Subjects.Count);
            Assert.Equal(Access.Unset, result[0].Permissions.AccountModify);
            Assert.Equal(Access.Unset, result[0].Permissions.AccountSpend);
            Assert.Equal(Access.Unset, result[0].Permissions.AccountModify);
            Assert.Equal(Access.Unset, result[0].Permissions.DataModify);
        }
예제 #2
0
        public void Parse_Success()
        {
            IReadOnlyList <Acl> result = Acl.Parse(GetValidAcl(), LedgerPath.Parse("/root/path/"), new KeyEncoder(111));

            Assert.Equal(1, result.Count);
            Assert.Equal("/root/path/", result[0].Path.FullPath);
            Assert.Equal("name", result[0].RecordName.Pattern);
            Assert.Equal(PatternMatchingStrategy.Exact, result[0].RecordName.MatchingStrategy);
            Assert.Equal(true, result[0].Recursive);
            Assert.Equal(1, result[0].Subjects.Count);
            Assert.Equal(Access.Permit, result[0].Permissions.AccountModify);
            Assert.Equal(Access.Permit, result[0].Permissions.AccountSpend);
            Assert.Equal(Access.Permit, result[0].Permissions.AccountModify);
            Assert.Equal(Access.Permit, result[0].Permissions.DataModify);
        }