Exemple #1
0
        public void TwoLinesTest()
        {
            NameValueCollection headers = new NameValueCollection();

            headers.Add("X-Version", "1.9");
            headers.Add("X-Authorize-roles", "R1(p1=v1);R2(p1=v1,p1=v2,p2=v2)");
            headers.Add("X-Authorize-roles", "R1(p1=v2);R3(p1=v1,p1=v2,p2=v2)");
            PvpToken          token         = new PvpToken(headers);
            PvpAttributeRoles authorization = token.RoleAttribute;

            Assert.AreEqual(3, authorization.Roles.Count);

            PvpRole role1 = authorization.GetRole("r1");

            Assert.IsNotNull(role1);
            Assert.AreEqual(1, role1.Parameters.Count);
            Assert.AreEqual("p1", role1.Parameters.GetKey(0));
            Assert.AreEqual("v1,v2", role1.Parameters["p1"]);

            PvpRole role2 = authorization.GetRole("r2");

            Assert.IsNotNull(role2);
            Assert.AreEqual(2, role2.Parameters.Count);
            Assert.AreEqual("p2", role2.Parameters.GetKey(1));
            Assert.AreEqual("v1,v2", role2.Parameters["p1"]);
            Assert.AreEqual("v2", role2.Parameters["p2"]);

            PvpRole role3 = authorization.GetRole("r3");

            Assert.IsNotNull(role3);
            Assert.AreEqual(2, role3.Parameters.Count);
            Assert.AreEqual("p1", role3.Parameters.GetKey(0));
            Assert.AreEqual("v1,v2", role3.Parameters["p1"]);
            Assert.AreEqual("v2", role2.Parameters["p2"]);
        }
Exemple #2
0
        public void DecodeTestWithoutEscapedCharacter()
        {
            PvpRole role1 = PvpRole.Parse(@"Rolle1(Name1=Value1,Name2,Name3=Value3)", true);

            Assert.AreEqual(@"Rolle1", role1.Name);
            Assert.AreEqual("Name1", role1.Parameters.GetKey(0));
            Assert.IsNull(role1.GetValuesForParameter("Name2"));
            Assert.AreEqual("Value3", role1.Parameters["Name3"]);
        }
Exemple #3
0
        public void DecodeTest()
        {
            PvpRole role1 = PvpRole.Parse(@"\\R\(o\)lle\s1\,\;(Nam\s\,e1=Value1,Name2,Name3=Value3)", true);

            Assert.AreEqual(@"\R(o)lle 1,;", role1.Name);
            Assert.AreEqual("Nam ,e1", role1.Parameters.GetKey(0));
            Assert.IsNull(role1.GetValuesForParameter("Name2"));
            Assert.AreEqual("Value3", role1.Parameters["Name3"]);
        }
Exemple #4
0
        public void RoleWithTwoParamaters()
        {
            PvpRole role1 = PvpRole.Parse("Rolle1(Name1=Value1,Name2=Value2)");

            Assert.IsNotNull(role1);
            Assert.AreEqual("Rolle1", role1.Name);
            Assert.AreEqual("Value1", role1.Parameters["Name1"]);
            Assert.AreEqual("Value2", role1.Parameters["Name2"]);
            Assert.AreEqual("Rolle1(Name1=Value1,Name2=Value2)", role1.ToString());
        }
Exemple #5
0
        public void RoleWithThreeParamaters()
        {
            PvpRole role1 = PvpRole.Parse("Rolle1(Name1=Value1,Name2,Name3=Value3)");

            Assert.IsNotNull(role1);
            Assert.AreEqual("Rolle1", role1.Name);
            Assert.AreEqual("Value1", role1.Parameters["Name1"]);
            Assert.AreEqual("Name2", role1.Parameters.Keys[1]);
            Assert.AreEqual("Value3", role1.Parameters["Name3"]);
            Assert.AreEqual("Rolle1(Name1=Value1,Name2,Name3=Value3)", role1.ToString());
        }
