From 948a88e6d64602fb737e9bd78fd7b0d3925eae64 Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Sun, 12 Oct 2014 00:50:53 +0900 Subject: [PATCH] More test coverage. --- .../com/zaxxer/hikari/JdbcDriverTest.java | 4 + .../test/java/com/zaxxer/hikari/TestJNDI.java | 88 +++++++++++++++++++ .../com/zaxxer/hikari/JdbcDriverTest.java | 4 + .../test/java/com/zaxxer/hikari/TestJNDI.java | 88 +++++++++++++++++++ pom.xml | 6 ++ 5 files changed, 190 insertions(+) create mode 100644 hikaricp-java6/src/test/java/com/zaxxer/hikari/TestJNDI.java create mode 100644 hikaricp/src/test/java/com/zaxxer/hikari/TestJNDI.java diff --git a/hikaricp-java6/src/test/java/com/zaxxer/hikari/JdbcDriverTest.java b/hikaricp-java6/src/test/java/com/zaxxer/hikari/JdbcDriverTest.java index 6a302696..ae7bfe4a 100644 --- a/hikaricp-java6/src/test/java/com/zaxxer/hikari/JdbcDriverTest.java +++ b/hikaricp-java6/src/test/java/com/zaxxer/hikari/JdbcDriverTest.java @@ -55,5 +55,9 @@ public class JdbcDriverTest Connection connection = ds.getConnection(); connection.close(); + + connection = ds.getConnection("foo", "bar"); + connection.close(); + } } diff --git a/hikaricp-java6/src/test/java/com/zaxxer/hikari/TestJNDI.java b/hikaricp-java6/src/test/java/com/zaxxer/hikari/TestJNDI.java new file mode 100644 index 00000000..903e1433 --- /dev/null +++ b/hikaricp-java6/src/test/java/com/zaxxer/hikari/TestJNDI.java @@ -0,0 +1,88 @@ +package com.zaxxer.hikari; + +import javax.naming.Context; +import javax.naming.Name; +import javax.naming.NamingException; +import javax.naming.RefAddr; +import javax.naming.Reference; + +import org.junit.Assert; +import org.junit.Test; +import org.osjava.sj.jndi.AbstractContext; + +public class TestJNDI +{ + @Test + public void testJndiLookup1() throws Exception + { + HikariJNDIFactory jndi = new HikariJNDIFactory(); + Reference ref = new Reference("javax.sql.DataSource"); + ref.add(new BogusRef("driverClassName", "com.zaxxer.hikari.mocks.StubDriver")); + ref.add(new BogusRef("jdbcUrl", "jdbc:stub")); + ref.add(new BogusRef("username", "foo")); + ref.add(new BogusRef("password", "foo")); + ref.add(new BogusRef("minimumIdle", "0")); + ref.add(new BogusRef("maxLifetime", "20000")); + ref.add(new BogusRef("maximumPoolSize", "10")); + ref.add(new BogusRef("dataSource.loginTimeout", "10")); + Context nameCtx = new BogusContext(); + + HikariDataSource ds = (HikariDataSource) jndi.getObjectInstance(ref, null, nameCtx, null); + Assert.assertNotNull(ds); + Assert.assertEquals("foo", ds.getUsername()); + } + + @Test + public void testJndiLookup2() throws Exception + { + HikariJNDIFactory jndi = new HikariJNDIFactory(); + Reference ref = new Reference("javax.sql.DataSource"); + ref.add(new BogusRef("dataSourceJNDI", "java:comp/env/HikariDS")); + ref.add(new BogusRef("driverClassName", "com.zaxxer.hikari.mocks.StubDriver")); + ref.add(new BogusRef("jdbcUrl", "jdbc:stub")); + ref.add(new BogusRef("username", "foo")); + ref.add(new BogusRef("password", "foo")); + ref.add(new BogusRef("minimumIdle", "0")); + ref.add(new BogusRef("maxLifetime", "20000")); + ref.add(new BogusRef("maximumPoolSize", "10")); + ref.add(new BogusRef("dataSource.loginTimeout", "10")); + Context nameCtx = new BogusContext(); + + HikariDataSource ds = (HikariDataSource) jndi.getObjectInstance(ref, null, nameCtx, null); + Assert.assertNotNull(ds); + Assert.assertEquals("foo", ds.getUsername()); + } + + private class BogusContext extends AbstractContext + { + @Override + public Context createSubcontext(Name name) throws NamingException + { + return null; + } + + @Override + public Object lookup(String name) throws NamingException + { + return new HikariDataSource(); + } + } + + private class BogusRef extends RefAddr + { + private static final long serialVersionUID = 1L; + + private String content; + BogusRef(String type, String content) + { + super(type); + this.content = content; + } + + @Override + public Object getContent() + { + return content; + } + } +} diff --git a/hikaricp/src/test/java/com/zaxxer/hikari/JdbcDriverTest.java b/hikaricp/src/test/java/com/zaxxer/hikari/JdbcDriverTest.java index 6a302696..ae7bfe4a 100644 --- a/hikaricp/src/test/java/com/zaxxer/hikari/JdbcDriverTest.java +++ b/hikaricp/src/test/java/com/zaxxer/hikari/JdbcDriverTest.java @@ -55,5 +55,9 @@ public class JdbcDriverTest Connection connection = ds.getConnection(); connection.close(); + + connection = ds.getConnection("foo", "bar"); + connection.close(); + } } diff --git a/hikaricp/src/test/java/com/zaxxer/hikari/TestJNDI.java b/hikaricp/src/test/java/com/zaxxer/hikari/TestJNDI.java new file mode 100644 index 00000000..903e1433 --- /dev/null +++ b/hikaricp/src/test/java/com/zaxxer/hikari/TestJNDI.java @@ -0,0 +1,88 @@ +package com.zaxxer.hikari; + +import javax.naming.Context; +import javax.naming.Name; +import javax.naming.NamingException; +import javax.naming.RefAddr; +import javax.naming.Reference; + +import org.junit.Assert; +import org.junit.Test; +import org.osjava.sj.jndi.AbstractContext; + +public class TestJNDI +{ + @Test + public void testJndiLookup1() throws Exception + { + HikariJNDIFactory jndi = new HikariJNDIFactory(); + Reference ref = new Reference("javax.sql.DataSource"); + ref.add(new BogusRef("driverClassName", "com.zaxxer.hikari.mocks.StubDriver")); + ref.add(new BogusRef("jdbcUrl", "jdbc:stub")); + ref.add(new BogusRef("username", "foo")); + ref.add(new BogusRef("password", "foo")); + ref.add(new BogusRef("minimumIdle", "0")); + ref.add(new BogusRef("maxLifetime", "20000")); + ref.add(new BogusRef("maximumPoolSize", "10")); + ref.add(new BogusRef("dataSource.loginTimeout", "10")); + Context nameCtx = new BogusContext(); + + HikariDataSource ds = (HikariDataSource) jndi.getObjectInstance(ref, null, nameCtx, null); + Assert.assertNotNull(ds); + Assert.assertEquals("foo", ds.getUsername()); + } + + @Test + public void testJndiLookup2() throws Exception + { + HikariJNDIFactory jndi = new HikariJNDIFactory(); + Reference ref = new Reference("javax.sql.DataSource"); + ref.add(new BogusRef("dataSourceJNDI", "java:comp/env/HikariDS")); + ref.add(new BogusRef("driverClassName", "com.zaxxer.hikari.mocks.StubDriver")); + ref.add(new BogusRef("jdbcUrl", "jdbc:stub")); + ref.add(new BogusRef("username", "foo")); + ref.add(new BogusRef("password", "foo")); + ref.add(new BogusRef("minimumIdle", "0")); + ref.add(new BogusRef("maxLifetime", "20000")); + ref.add(new BogusRef("maximumPoolSize", "10")); + ref.add(new BogusRef("dataSource.loginTimeout", "10")); + Context nameCtx = new BogusContext(); + + HikariDataSource ds = (HikariDataSource) jndi.getObjectInstance(ref, null, nameCtx, null); + Assert.assertNotNull(ds); + Assert.assertEquals("foo", ds.getUsername()); + } + + private class BogusContext extends AbstractContext + { + @Override + public Context createSubcontext(Name name) throws NamingException + { + return null; + } + + @Override + public Object lookup(String name) throws NamingException + { + return new HikariDataSource(); + } + } + + private class BogusRef extends RefAddr + { + private static final long serialVersionUID = 1L; + + private String content; + BogusRef(String type, String content) + { + super(type); + this.content = content; + } + + @Override + public Object getContent() + { + return content; + } + } +} diff --git a/pom.xml b/pom.xml index 1bc7a0e5..1bd4aead 100644 --- a/pom.xml +++ b/pom.xml @@ -160,6 +160,12 @@ provided true + + simple-jndi + simple-jndi + 0.11.4.1 + test +