package org.oddjob.sql; import junit.framework.TestCase; import org.oddjob.OddjobSessionFactory; import org.oddjob.arooa.ArooaBeanDescriptor; import org.oddjob.arooa.ArooaParseException; import org.oddjob.arooa.ArooaSession; import org.oddjob.arooa.convert.ArooaConversionException; import org.oddjob.arooa.life.SimpleArooaClass; import org.oddjob.tools.OddjobTestHelper; public class ConnectionTypeTest extends TestCase { public void testSerialize() throws Exception { ConnectionType test = new ConnectionType(); test.setUrl("x:/y/z"); ConnectionType copy = (ConnectionType) OddjobTestHelper.copy(test); assertEquals("x:/y/z", copy.getUrl()); } public void testIsClassLoaderAuto() throws ArooaParseException { ArooaSession session = new OddjobSessionFactory().createSession(); ArooaBeanDescriptor descriptor = session.getArooaDescriptor().getBeanDescriptor( new SimpleArooaClass(ConnectionType.class), session.getTools().getPropertyAccessor()); assertTrue(descriptor.isAuto("classLoader")); } public void testBadUrl() { ConnectionType test = new ConnectionType(); test.setDriver("org.hsqldb.jdbcDriver"); test.setUrl("jdbc.url=jdbc:hsqldb:mem:test"); test.setUsername("sa"); test.setPassword(""); try { test.toValue(); fail("Should fail."); } catch (ArooaConversionException e) { assertTrue(e.getMessage().startsWith( "No connection available for")); } } public void testBadUrl2() { ConnectionType test = new ConnectionType(); test.setDriver("org.hsqldb.jdbcDriver"); test.setUrl("jdbc.url="); test.setUsername("sa"); test.setPassword(""); try { test.toValue(); fail("Should fail."); } catch (ArooaConversionException e) { assertTrue(e.getMessage().startsWith( "No connection available for")); } } }