146 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| /***********************************************************************
 | |
|  * 
 | |
|  *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
 | |
|  *
 | |
|  *  This library is free software; you can redistribute it and/or
 | |
|  *  modify it under the terms of the GNU Lesser General Public
 | |
|  *  License as published by the Free Software Foundation; version 2.1
 | |
|  *  of the License.
 | |
|  *
 | |
|  *  This library is distributed in the hope that it will be useful,
 | |
|  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
|  *  Library Lesser General Public License for more details.
 | |
|  *
 | |
|  *  You should have received a copy of the GNU Lesser General Public
 | |
|  *  License along with this library; if not, Novell, Inc.
 | |
|  * 
 | |
|  *  To contact Novell about this file by physical or electronic mail, 
 | |
|  *  you may find current contact information at www.novell.com.
 | |
|  * 
 | |
|  ***********************************************************************/
 | |
| 
 | |
| #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
 | |
| 
 | |
| 
 |