151 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			3.5 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 TestSecretStore
 | |
| {	
 | |
| 
 | |
|  	User theuser = null;
 | |
|  	UnixUserIdentifier UserId = null;
 | |
|       SecretStore mysec = null;
 | |
|       KeyChain mykc = null;
 | |
|       byte[] secbyte = null;
 | |
|       Secret mysecret = null;
 | |
| 
 | |
|      [SetUp]
 | |
|      public void Init()
 | |
|      {
 | |
|       		    	
 | |
|           mykc = new KeyChain("TestingID");
 | |
|                    
 | |
|  	   
 | |
|           mysecret = new Secret(); 
 | |
|           mysecret.SetKey("testkey"); 
 | |
|           secbyte = Encoding.ASCII.GetBytes("NOVELL");
 | |
|           mysecret.SetValue(secbyte);     
 | |
| 
 | |
| 	   mykc.AddSecret(mysecret);
 | |
|           
 | |
|        
 | |
|          UserId = new UnixUserIdentifier(420);
 | |
|          theuser = new UnixUser(UserId);
 | |
|          mysec = new SecretStore(theuser);
 | |
|      	 
 | |
|      }
 | |
|      
 | |
|  	
 | |
| 	[Test]	
 | |
| 	public void TestIntialState()
 | |
| 	{
 | |
|            Assert.AreEqual(0, mysec.GetNumKeyChains());
 | |
|           // Assert.AreEqual(0, mysec.getRefCount());
 | |
|            Assert.AreEqual(0, mysec.GetSecretStoreState());
 | |
|             
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	[Test]	
 | |
| 	public void TestAddKeyChain()
 | |
| 	{
 | |
| 		mysec.AddKeyChain(mykc);
 | |
| 		
 | |
| 		Assert.AreEqual(1, mysec.GetNumKeyChains());
 | |
| 
 | |
| 		Secret returnsec =  (mysec.GetKeyChain("TestingID")).GetSecret("testkey");;
 | |
| 		
 | |
| 		Assert.AreEqual("NOVELL", Encoding.ASCII.GetString(returnsec.GetValue("testkey")));
 | |
| 		
 | |
|            
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	[Test]	
 | |
| 	public void TestRemoveKeyChain()
 | |
| 	{
 | |
| 		mysec.RemoveKeyChain("TestingID");
 | |
| 		Assert.AreEqual(0, mysec.GetNumKeyChains());
 | |
| 
 | |
| 		Assert.AreEqual(false, mysec.CheckIfKeyChainExists("TestingID"));
 | |
| 		
 | |
|            
 | |
| 	}
 | |
| 	
 | |
| 	[Test]	
 | |
| 	[ExpectedException(typeof(KeyChainDoesNotExistException))]	
 | |
| 	public void TestRemoveKeyChainAgain()
 | |
| 	{
 | |
| 		mysec.GetKeyChain("TestingID");
 | |
|        }
 | |
| 
 | |
| 
 | |
|    
 | |
| 
 | |
| 
 | |
|       [Test]	
 | |
| 	public void TestGetKeyChainEnumerator()
 | |
| 	{
 | |
| 		 KeyChain mykc1 = new KeyChain("kc1");
 | |
| 		 KeyChain mykc2 = new KeyChain("kc2");
 | |
|  		 KeyChain mykc3 = new KeyChain("kc3");
 | |
| 
 | |
|  		 Secret mysecret1 = new Secret("key1", secbyte); 
 | |
|  		 Secret mysecret2 = new Secret("key2", secbyte); 
 | |
|  		 Secret mysecret3 = new Secret("key3", secbyte); 
 | |
|  		 
 | |
|  		 mykc1.AddSecret(mysecret1);
 | |
|  		 mykc2.AddSecret(mysecret2);
 | |
|  		 mykc3.AddSecret(mysecret3);
 | |
| 
 | |
|  		 mysec.AddKeyChain(mykc1);
 | |
|  		 mysec.AddKeyChain(mykc2);
 | |
|  		 mysec.AddKeyChain(mykc3);
 | |
| 		 
 | |
|              Assert.AreEqual(3, mysec.GetNumKeyChains());
 | |
|            
 | |
| 	}
 | |
| 
 | |
|       
 | |
| 		
 | |
| 	
 | |
| }
 | |
| 
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| 
 | |
| 
 |