1 21 package net.sf.hajdbc.sql; 22 23 import java.util.Hashtable ; 24 25 import javax.naming.Context ; 26 import javax.naming.Name ; 27 import javax.naming.Reference ; 28 import javax.naming.StringRefAddr ; 29 30 import net.sf.hajdbc.DatabaseClusterTestCase; 31 32 import org.testng.annotations.AfterClass; 33 import org.testng.annotations.BeforeClass; 34 import org.testng.annotations.Test; 35 36 42 @Test 43 public class TestDataSourceFactory extends DatabaseClusterTestCase 44 { 45 private DataSourceFactory factory = new DataSourceFactory(); 46 47 @BeforeClass 48 public void setUp() throws Exception 49 { 50 super.setUp(); 51 52 DataSource dataSource = new DataSource(); 53 54 dataSource.setCluster("test-datasource-cluster"); 55 56 this.context.bind("datasource", dataSource); 57 } 58 59 @AfterClass 60 public void tearDown() throws Exception 61 { 62 this.context.unbind("datasource"); 63 64 super.tearDown(); 65 } 66 67 70 public void testGetObjectInstance() 71 { 72 Reference reference = new Reference ("net.sf.hajdbc.sql.DataSource", new StringRefAddr (DataSource.DATABASE_CLUSTER, "test-datasource-cluster")); 73 74 try 75 { 76 Object object = this.factory.getObjectInstance(reference, null, null, null); 77 78 assert object != null; 79 assert net.sf.hajdbc.sql.DataSource.class.equals(object.getClass()); 80 } 81 catch (Exception e) 82 { 83 assert false : e; 84 } 85 } 86 87 90 public void testNullReferenceGetObjectInstance() 91 { 92 try 93 { 94 Object object = this.factory.getObjectInstance(null, null, null, null); 95 96 assert object == null; 97 } 98 catch (Exception e) 99 { 100 assert false : e; 101 } 102 } 103 104 107 public void testWrongReferenceGetObjectInstance() 108 { 109 Reference reference = new Reference ("net.sf.hajdbc.sql.Driver", new StringRefAddr (DataSource.DATABASE_CLUSTER, "test-datasource-cluster")); 110 111 try 112 { 113 Object object = this.factory.getObjectInstance(reference, null, null, null); 114 115 assert object == null; 116 } 117 catch (Exception e) 118 { 119 assert false : e; 120 } 121 } 122 123 126 public void testMissingRefAddrReferenceGetObjectInstance() 127 { 128 Reference reference = new Reference ("net.sf.hajdbc.sql.DataSource"); 129 130 try 131 { 132 Object object = this.factory.getObjectInstance(reference, null, null, null); 133 134 assert object == null; 135 } 136 catch (Exception e) 137 { 138 assert false : e; 139 } 140 } 141 142 145 public void testInvalidRefAddrReferenceGetObjectInstance() 146 { 147 Reference reference = new Reference ("net.sf.hajdbc.sql.DataSource", new StringRefAddr (DataSource.DATABASE_CLUSTER, "invalid-name")); 148 149 try 150 { 151 this.factory.getObjectInstance(reference, null, null, null); 152 153 assert false; 154 } 155 catch (Exception e) 156 { 157 assert true; 158 } 159 } 160 } 161 | Popular Tags |