// Copyright (c) 2005 Dustin Sallings <dustin@spy.net> package net.spy.util; import java.io.File; import junit.framework.TestCase; /** * Test SpyConfig stuff. */ public class SpyConfigTest extends TestCase { private File confFile=null; private File nonsenseFile=null; /** * Get an instance of SpyConfigTest. */ public SpyConfigTest(String name) { super(name); } @Override protected void setUp() { nonsenseFile=new File("/some/nonsense/file"); confFile=new File(System.getProperties().get("basedir") + "/etc/test.conf"); } /** * Test reading a non-existent file. */ public void testReadingNonExistent() throws Exception { SpyConfig conf=new SpyConfig(nonsenseFile); assertEquals(0, conf.size()); conf=new SpyConfig(nonsenseFile); assertEquals(0, conf.size()); assertFalse(conf.loadConfig(nonsenseFile)); File[] a=new File[1]; a[0]=nonsenseFile; assertFalse(conf.loadConfig(a)); } /** * Test loading a real config. */ public void testLoadingConfig() throws Exception { SpyConfig conf1=new SpyConfig(confFile); assertEquals(5, conf1.size()); SpyConfig conf2=new SpyConfig(); assertEquals(0, conf2.size()); assertTrue(conf2.loadConfig(confFile)); assertEquals(5, conf2.size()); File[] a=new File[2]; a[0]=new File("/some/nonsense/file"); a[1]=confFile; SpyConfig conf3=new SpyConfig(); assertEquals(0, conf3.size()); assertTrue(conf3.loadConfig(a)); assertEquals(5, conf3.size()); } /** * Test the orput stuff. */ public void testOrPut() throws Exception { SpyConfig conf=new SpyConfig(confFile); assertEquals("username", conf.get("dbUser")); conf.orput("dbUser", "blah"); assertEquals("username", conf.get("dbUser")); conf.put("dbUser", "blah"); assertEquals("blah", conf.get("dbUser")); assertNull(conf.get("testEntry")); conf.orput("testEntry", "yep"); assertEquals("yep", conf.get("testEntry")); } /** * Test conf getting with defaults. */ public void testDefs() throws Exception { SpyConfig conf=new SpyConfig(); assertNull(conf.get("blah")); assertNull(conf.get("blah", null)); assertEquals("blah", conf.get("blah", "blah")); conf.put("blah", "woo"); assertEquals("woo", conf.get("blah", "blah")); assertEquals("woo", conf.get("blah", null)); assertEquals(13, conf.getInt("number", 13)); conf.put("number", "17"); assertEquals(17, conf.getInt("number", 13)); } }