Example #1
0
        public void OrderTest()
        {
            NameValueCollection headers = new NameValueCollection()
            {
                { "X-Version", "1.9" },
                { "X-AUTHENTICATE-UserId", "*****@*****.**" },
                { "X-AUTHENTICATE-cn", "Max Mustermann" },
                { "X-AUTHENTICATE-gvGid", "AT:B:0:LxXnvpcYZesiqVXsZG0bB==" },
                { "X-AUTHORIZE-roles", "Beispielrolle(GKZ=60420)" },
                { "X-AUTHENTICATE-gvOuId", "AT:GGA-60420:0815" },
                { "X-AUTHENTICATE-participantId", "AT:L6:1234789" },
                { "X-AUTHENTICATE-Ou", "Meldeamt" },
                { "X-AUTHENTICATE-gvOuOKZ", "AT:GGA-60420-Abt13" },
                { "X-AUTHENTICATE-mail", "*****@*****.**" },
                { "X-AUTHENTICATE-tel", "+43 3155 5153" },
                { "X-AUTHENTICATE-gvSecClass", "2" },
            };
            PvpToken token       = new PvpToken(headers);
            var      httpHeaders = token.GetHeaders();

            Assert.That(httpHeaders[0].Name, Is.EqualTo("X-Version"));
            Assert.That(httpHeaders[1].Name, Is.EqualTo("X-AUTHENTICATE-participantId"));
            Assert.That(httpHeaders[2].Name, Is.EqualTo("X-AUTHENTICATE-UserID"));
            Assert.That(httpHeaders[3].Name, Is.EqualTo("X-AUTHENTICATE-cn"));
            Assert.That(httpHeaders[4].Name, Is.EqualTo("X-AUTHENTICATE-gvOuId"));
            Assert.That(httpHeaders[5].Name, Is.EqualTo("X-AUTHENTICATE-Ou"));
            Assert.That(httpHeaders[6].Name, Is.EqualTo("X-AUTHENTICATE-gvOuOKZ"));
            Assert.That(httpHeaders[7].Name, Is.EqualTo("X-AUTHENTICATE-gvSecClass"));
            Assert.That(httpHeaders[8].Name, Is.EqualTo("X-AUTHENTICATE-mail"));
            Assert.That(httpHeaders[9].Name, Is.EqualTo("X-AUTHENTICATE-tel"));
            Assert.That(httpHeaders[10].Name, Is.EqualTo("X-AUTHENTICATE-gvGid"));
            Assert.That(httpHeaders[11].Name, Is.EqualTo("X-AUTHORIZE-roles"));

            var token21       = token.ConvertTo(PvpVersion.Version21);
            var http21Headers = token21.GetHeaders();

            Assert.That(http21Headers[0].Name, Is.EqualTo("X-PVP-VERSION"));
            Assert.That(http21Headers[1].Name, Is.EqualTo("X-PVP-SECCLASS"));
            Assert.That(http21Headers[2].Name, Is.EqualTo("X-PVP-PRINCIPAL-NAME"));
            Assert.That(http21Headers[3].Name, Is.EqualTo("X-PVP-USERID"));
            Assert.That(http21Headers[4].Name, Is.EqualTo("X-PVP-GID"));
            Assert.That(http21Headers[5].Name, Is.EqualTo("X-PVP-MAIL"));
            Assert.That(http21Headers[6].Name, Is.EqualTo("X-PVP-TEL"));
            Assert.That(http21Headers[7].Name, Is.EqualTo("X-PVP-PARTICIPANT-ID"));
            Assert.That(http21Headers[8].Name, Is.EqualTo("X-PVP-OU-OKZ"));
            Assert.That(http21Headers[9].Name, Is.EqualTo("X-PVP-OU-GV-OU-ID"));
            Assert.That(http21Headers[10].Name, Is.EqualTo("X-PVP-OU"));
            Assert.That(http21Headers[11].Name, Is.EqualTo("X-PVP-ROLES"));
        }
Example #2
0
        public void ParseTokenTest()
        {
            NameValueCollection headers     = GetNameValueCollection21();
            PvpToken            token       = new PvpToken(headers);
            PvpToken            parsedToken = new PvpToken(token.GetSamlAttributeStatement());

            Assert.AreEqual(PvpVersion.Version21, parsedToken.Version);
            Assert.AreEqual("*****@*****.**", parsedToken.GetAttributeValue(PvpAttributes.USERID));
            Assert.AreEqual("Beispielrolle(GKZ=60420);Beispielrolle2(ABC=XYZ, DEF=4711)",
                            parsedToken.GetAttributeValue(PvpAttributes.ROLES));
            foreach (HttpHeader header in parsedToken.GetHeaders())
            {
                if (header.Name.Equals("X-PVP-roles", StringComparison.InvariantCultureIgnoreCase))
                {
                    continue;
                }

                Assert.AreEqual(headers[header.Name], header.Value, "Fehler bei " + header.Name);
            }
        }
Example #3
0
        public void ParseSamlValuesTest()
        {
            NameValueCollection headers   = GetNameValueCollection21();
            PvpToken            token     = new PvpToken(headers);
            XElement            statement = XElement.Parse(token.GetSamlAttributeStatement().OuterXml);
            var values = statement.Elements(PvpToken.SamlXNamespace + "Attribute").ToDictionary(a => a.Attribute("Name").Value,
                                                                                                a =>
                                                                                                a.Elements(PvpToken.SamlXNamespace + "AttributeValue").Select(v => v.Value).ToList());
            PvpToken parsedToken = new PvpToken(values);

            Assert.AreEqual(PvpVersion.Version21, parsedToken.Version);
            Assert.AreEqual("*****@*****.**", parsedToken.GetAttributeValue(PvpAttributes.USERID));
            Assert.AreEqual("Beispielrolle(GKZ=60420);Beispielrolle2(ABC=XYZ, DEF=4711)",
                            parsedToken.GetAttributeValue(PvpAttributes.ROLES));
            foreach (HttpHeader header in parsedToken.GetHeaders())
            {
                if (header.Name.Equals("X-PVP-roles", StringComparison.InvariantCultureIgnoreCase))
                {
                    continue;
                }

                Assert.AreEqual(headers[header.Name], header.Value, "Fehler bei " + header.Name);
            }
        }