/* * Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com> * Licensed under the Apache License, Version 2.0 (the "License") * $Id: TestXml2Datasources.java 3918 2008-04-14 17:35:35Z gbevin $ */ package com.uwyn.rife.database; import com.uwyn.rife.database.exceptions.DatasourcesException; import com.uwyn.rife.resources.ResourceFinderClasspath; import com.uwyn.rife.tools.ExceptionUtils; import junit.framework.TestCase; public class TestXml2Datasources extends TestCase { public TestXml2Datasources(String name) { super(name); } public void testParser() { Datasources datasources = null; try { datasources = new Datasources("xml/test_xml2datasources.xml", ResourceFinderClasspath.getInstance()); assertEquals(4, datasources.getDatasourceNames().size()); assertTrue(datasources.getDatasourceNames().contains("datasource1")); assertTrue(datasources.getDatasourceNames().contains("datasource2")); assertTrue(datasources.getDatasourceNames().contains("datasource3")); Datasource datasource1 = datasources.getDatasource("datasource1"); assertEquals("org.postgresql.Driver", datasource1.getDriver()); assertEquals("org.postgresql.Driver", datasource1.getAliasedDriver()); assertEquals("jdbc:postgresql://localhost:5432/thedb", datasource1.getUrl()); assertEquals("unittests1", datasource1.getUser()); assertEquals("password1", datasource1.getPassword()); assertEquals(5, datasource1.getPoolsize()); assertTrue(datasource1.isPooled()); Datasource datasource2 = datasources.getDatasource("datasource2"); assertEquals("com.mysql.jdbc.Driver", datasource2.getDriver()); assertEquals("com.mysql.jdbc.Driver", datasource2.getAliasedDriver()); assertEquals("jdbc:mysql://localhost:3306/thedb", datasource2.getUrl()); assertEquals("user2", datasource2.getUser()); assertEquals("pw2", datasource2.getPassword()); assertEquals(15, datasource2.getPoolsize()); assertTrue(datasource2.isPooled()); Datasource datasource3 = datasources.getDatasource("datasource3"); assertEquals("oracle.jdbc.driver.OracleDriver", datasource3.getDriver()); assertEquals("oracle.jdbc.driver.OracleDriver", datasource3.getAliasedDriver()); assertEquals("jdbc:oracle:thin:@10.1.1.2:1521:database", datasource3.getUrl()); assertEquals("unittests", datasource3.getUser()); assertEquals("password", datasource3.getPassword()); assertEquals(0, datasource3.getPoolsize()); assertTrue(!datasource3.isPooled()); Datasource datasource4 = datasources.getDatasource("datasource4"); assertEquals("org.gjt.mm.mysql.Driver", datasource4.getDriver()); assertEquals("com.mysql.jdbc.Driver", datasource4.getAliasedDriver()); assertEquals("jdbc:mysql://localhost:3306/thedb", datasource4.getUrl()); assertEquals("user2", datasource4.getUser()); assertEquals("pw2", datasource4.getPassword()); assertEquals(15, datasource4.getPoolsize()); assertTrue(datasource4.isPooled()); } catch (DatasourcesException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testSelectedShortClassname() { Datasources datasources = null; try { datasources = new Datasources("TestSelectorDatasources", ResourceFinderClasspath.getInstance()); } catch (DatasourcesException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } assertTrue(null != datasources.getDatasource("datasource1")); } public void testSelectedFullClassname() { Datasources datasources = null; try { datasources = new Datasources("com.uwyn.rife.selector.TestSelectorDatasources", ResourceFinderClasspath.getInstance()); } catch (DatasourcesException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } assertTrue(null != datasources.getDatasource("datasource1")); } public void testUnavailableXmlFile() { Datasources datasources = null; try { datasources = new Datasources("xml/this_file_is_not_there.xml", ResourceFinderClasspath.getInstance()); fail(); assertNotNull(datasources); } catch (IllegalArgumentException e) { assertTrue(true); } catch (DatasourcesException e) { assertTrue(true); } } }