#if DEBUG using System; using System.Text; using System.Collections; //using System.InvalidOperationException; using NUnit.Framework; using sscs.common; namespace sscs.cache { [TestFixture] public class TestKeyChain { Secret mysec; KeyChain mykc; string secval; byte[] secbyte; [SetUp] public void Init() { mykc = new KeyChain("TestingID"); secval= "novell123"; secbyte = Encoding.ASCII.GetBytes(secval); mysec = new Secret(); mysec.SetKey("testkey"); mysec.SetValue(secbyte); } [Test] public void TestAddSecret() { mykc.AddSecret(mysec); Secret returnsecret = mykc.GetSecret("testkey"); Assert.AreEqual("novell123", Encoding.ASCII.GetString(returnsecret.GetValue("testkey"))); } [Test] public void TestAddSecretWithDup() { //Add one more with same secret id byte[] newvalue = Encoding.ASCII.GetBytes("miCASA"); mysec.SetValue(newvalue); mykc.AddSecret(mysec); Secret returnsecret = mykc.GetSecret("testkey"); Assert.AreEqual("miCASA", Encoding.ASCII.GetString(returnsecret.GetValue("testkey"))); } [Test] [ExpectedException(typeof(SecretNotFoundException))] public void TestRemoveSecret() { mykc.RemoveSecret("testkey"); //Try and get the same. //Secret sec = mykc.GetSecret("testkey"); } [Test] [ExpectedException(typeof(InvalidOperationException))] public void TestGetAllSecretsWhenNone() { // IDictionaryEnumerator myenum = (IDictionaryEnumerator)mykc.GetAllSecrets(); //Object temp = myenum.Current; } [Test] public void TestGetAllSecrets() { int count = 0; byte[] val1 = Encoding.ASCII.GetBytes("val1"); byte[] val2 = Encoding.ASCII.GetBytes("val2"); byte[] val3 = Encoding.ASCII.GetBytes("val3"); Secret sec1 = new Secret("key1", val1); Secret sec2 = new Secret("key2", val2); Secret sec3 = new Secret("key3", val3); mykc.AddSecret(sec1); mykc.AddSecret(sec2); mykc.AddSecret(sec3); IDictionaryEnumerator myenum =(IDictionaryEnumerator) mykc.GetAllSecrets(); while(myenum.MoveNext()) { count++; } Assert.AreEqual(3, mykc.GetNumSecrets()); Assert.AreEqual(3, count); } } } #endif