Exemple #6
0
        public void RoleWithTwoParamaters()
        {
            PvpRole role1 = PvpRole.Parse("Rolle1(Name1=Value1,Name2=Value2)");

            Assert.IsNotNull(role1);
            Assert.AreEqual("Rolle1", role1.Name);
            Assert.AreEqual("Value1", role1.Parameters["Name1"]);
            Assert.AreEqual("Value2", role1.Parameters["Name2"]);
            Assert.AreEqual("Rolle1(Name1=Value1,Name2=Value2)", role1.ToString());
            Assert.AreEqual("<role value=\"Rolle1\">\n<param>\n<key>Name1</key><value>Value1</value>\n</param>\n<param>\n<key>Name2</key><value>Value2</value>\n</param>\n</role>",
                            role1.GetSoapFragment());
        }
Exemple #7
0
        public void RoleWithoutParamater()
        {
            PvpRole role1 = PvpRole.Parse("Rolle1");

            Assert.IsNotNull(role1);
            Assert.AreEqual("Rolle1", role1.Name);

            PvpRole role2 = PvpRole.Parse("Rolle2()");

            Assert.IsNotNull(role2);
            Assert.AreEqual("Rolle2", role2.Name);
        }
Exemple #8
0
        public void RoleWithOneParamater()
        {
            PvpRole role1 = PvpRole.Parse("Rolle1(Name1)");

            Assert.IsNotNull(role1);
            Assert.AreEqual("Rolle1", role1.Name);
            Assert.AreEqual("Name1", role1.Parameters.Keys[0]);

            PvpRole role2 = PvpRole.Parse("Rolle2(Name2=Value2)");

            Assert.IsNotNull(role2);
            Assert.AreEqual("Rolle2", role2.Name);
            Assert.AreEqual("Value2", role2.Parameters["Name2"]);
        }
Exemple #9
0
        public void HasRoleTest()
        {
            PvpToken token = new PvpToken(PvpVersion.Version20);

            token.Attributes.Add(new PvpAttributeRoles("R1(p1=v1);R2(p1=v1,p1=v2,p2=v2);R3(GKZ)"));
            Assert.IsTrue(token.RoleAttribute.HasRole(new PvpRole("R1")));
            Assert.IsTrue(token.RoleAttribute.HasRole(PvpRole.Parse("R1(p1=v1)")));
            Assert.IsTrue(token.RoleAttribute.HasRole(PvpRole.Parse("R2(p1=v1,p1=v2,p2=v2)")));
            Assert.IsTrue(token.RoleAttribute.HasRole(new PvpRole("R2")));
            Assert.IsTrue(token.RoleAttribute.HasRole(PvpRole.Parse("R2()")));
            Assert.IsFalse(token.RoleAttribute.HasRole(PvpRole.Parse("R4")));
            Assert.IsFalse(token.RoleAttribute.HasRole(PvpRole.Parse("R1(p1=v2)")));
            Assert.IsFalse(token.RoleAttribute.HasRole(PvpRole.Parse("R1(p1=v2)")));
            Assert.IsTrue(token.RoleAttribute.HasRole(new PvpRole("R3")));
            Assert.IsTrue(token.RoleAttribute.HasRole(PvpRole.Parse("R3(Gkz)")));
        }
Exemple #10
0
        public void RoleWithOneParamater()
        {
            PvpRole role1 = PvpRole.Parse("Rolle1(Name1)");

            Assert.IsNotNull(role1);
            Assert.AreEqual("Rolle1", role1.Name);
            Assert.AreEqual("Name1", role1.Parameters.Keys[0]);
            Assert.AreEqual("<role value=\"Rolle1\">\n<param>\n<key>Name1</key>\n</param>\n</role>",
                            role1.GetSoapFragment());

            PvpRole role2 = PvpRole.Parse("Rolle2(Name2=Value2)");

            Assert.IsNotNull(role2);
            Assert.AreEqual("Rolle2", role2.Name);
            Assert.AreEqual("Value2", role2.Parameters["Name2"]);
            Assert.AreEqual("<role value=\"Rolle2\">\n<param>\n<key>Name2</key><value>Value2</value>\n</param>\n</role>",
                            role2.GetSoapFragment());
        }