You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/03/27 05:20:44 UTC

svn commit: r1582179 - /logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java

Author: mattsicker
Date: Thu Mar 27 04:20:44 2014
New Revision: 1582179

URL: http://svn.apache.org/r1582179
Log:
De-duplicate redundant code.

Modified:
    logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java

Modified: logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java?rev=1582179&r1=1582178&r2=1582179&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java (original)
+++ logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/DataSourceConnectionSourceTest.java Thu Mar 27 04:20:44 2014
@@ -18,6 +18,8 @@ package org.apache.logging.log4j.core.ap
 
 import java.sql.Connection;
 import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collection;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.sql.DataSource;
@@ -25,14 +27,33 @@ import javax.sql.DataSource;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import org.mockejb.jndi.MockContextFactory;
 
 import static org.easymock.EasyMock.*;
 import static org.junit.Assert.*;
 
+@RunWith(Parameterized.class)
 public class DataSourceConnectionSourceTest {
+
+    @Parameterized.Parameters
+    public static Collection<Object[]> data() {
+        return Arrays.asList(
+                new Object[][]{
+                        {"java:/comp/env/jdbc/Logging01"},
+                        {"java:/comp/env/jdbc/Logging02"}
+                }
+        );
+    }
+
+    private final String jndiURL;
     private InitialContext context;
 
+    public DataSourceConnectionSourceTest(final String jndiURL) {
+        this.jndiURL = jndiURL;
+    }
+
     @Before
     public void setUp() throws NamingException {
         MockContextFactory.setAsInitial();
@@ -66,13 +87,13 @@ public class DataSourceConnectionSourceT
     @Test
     public void testNoDataSource() {
         final DataSourceConnectionSource source = DataSourceConnectionSource
-                .createConnectionSource("java:/comp/env/jdbc/Logging01");
+                .createConnectionSource(this.jndiURL);
 
         assertNull("The connection source should be null.", source);
     }
 
     @Test
-    public void testDataSource01() throws NamingException, SQLException {
+    public void testDataSource() throws NamingException, SQLException {
         final DataSource dataSource = createStrictMock(DataSource.class);
         final Connection connection1 = createStrictMock(Connection.class);
         final Connection connection2 = createStrictMock(Connection.class);
@@ -81,49 +102,22 @@ public class DataSourceConnectionSourceT
         expect(dataSource.getConnection()).andReturn(connection2);
         replay(dataSource, connection1, connection2);
 
-        this.context.bind("java:/comp/env/jdbc/Logging01", dataSource);
+        this.context.bind(this.jndiURL, dataSource);
 
         DataSourceConnectionSource source = DataSourceConnectionSource
-                .createConnectionSource("java:/comp/env/jdbc/Logging01");
+                .createConnectionSource(this.jndiURL);
 
         assertNotNull("The connection source should not be null.", source);
-        assertEquals("The toString value is not correct.", "dataSource{ name=java:/comp/env/jdbc/Logging01, value="
+        assertEquals("The toString value is not correct.", "dataSource{ name=" + jndiURL + ", value="
                 + dataSource + " }", source.toString());
         assertSame("The connection is not correct (1).", connection1, source.getConnection());
         assertSame("The connection is not correct (2).", connection2, source.getConnection());
 
-        source = DataSourceConnectionSource.createConnectionSource("java:/comp/env/jdbc/Logging02");
+        source = DataSourceConnectionSource.createConnectionSource(jndiURL.substring(0, jndiURL.length() - 1));
 
         assertNull("The connection source should be null now.", source);
 
         verify(dataSource, connection1, connection2);
     }
 
-    @Test
-    public void testDataSource02() throws NamingException, SQLException {
-        final DataSource dataSource = createStrictMock(DataSource.class);
-        final Connection connection1 = createStrictMock(Connection.class);
-        final Connection connection2 = createStrictMock(Connection.class);
-
-        expect(dataSource.getConnection()).andReturn(connection1);
-        expect(dataSource.getConnection()).andReturn(connection2);
-        replay(dataSource, connection1, connection2);
-
-        this.context.bind("java:/comp/env/jdbc/Logging02", dataSource);
-
-        DataSourceConnectionSource source = DataSourceConnectionSource
-                .createConnectionSource("java:/comp/env/jdbc/Logging02");
-
-        assertNotNull("The connection source should not be null.", source);
-        assertEquals("The toString value is not correct.", "dataSource{ name=java:/comp/env/jdbc/Logging02, value="
-                + dataSource + " }", source.toString());
-        assertSame("The connection is not correct (1).", connection1, source.getConnection());
-        assertSame("The connection is not correct (2).", connection2, source.getConnection());
-
-        source = DataSourceConnectionSource.createConnectionSource("java:/comp/env/jdbc/Logging01");
-
-        assertNull("The connection source should be null now.", source);
-
-        verify(dataSource, connection1, connection2);
-    }
 }