namespace MonoTests.System.Security.Cryptography.Xml {
[TestFixture]
- public class ReferenceTest : Assertion {
+ public class ReferenceTest {
protected Reference reference;
[Test]
public void Properties ()
{
- AssertNull ("Uri (null)", reference.Uri);
- AssertNotNull ("TransformChain", reference.TransformChain);
- AssertEquals ("ToString()", "System.Security.Cryptography.Xml.Reference", reference.ToString ());
+ Assert.IsNull (reference.Uri, "Uri (null)");
+ Assert.IsNotNull (reference.TransformChain, "TransformChain");
// test uri constructor
string uri = "uri";
reference = new Reference (uri);
- AssertEquals ("DigestMethod", "http://www.w3.org/2000/09/xmldsig#sha1", reference.DigestMethod);
- AssertNull ("DigestValue", reference.DigestValue);
- AssertNull ("Id", reference.Id);
- AssertNull ("Type", reference.Type);
- AssertEquals ("Uri", uri, reference.Uri);
+ Assert.AreEqual (SignedXml.XmlDsigSHA256Url, reference.DigestMethod, "DigestMethod");
+ Assert.IsNull (reference.DigestValue, "DigestValue");
+ Assert.IsNull (reference.Id, "Id");
+ Assert.IsNull (reference.Type, "Type");
+ Assert.AreEqual (uri, reference.Uri, "Uri");
}
[Test]
XmlDocument doc = new XmlDocument ();
doc.LoadXml (test);
reference.LoadXml (doc.DocumentElement);
- AssertEquals ("Load-Xml", test, (reference.GetXml().OuterXml));
- AssertEquals ("Load-URI", "#MyObjectId", reference.Uri);
+ Assert.AreEqual (test, (reference.GetXml().OuterXml), "Load-Xml");
+ Assert.AreEqual ("#MyObjectId", reference.Uri, "Load-URI");
byte[] hash = { 0xFD, 0x5B, 0xEA, 0xEA, 0xC5, 0xC4, 0x55, 0xBB, 0x59, 0x0B, 0xC1, 0xB0, 0x36, 0xD2, 0xD0, 0x9C, 0x63, 0xB2, 0xFD, 0x52 };
AssertCrypto.AssertEquals("Load-Digest", hash, reference.DigestValue);
- AssertEquals ("Load-#Transform", 0, reference.TransformChain.Count);
+ Assert.AreEqual (0, reference.TransformChain.Count, "Load-#Transform");
}
[Test]
XmlDocument doc = new XmlDocument ();
doc.LoadXml (test);
reference.LoadXml (doc.DocumentElement);
- AssertEquals ("Load-Base64", test, (reference.GetXml().OuterXml));
- AssertEquals ("Load-#Transform", 1, reference.TransformChain.Count);
+ Assert.AreEqual (test, (reference.GetXml().OuterXml), "Load-Base64");
+ Assert.AreEqual (1, reference.TransformChain.Count, "Load-#Transform");
}
[Test]
XmlDocument doc = new XmlDocument ();
doc.LoadXml (test);
reference.LoadXml (doc.DocumentElement);
- AssertEquals ("Load-C14N", test, (reference.GetXml().OuterXml));
- AssertEquals ("Load-#Transform", 1, reference.TransformChain.Count);
+ Assert.AreEqual (test, (reference.GetXml().OuterXml), "Load-C14N");
+ Assert.AreEqual (1, reference.TransformChain.Count, "Load-#Transform");
}
[Test]
XmlDocument doc = new XmlDocument ();
doc.LoadXml (test);
reference.LoadXml (doc.DocumentElement);
- AssertEquals ("Load-C14NWithComments", test, (reference.GetXml().OuterXml));
- AssertEquals ("Load-#Transform", 1, reference.TransformChain.Count);
+ Assert.AreEqual (test, (reference.GetXml().OuterXml), "Load-C14NWithComments");
+ Assert.AreEqual (1, reference.TransformChain.Count, "Load-#Transform");
}
[Test]
XmlDocument doc = new XmlDocument ();
doc.LoadXml (test);
reference.LoadXml (doc.DocumentElement);
- AssertEquals ("Load-Enveloped", test, (reference.GetXml().OuterXml));
- AssertEquals ("Load-#Transform", 1, reference.TransformChain.Count);
+ Assert.AreEqual (test, (reference.GetXml().OuterXml), "Load-Enveloped");
+ Assert.AreEqual (1, reference.TransformChain.Count, "Load-#Transform");
}
[Test]
doc.LoadXml (test1);
reference.LoadXml (doc.DocumentElement);
string result = (reference.GetXml().OuterXml);
- Assert (result, ((test1 == result) || (test2 == result)));
- AssertEquals ("Load-#Transform", 1, reference.TransformChain.Count);
+ Assert.IsTrue (((test1 == result) || (test2 == result)), result);
+ Assert.AreEqual (1, reference.TransformChain.Count, "Load-#Transform");
}
[Test]
doc.LoadXml (test);
reference.LoadXml (doc.DocumentElement);
string result = reference.GetXml().OuterXml;
- AssertEquals (result, test, result);
- AssertEquals ("Load-#Transform", 1, reference.TransformChain.Count);
+ Assert.AreEqual (test, result, result);
+ Assert.AreEqual (1, reference.TransformChain.Count, "Load-#Transform");
}
[Test]
doc.LoadXml (test1);
reference.LoadXml (doc.DocumentElement);
string result = reference.GetXml().OuterXml;
- Assert (result, ((result == test1) || (result == test2)));
- AssertEquals ("Load-#Transform", 6, reference.TransformChain.Count);
+ Assert.IsTrue (((result == test1) || (result == test2)), result);
+ Assert.AreEqual (6, reference.TransformChain.Count, "Load-#Transform");
}
[Test]
-#if NET_2_0
- [Category ("NotDotNet")]
- // MS throws a NullReferenceException (reported as FDBK25886) but only when executed in NUnit\r
- // http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=3596d1e3-362b-40bd-bca9-2e8be75261ff
-#endif
public void AddAllTransforms ()
{
- // adding an empty hash value
- byte[] hash = new byte [20];
- reference.DigestValue = hash;
- XmlElement xel = reference.GetXml ();
- // this is the minimal Reference (DigestValue)!
- AssertNotNull ("GetXml", xel);
+ reference.DigestMethod = SignedXml.XmlDsigSHA1Url;
+ reference.DigestValue = new byte [20];
reference.AddTransform (new XmlDsigBase64Transform ());
reference.AddTransform (new XmlDsigC14NTransform ());
reference.AddTransform (new XmlDsigXPathTransform ());
reference.AddTransform (new XmlDsigXsltTransform ());
- // MS's results
- string test1 = "<Reference xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#base64\" /><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" /><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\" /><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\" /><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\"><XPath></XPath></Transform><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\" /></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" /><DigestValue>AAAAAAAAAAAAAAAAAAAAAAAAAAA=</DigestValue></Reference>";
- // Mono's result (xml is equivalent but not identical)
- string test2 = test1.Replace ("<XPath></XPath>", "<XPath xmlns=\"http://www.w3.org/2000/09/xmldsig#\" />");
- string result = reference.GetXml().OuterXml;
- Assert (result, ((result == test1) || (result == test2)));
- // however this value cannot be loaded as it's missing some transform (xslt) parameters
+ const string expected = "<Reference xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#base64\" /><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" /><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\" /><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\" /><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\"><XPath /></Transform><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\" /></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" /><DigestValue>AAAAAAAAAAAAAAAAAAAAAAAAAAA=</DigestValue></Reference>";
+ Assert.That (reference.GetXml ().OuterXml, Is.EqualTo (expected), "OuterXml");
// can we add them again ?
reference.AddTransform (new XmlDsigBase64Transform ());
reference.AddTransform (new XmlDsigXsltTransform ());
// seems so ;-)
- AssertEquals ("# Transforms", 12, reference.TransformChain.Count);
+ Assert.AreEqual (12, reference.TransformChain.Count, "# Transforms");
}
[Test]
{
// null DigestMethod -> "" DigestMethod !!!
reference.DigestMethod = null;
- AssertNull ("DigestMethod null", reference.DigestMethod);
+ Assert.IsNull (reference.DigestMethod, "DigestMethod null");
}
[Test]
Reference r = new Reference ();
r.LoadXml (org);
XmlElement el = r.GetXml ();
- AssertEquals (doc, el.OwnerDocument);
- AssertEquals (org, el);
- AssertEquals (result, el.OuterXml);
+ Assert.AreEqual (doc, el.OwnerDocument);
+ Assert.AreEqual (org, el);
+ Assert.AreEqual (result, el.OuterXml);
}
}
}