/* * Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com) * Licensed under the Apache License, Version 2.0 (the "License") * $Id: TestDatasources.java 3918 2008-04-14 17:35:35Z gbevin $ */ package com.uwyn.rife.database; import com.uwyn.rife.config.RifeConfig; import com.uwyn.rife.database.exceptions.DatasourcesException; import com.uwyn.rife.resources.ResourceFinderClasspath; import com.uwyn.rife.tools.ExceptionUtils; import java.io.File; import junit.framework.TestCase; public class TestDatasources extends TestCase { public TestDatasources(String name) { super(name); } public void testInstantiation() { Datasources datasources = null; try { datasources = new Datasources("xml/test_xml2datasources.xml", ResourceFinderClasspath.getInstance()); } catch (DatasourcesException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } assertNotNull(datasources); } public void testRepInstance() { assertTrue(Datasources.hasRepInstance()); assertNotNull(Datasources.getRepInstance()); } public void testToXml() { try { Datasources datasources = new Datasources("xml/test_xml2datasources.xml", ResourceFinderClasspath.getInstance()); assertTrue(datasources.toXml().length() > 0); assertEquals(datasources.toXml(), "<datasources>\n"+ "\t<datasource name=\"datasource1\">\n"+ "\t\t<driver>org.postgresql.Driver</driver>\n"+ "\t\t<url>jdbc:postgresql://localhost:5432/thedb</url>\n"+ "\t\t<user>unittests1</user>\n"+ "\t\t<password>password1</password>\n"+ "\t\t<poolsize>5</poolsize>\n"+ "\t</datasource>\n"+ "\t<datasource name=\"datasource2\">\n"+ "\t\t<driver>com.mysql.jdbc.Driver</driver>\n"+ "\t\t<url>jdbc:mysql://localhost:3306/thedb</url>\n"+ "\t\t<user>user2</user>\n"+ "\t\t<password>pw2</password>\n"+ "\t\t<poolsize>15</poolsize>\n"+ "\t</datasource>\n"+ "\t<datasource name=\"datasource3\">\n"+ "\t\t<driver>oracle.jdbc.driver.OracleDriver</driver>\n"+ "\t\t<url>jdbc:oracle:thin:@10.1.1.2:1521:database</url>\n"+ "\t\t<user>unittests</user>\n"+ "\t\t<password>password</password>\n"+ "\t</datasource>\n"+ "\t<datasource name=\"datasource4\">\n"+ "\t\t<driver>org.gjt.mm.mysql.Driver</driver>\n"+ "\t\t<url>jdbc:mysql://localhost:3306/thedb</url>\n"+ "\t\t<user>user2</user>\n"+ "\t\t<password>pw2</password>\n"+ "\t\t<poolsize>15</poolsize>\n"+ "\t</datasource>\n"+ "</datasources>\n"); } catch (DatasourcesException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } public void testStoreXml() { try { Datasources datasources = new Datasources(); Datasource datasource1 = new Datasource("driver1", "url1", "user1", "password1", 7); Datasource datasource2 = new Datasource(); datasource2.setDriver("driver2"); datasource2.setUrl("url2"); datasource2.setUser("user2"); datasource2.setPassword("password2"); Datasource datasource3 = new Datasource(); datasource3.setDriver("driver3"); datasource3.setUrl("url3"); datasource3.setPoolsize(3); datasources.setDatasource("datasource1", datasource1); datasources.setDatasource("datasource2", datasource2); datasources.setDatasource("datasource3", datasource3); String xml_filename = "datasources_storexml_test.xml"; String xml_path = RifeConfig.Global.getTempPath()+File.separator+xml_filename; File xml_file = new File(xml_path); datasources.storeToXml(xml_file); Datasources datasources_stored = new Datasources(xml_filename, ResourceFinderClasspath.getInstance()); assertEquals(datasource1, datasources_stored.getDatasource("datasource1")); assertEquals(datasource2, datasources_stored.getDatasource("datasource2")); assertEquals(datasource3, datasources_stored.getDatasource("datasource3")); Datasource datasource4 = new Datasource("driver4", "url4", "user4", "password4", 11); datasources_stored.setDatasource("datasource4", datasource4); datasources_stored.storeToXml(); Datasources datasources_stored2 = new Datasources(xml_filename, ResourceFinderClasspath.getInstance()); assertEquals(datasource1, datasources_stored2.getDatasource("datasource1")); assertEquals(datasource2, datasources_stored2.getDatasource("datasource2")); assertEquals(datasource3, datasources_stored2.getDatasource("datasource3")); assertEquals(datasource4, datasources_stored2.getDatasource("datasource4")); xml_file.delete(); } catch (DatasourcesException e) { assertTrue(ExceptionUtils.getExceptionStackTrace(e), false); } } }