Explorar el Código

2003-11-07 Sebastien Pouliot <[email protected]>

	* AlgorithmIdentifierTest.cs: New. Unit tests for AlgorithmIdentifier.
	* CryptographicAttributeTest.cs: New. Unit tests for CryptographicAttribute.
	* Pkcs9AttributeTest.cs: New. Unit tests for Pkcs9Attribute (same as for
	CryptographicAttribute).
	* Pkcs9DocumentDescriptionTest.cs: New. Unit tests for Pkcs9DocumentDescription.
	* Pkcs9DocumentNameTest.cs: New. Unit tests for Pkcs9DocumentName.
	* Pkcs9SigningTimeTest.cs: New. Unit tests for Pkcs9SigningTime.

svn path=/trunk/mcs/; revision=19710
Sebastien Pouliot hace 22 años
padre
commit
4e2af909fa

+ 113 - 0
mcs/class/System.Security/Test/System.Security.Cryptography.Pkcs/AlgorithmIdentifierTest.cs

@@ -0,0 +1,113 @@
+//
+// AlgorithmIdentifierTest.cs - NUnit tests for AlgorithmIdentifier
+//
+// Author:
+//	Sebastien Pouliot ([email protected])
+//
+// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
+//
+
+#if NET_1_2
+
+using NUnit.Framework;
+
+using System;
+using System.Security.Cryptography;
+using System.Security.Cryptography.Pkcs;
+
+namespace MonoTests.System.Security.Cryptography.Pkcs {
+
+	[TestFixture]
+	public class AlgorithmIdentifierTest : Assertion {
+
+		static string defaultOid = "1.2.840.113549.3.7";
+		static string defaultName = "3des";
+		static string validOid = "1.2.840.113549.1.1.1";
+
+		[Test]
+		public void ConstructorEmpty () 
+		{
+			AlgorithmIdentifier ai = new AlgorithmIdentifier ();
+			AssertEquals ("KeyLength", 0, ai.KeyLength);
+			AssertEquals ("Oid.FriendlyName", defaultName, ai.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", defaultOid, ai.Oid.Value);
+			AssertEquals ("Parameters", 0, ai.Parameters.Length);
+		}
+
+		[Test]
+		public void ConstructorOid () 
+		{
+			Oid o = new Oid (validOid);
+			AlgorithmIdentifier ai = new AlgorithmIdentifier (o);
+			AssertEquals ("KeyLength", 0, ai.KeyLength);
+			AssertEquals ("Oid", validOid, ai.Oid.Value);
+			AssertEquals ("Parameters", 0, ai.Parameters.Length);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidNull () 
+		{
+			AlgorithmIdentifier ai = new AlgorithmIdentifier (null);
+		}
+
+		[Test]
+		public void ConstructorOidKeyLength ()
+		{
+			Oid o = new Oid (validOid);
+			AlgorithmIdentifier ai = new AlgorithmIdentifier (o, 128);
+			AssertEquals ("KeyLength", 128, ai.KeyLength);
+			AssertEquals ("Oid", validOid, ai.Oid.Value);
+			AssertEquals ("Parameters", 0, ai.Parameters.Length);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidNullKeyLength () 
+		{
+			AlgorithmIdentifier ai = new AlgorithmIdentifier (null, 128);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentOutOfRangeException))]
+		public void ConstructorOidKeyLengthNegative () 
+		{
+			Oid o = new Oid (validOid);
+			AlgorithmIdentifier ai = new AlgorithmIdentifier (o, -1);
+		}
+
+		[Test]
+		public void KeyLength () 
+		{
+			AlgorithmIdentifier ai = new AlgorithmIdentifier ();
+			ai.KeyLength = Int32.MaxValue;
+			AssertEquals ("KeyLength-Max", Int32.MaxValue, ai.KeyLength);
+			ai.KeyLength = 0;
+			AssertEquals ("KeyLength-Zero", 0, ai.KeyLength);
+			ai.KeyLength = Int32.MinValue;
+			AssertEquals ("KeyLength-Min", Int32.MinValue, ai.KeyLength);
+		}
+
+		[Test]
+		public void Oid () 
+		{
+			AlgorithmIdentifier ai = new AlgorithmIdentifier ();
+			ai.Oid = new Oid (validOid);
+			AssertEquals ("Oid", validOid, ai.Oid.Value);
+			ai.Oid = null;
+			AssertNull ("Oid", ai.Oid);
+		}
+
+		[Test]
+		public void Parameters () 
+		{
+			AlgorithmIdentifier ai = new AlgorithmIdentifier ();
+			ai.Parameters = new byte[2] { 0x05, 0x00 }; // ASN.1 NULL
+			AssertEquals ("Oid", "05-00", BitConverter.ToString (ai.Parameters));
+			ai.Parameters = null;
+			AssertNull ("Parameters", ai.Parameters);
+		}
+	}
+}
+
+#endif

+ 9 - 0
mcs/class/System.Security/Test/System.Security.Cryptography.Pkcs/ChangeLog

@@ -0,0 +1,9 @@
+2003-11-07  Sebastien Pouliot  <[email protected]>
+
+	* AlgorithmIdentifierTest.cs: New. Unit tests for AlgorithmIdentifier.
+	* CryptographicAttributeTest.cs: New. Unit tests for CryptographicAttribute.
+	* Pkcs9AttributeTest.cs: New. Unit tests for Pkcs9Attribute (same as for 
+	CryptographicAttribute).
+	* Pkcs9DocumentDescriptionTest.cs: New. Unit tests for Pkcs9DocumentDescription.
+	* Pkcs9DocumentNameTest.cs: New. Unit tests for Pkcs9DocumentName.
+	* Pkcs9SigningTimeTest.cs: New. Unit tests for Pkcs9SigningTime.

+ 102 - 0
mcs/class/System.Security/Test/System.Security.Cryptography.Pkcs/CryptographicAttributeTest.cs

@@ -0,0 +1,102 @@
+//
+// CryptographicAttributeTest.cs - NUnit tests for CryptographicAttribute
+//
+// Author:
+//	Sebastien Pouliot ([email protected])
+//
+// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
+//
+
+#if NET_1_2
+
+using NUnit.Framework;
+
+using System;
+using System.Collections;
+using System.Security.Cryptography;
+using System.Security.Cryptography.Pkcs;
+
+namespace MonoTests.System.Security.Cryptography.Pkcs {
+
+	[TestFixture]
+	public class CryptographicAttributeTest : Assertion {
+
+		static string defaultOid = "1.2.840.113549.1.7.1";
+		static string defaultName = "PKCS 7 Data";
+
+		[Test]
+		public void ConstructorOid () 
+		{
+			Oid o = new Oid (defaultOid);
+			CryptographicAttribute ca = new CryptographicAttribute (o);
+			AssertEquals ("Oid.FriendlyName", defaultName, ca.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", defaultOid, ca.Oid.Value);
+			AssertEquals ("Values", 0, ca.Values.Count);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidNull () 
+		{
+			CryptographicAttribute ca = new CryptographicAttribute (null);
+		}
+
+		[Test]
+		public void ConstructorOidArrayList () 
+		{
+			Oid o = new Oid (defaultOid);
+			ArrayList al = new ArrayList ();
+			CryptographicAttribute ca = new CryptographicAttribute (o, al);
+			AssertEquals ("Oid.FriendlyName", defaultName, ca.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", defaultOid, ca.Oid.Value);
+			AssertEquals ("Values", 0, ca.Values.Count);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidNullArrayList () 
+		{
+			ArrayList al = new ArrayList ();
+			CryptographicAttribute ca = new CryptographicAttribute (null, al);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		[ExpectedException (typeof (NullReferenceException))]
+		public void ConstructorOidArrayListNull () 
+		{
+			Oid o = new Oid (defaultOid);
+			ArrayList al = null; // do not confuse compiler
+			CryptographicAttribute ca = new CryptographicAttribute (o, al);
+		}
+
+		[Test]
+		public void ConstructorOidObject () 
+		{
+			Oid o = new Oid (defaultOid);
+			CryptographicAttribute ca = new CryptographicAttribute (o, o);
+			AssertEquals ("Oid.FriendlyName", defaultName, ca.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", defaultOid, ca.Oid.Value);
+			AssertEquals ("Values", 1, ca.Values.Count);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidNullObject () 
+		{
+			Oid o = new Oid (defaultOid);
+			CryptographicAttribute ca = new CryptographicAttribute (null, o);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidObjectNull () 
+		{
+			Oid o = new Oid (defaultOid);
+			object obj = null; // do not confuse compiler
+			CryptographicAttribute ca = new CryptographicAttribute (o, obj);
+		}
+	}
+}
+
+#endif

+ 102 - 0
mcs/class/System.Security/Test/System.Security.Cryptography.Pkcs/Pkcs9AttributeTest.cs

@@ -0,0 +1,102 @@
+//
+// Pkcs9AttributeTest.cs - NUnit tests for Pkcs9Attribute
+//
+// Author:
+//	Sebastien Pouliot ([email protected])
+//
+// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
+//
+
+#if NET_1_2
+
+using NUnit.Framework;
+
+using System;
+using System.Collections;
+using System.Security.Cryptography;
+using System.Security.Cryptography.Pkcs;
+
+namespace MonoTests.System.Security.Cryptography.Pkcs {
+
+	[TestFixture]
+	public class Pkcs9AttributeTest : Assertion {
+
+		static string defaultOid = "1.2.840.113549.1.7.1";
+		static string defaultName = "PKCS 7 Data";
+
+		[Test]
+		public void ConstructorOid () 
+		{
+			Oid o = new Oid (defaultOid);
+			Pkcs9Attribute a = new Pkcs9Attribute (o);
+			AssertEquals ("Oid.FriendlyName", defaultName, a.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", defaultOid, a.Oid.Value);
+			AssertEquals ("Values", 0, a.Values.Count);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidNull () 
+		{
+			Pkcs9Attribute a = new Pkcs9Attribute (null);
+		}
+
+		[Test]
+		public void ConstructorOidArrayList () 
+		{
+			Oid o = new Oid (defaultOid);
+			ArrayList al = new ArrayList ();
+			Pkcs9Attribute a = new Pkcs9Attribute (o, al);
+			AssertEquals ("Oid.FriendlyName", defaultName, a.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", defaultOid, a.Oid.Value);
+			AssertEquals ("Values", 0, a.Values.Count);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidNullArrayList () 
+		{
+			ArrayList al = new ArrayList ();
+			Pkcs9Attribute a = new Pkcs9Attribute (null, al);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		[ExpectedException (typeof (NullReferenceException))]
+		public void ConstructorOidArrayListNull () 
+		{
+			Oid o = new Oid (defaultOid);
+			ArrayList al = null; // do not confuse compiler
+			Pkcs9Attribute a = new Pkcs9Attribute (o, al);
+		}
+
+		[Test]
+		public void ConstructorOidObject () 
+		{
+			Oid o = new Oid (defaultOid);
+			Pkcs9Attribute a = new Pkcs9Attribute (o, o);
+			AssertEquals ("Oid.FriendlyName", defaultName, a.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", defaultOid, a.Oid.Value);
+			AssertEquals ("Values", 1, a.Values.Count);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidNullObject () 
+		{
+			Oid o = new Oid (defaultOid);
+			Pkcs9Attribute a = new Pkcs9Attribute (null, o);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorOidObjectNull () 
+		{
+			Oid o = new Oid (defaultOid);
+			object obj = null; // do not confuse compiler
+			Pkcs9Attribute a = new Pkcs9Attribute (o, obj);
+		}
+	}
+}
+
+#endif

+ 47 - 0
mcs/class/System.Security/Test/System.Security.Cryptography.Pkcs/Pkcs9DocumentDescriptionTest.cs

@@ -0,0 +1,47 @@
+//
+// Pkcs9DocumentDescriptionTest.cs - NUnit tests for Pkcs9DocumentDescription
+//
+// Author:
+//	Sebastien Pouliot ([email protected])
+//
+// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
+//
+
+#if NET_1_2
+
+using NUnit.Framework;
+
+using System;
+using System.Collections;
+using System.Security.Cryptography;
+using System.Security.Cryptography.Pkcs;
+
+namespace MonoTests.System.Security.Cryptography.Pkcs {
+
+	[TestFixture]
+	public class Pkcs9DocumentDescriptionTest : Assertion {
+
+		[Test]
+		public void Constructor () 
+		{
+			Pkcs9DocumentDescription dd = new Pkcs9DocumentDescription ("mono");
+			AssertNull ("Oid.FriendlyName", dd.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", "1.3.6.1.4.1.311.88.2.2", dd.Oid.Value);
+			AssertEquals ("Values", 1, dd.Values.Count);
+			AssertEquals ("Values[0]", "mono", (string) dd.Values [0]);
+		}
+
+		[Test]
+		//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorNull () 
+		{
+			Pkcs9DocumentDescription dd = new Pkcs9DocumentDescription (null);
+			AssertNull ("Oid.FriendlyName", dd.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", "1.3.6.1.4.1.311.88.2.2", dd.Oid.Value);
+			AssertEquals ("Values", 1, dd.Values.Count);
+			AssertNull ("Values[0]", dd.Values [0]);
+		}
+	}
+}
+
+#endif

+ 45 - 0
mcs/class/System.Security/Test/System.Security.Cryptography.Pkcs/Pkcs9DocumentNameTest.cs

@@ -0,0 +1,45 @@
+//
+// Pkcs9DocumentNameTest.cs - NUnit tests for Pkcs9DocumentName
+//
+// Author:
+//	Sebastien Pouliot ([email protected])
+//
+// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
+//
+
+#if NET_1_2
+
+using NUnit.Framework;
+
+using System;
+using System.Collections;
+using System.Security.Cryptography;
+using System.Security.Cryptography.Pkcs;
+
+namespace MonoTests.System.Security.Cryptography.Pkcs {
+
+	[TestFixture]
+	public class Pkcs9DocumentNameTest : Assertion {
+
+		[Test]
+		public void Constructor () {
+			Pkcs9DocumentName dn = new Pkcs9DocumentName ("mono");
+			AssertNull ("Oid.FriendlyName", dn.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", "1.3.6.1.4.1.311.88.2.1", dn.Oid.Value);
+			AssertEquals ("Values", 1, dn.Values.Count);
+			AssertEquals ("Values[0]", "mono", (string) dn.Values [0]);
+		}
+
+		[Test]
+			//BUG [ExpectedException (typeof (ArgumentNullException))]
+		public void ConstructorNull () {
+			Pkcs9DocumentName dn = new Pkcs9DocumentName (null);
+			AssertNull ("Oid.FriendlyName", dn.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", "1.3.6.1.4.1.311.88.2.1", dn.Oid.Value);
+			AssertEquals ("Values", 1, dn.Values.Count);
+			AssertNull ("Values[0]", dn.Values [0]);
+		}
+	}
+}
+
+#endif

+ 69 - 0
mcs/class/System.Security/Test/System.Security.Cryptography.Pkcs/Pkcs9SigningTimeTest.cs

@@ -0,0 +1,69 @@
+//
+// Pkcs9SigningTimeTest.cs - NUnit tests for Pkcs9SigningTime
+//
+// Author:
+//	Sebastien Pouliot ([email protected])
+//
+// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
+//
+
+#if NET_1_2
+
+using NUnit.Framework;
+
+using System;
+using System.Collections;
+using System.Security.Cryptography;
+using System.Security.Cryptography.Pkcs;
+
+namespace MonoTests.System.Security.Cryptography.Pkcs {
+
+	[TestFixture]
+	public class Pkcs9SigningTimeTest : Assertion {
+
+		static string signingTimeOid = "1.2.840.113549.1.9.5";
+		static string signingTimeName = "Signing Time";
+
+		[Test]
+		public void ConstructorEmpty () 
+		{
+			Pkcs9SigningTime st = new Pkcs9SigningTime ();
+			AssertEquals ("Oid.FriendlyName", signingTimeName, st.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", signingTimeOid, st.Oid.Value);
+			AssertEquals ("Values", 1, st.Values.Count);
+		}
+
+		[Test]
+		public void ConstructorDateTime () 
+		{
+			Pkcs9SigningTime st = new Pkcs9SigningTime (DateTime.UtcNow);
+			AssertEquals ("Oid.FriendlyName", signingTimeName, st.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", signingTimeOid, st.Oid.Value);
+			AssertEquals ("Values", 1, st.Values.Count);
+		}
+
+		[Test]
+		public void ConstructorMin () 
+		{
+			Pkcs9SigningTime st = new Pkcs9SigningTime (DateTime.MinValue);
+			AssertEquals ("Oid.FriendlyName", signingTimeName, st.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", signingTimeOid, st.Oid.Value);
+			AssertEquals ("Values", 1, st.Values.Count);
+			DateTime signingTime = (DateTime) st.Values [0];
+			AssertEquals ("Values[0]", DateTime.MinValue.Ticks, signingTime.Ticks);
+		}
+
+		[Test]
+		public void ConstructorMax () 
+		{
+			Pkcs9SigningTime st = new Pkcs9SigningTime (DateTime.MaxValue);
+			AssertEquals ("Oid.FriendlyName", signingTimeName, st.Oid.FriendlyName);
+			AssertEquals ("Oid.Value", signingTimeOid, st.Oid.Value);
+			AssertEquals ("Values", 1, st.Values.Count);
+			DateTime signingTime = (DateTime) st.Values [0];
+			AssertEquals ("Values[0]", DateTime.MaxValue.Ticks, signingTime.Ticks);
+		}
+	}
+}
+
+#endif