Example #1
0
        public void ReadKeyInfo(DSigSerializerTheoryData theoryData)
        {
            TestUtilities.WriteHeader($"{this}.ReadKeyInfo", theoryData);
            var context = new CompareContext($"{this}.ReadKeyInfo, {theoryData.TestId}");

            try
            {
                var keyInfo = theoryData.Serializer.ReadKeyInfo(XmlUtilities.CreateDictionaryReader(theoryData.Xml));
                theoryData.ExpectedException.ProcessNoException(context.Diffs);
                IdentityComparer.AreKeyInfosEqual(keyInfo, theoryData.KeyInfo, context);

                // make sure we write and then read
                // as we only support partial elements, the KeyInfo's cannot be compared
                var ms     = new MemoryStream();
                var writer = XmlDictionaryWriter.CreateTextWriter(ms);
                theoryData.Serializer.WriteKeyInfo(writer, keyInfo);
                writer.Flush();
                var xml = Encoding.UTF8.GetString(ms.ToArray());
                theoryData.Serializer.ReadKeyInfo(XmlUtilities.CreateDictionaryReader(xml));
            }
            catch (Exception ex)
            {
                theoryData.ExpectedException.ProcessException(ex, context.Diffs);
            }

            TestUtilities.AssertFailIfErrors(context);
        }
Example #2
0
        public void WriteReference(DSigSerializerTheoryData theoryData)
        {
            var ms     = new MemoryStream();
            var writer = XmlDictionaryWriter.CreateTextWriter(ms);

            theoryData.Serializer.WriteReference(writer, theoryData.Reference);
            writer.Flush();
            var xml = Encoding.UTF8.GetString(ms.ToArray());

            IdentityComparer.AreEqual(theoryData.Xml, xml);
        }
Example #3
0
        public void ReadSignedInfo(DSigSerializerTheoryData theoryData)
        {
            var context = TestUtilities.WriteHeader($"{this}.ReadSignedInfo", theoryData);

            try
            {
                var signedInfo = theoryData.Serializer.ReadSignedInfo(XmlUtilities.CreateDictionaryReader(theoryData.Xml));
                theoryData.ExpectedException.ProcessNoException(context);
                IdentityComparer.AreSignedInfosEqual(signedInfo, theoryData.SignedInfo, context);
            }
            catch (Exception ex)
            {
                theoryData.ExpectedException.ProcessException(ex, context);
            }

            TestUtilities.AssertFailIfErrors(context);
        }
Example #4
0
        public void ReadReference(DSigSerializerTheoryData theoryData)
        {
            TestUtilities.WriteHeader($"{this}.ReadReference", theoryData);
            var context = new CompareContext($"{this}.ReadReference, {theoryData.TestId}");

            try
            {
                var reference = theoryData.Serializer.ReadReference(XmlUtilities.CreateDictionaryReader(theoryData.Xml));
                theoryData.ExpectedException.ProcessNoException(context);
                IdentityComparer.AreEqual(reference, theoryData.Reference, context);
            }
            catch (Exception ex)
            {
                theoryData.ExpectedException.ProcessException(ex, context);
            }

            TestUtilities.AssertFailIfErrors(context);
        }
Example #5
0
        public void ReadTransforms(DSigSerializerTheoryData theoryData)
        {
            var context = TestUtilities.WriteHeader($"{this}.ReadTransform", theoryData);

            try
            {
                var reference = new Reference();
                var reader    = XmlUtilities.CreateDictionaryReader(theoryData.Xml);
                theoryData.Serializer.ReadTransforms(reader, reference);
                theoryData.ExpectedException.ProcessNoException(context);
                IdentityComparer.AreEqual(reference.Transforms, theoryData.Transforms, context);
                IdentityComparer.AreEqual(reference.CanonicalizingTransfrom, theoryData.CanonicalizingTransfrom, context);
            }
            catch (Exception ex)
            {
                theoryData.ExpectedException.ProcessException(ex, context);
            }

            TestUtilities.AssertFailIfErrors(context);
        }
Example #6
0
        public void WriteSignedInfo(DSigSerializerTheoryData theoryData)
        {
            var context = TestUtilities.WriteHeader($"{this}.WriteSignedInfo", theoryData);

            try
            {
                var signedInfo = theoryData.Serializer.ReadSignedInfo(XmlUtilities.CreateDictionaryReader(theoryData.Xml));
                theoryData.ExpectedException.ProcessNoException(context);
                IdentityComparer.AreEqual(signedInfo, theoryData.SignedInfo, context);
                var ms     = new MemoryStream();
                var writer = XmlDictionaryWriter.CreateTextWriter(ms);
                theoryData.Serializer.WriteSignedInfo(writer, signedInfo);
                writer.Flush();
                var xml = Encoding.UTF8.GetString(ms.ToArray());
                IdentityComparer.AreEqual(theoryData.Xml, xml, context);
            }
            catch (Exception ex)
            {
                theoryData.ExpectedException.ProcessException(ex, context.Diffs);
            }

            TestUtilities.AssertFailIfErrors(context);
        }