[dna-commits] DNA SVN: r749 - trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Tue Mar 3 17:02:41 EST 2009


Author: spagop
Date: 2009-03-03 17:02:41 -0500 (Tue, 03 Mar 2009)
New Revision: 749

Modified:
   trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNConnectorTestUtil.java
   trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNRepositoryConnectionTest.java
   trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNRepositorySourceTest.java
Log:
some coding enhancements

Modified: trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNConnectorTestUtil.java
===================================================================
--- trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNConnectorTestUtil.java	2009-03-03 20:34:42 UTC (rev 748)
+++ trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNConnectorTestUtil.java	2009-03-03 22:02:41 UTC (rev 749)
@@ -23,6 +23,9 @@
  */
 package org.jboss.dna.connector.svn;
 
+import java.io.File;
+import java.io.IOException;
+import org.jboss.dna.common.util.FileUtil;
 import org.tmatesoft.svn.core.SVNException;
 import org.tmatesoft.svn.core.SVNURL;
 import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
@@ -38,16 +41,19 @@
  */
 public class SVNConnectorTestUtil {
 
-//    public static void main( String[] args ) {
-//        try {
-//            System.out.println("hello ......");
-//            SVNRepository repos = createRepository("file:////Users/sp/innoq-dev/innoq-jboss/jboss-dna/extensions/dna-connector-svn/src/test/resources/dummy_svn_repos", "sp", "p530020");
-//            System.out.println("Repository Root: " + repos.getRepositoryRoot(true));
-//            System.out.println("Repository UUID: " + repos.getRepositoryUUID(true));
-//            System.out.println("hello ......");
-//        } catch (SVNException e) {
-//        }
-//    }
+    public static void main( String[] args ) throws Exception {
+        try {
+            System.out.println("hello ......");
+            String svnUrl = SVNConnectorTestUtil.createURL("src/test/resources/dummy_svn_repos", "target/copy_of dummy_svn_repos");
+            String username = "sp";
+            String password = "";
+            SVNRepository repos = createRepository(svnUrl, username, password);
+            System.out.println("Repository Root: " + repos.getRepositoryRoot(true));
+            System.out.println("Repository UUID: " + repos.getRepositoryUUID(true));
+            System.out.println("hello ......");
+        } catch (SVNException e) {
+        }
+    }
 
     /**
      * Create a {@link SVNRepository} from a http protocol.
@@ -74,7 +80,21 @@
         repository.setAuthenticationManager(authManager);
         return repository;
     }
+    
+    public static String createURL(String src, String dst) throws IOException {
+        // First we need to find the absolute path. Note that Maven always runs the tests from the project's directory,
+        // so use new File to create an instance at the current location ...
+        File mySrc = new File(src);
+        File myDst = new File(dst);
 
+        // make sure the destination is empty before we copy
+        FileUtil.delete(myDst);
+        FileUtil.copy(mySrc, myDst);
+
+        // Now set the two path roots
+        String url = myDst.getCanonicalFile().toURL().toString();
+        return url.replaceFirst("file:/", "file://localhost/");
+    }
     private SVNConnectorTestUtil() {
         // prevent constructor
     }

Modified: trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNRepositoryConnectionTest.java
===================================================================
--- trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNRepositoryConnectionTest.java	2009-03-03 20:34:42 UTC (rev 748)
+++ trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNRepositoryConnectionTest.java	2009-03-03 22:02:41 UTC (rev 749)
@@ -23,17 +23,19 @@
 */
 package org.jboss.dna.connector.svn;
 
+import static org.mockito.Mockito.stub;
+import static org.mockito.Mockito.verify;
 import static org.hamcrest.core.Is.is;
 import static org.hamcrest.core.IsNull.notNullValue;
 import static org.hamcrest.core.IsSame.sameInstance;
 import static org.jboss.dna.graph.IsNodeWithChildren.hasChild;
 import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.mock;
-import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 import org.jboss.dna.common.text.UrlEncoder;
 import org.jboss.dna.common.util.FileUtil;
 import org.jboss.dna.graph.DnaLexicon;
@@ -78,6 +80,7 @@
     private String uuidPropertyName;
     private String sourceName;
     private Graph graph;
+    private String svnUrl;
 
     @Mock
     private CachePolicy policy;
@@ -95,24 +98,9 @@
         pathFactory = context.getValueFactories().getPathFactory();
         propertyFactory = context.getPropertyFactory();
         nameFactory = context.getValueFactories().getNameFactory();
-
-        // First we need to find the absolute path. Note that Maven always runs the tests from the project's directory,
-        // so use new File to create an instance at the current location ...
-        File src = new File("src/test/resources/dummy_svn_repos");
-        File dst = new File("target/copy_of dummy_svn_repos");
-
-        // make sure the destination is empty before we copy
-        FileUtil.delete(dst);
-        FileUtil.copy(src, dst);
-
-        // Now set the two path roots
-        String svnUrl = dst.getCanonicalFile().toURL().toString();
-        svnUrl = svnUrl.replaceFirst("file:/", "file://localhost/");
+        svnUrl = SVNConnectorTestUtil.createURL("src/test/resources/dummy_svn_repos", "target/copy_of dummy_svn_repos");
         String username = "sp";
         String password = "";
-        // Create a Repository instance from the http-protocol, that use a anonymous credential.
-        // String url = "http://anonsvn.jboss.org/repos/dna/trunk/extensions/dna-connector-svn/src/test/resources";
-
         // Set up the appropriate factory for a particular protocol
         repository = SVNConnectorTestUtil.createRepository(svnUrl, username, password);
         sourceName = "the source name";
@@ -157,15 +145,13 @@
         assertThat(connection.getDefaultCachePolicy(), is(sameInstance(policy)));
     }
 
-    // @Test
-    // public void shouldGetTheSVNRepositoryRootFromTheSVNRepositoryWhenPinged() throws Exception {
-    // CachePolicy policy = mock(CachePolicy.class);
-    // repository = mock(SVNRepository.class);
-    // connection = new SVNRepositoryConnection("the source name", policy, false, repository);
-    // // stub(repository.getRepositoryRoot(true)).toReturn(null);
-    // assertThat(connection.ping(1, TimeUnit.SECONDS), is(true));
-    // verify(repository).getRepositoryRoot(true);
-    // }
+    @Test
+    public void shouldGetTheSVNRepositoryRootFromTheSVNRepositoryWhenPinged() throws Exception {
+        CachePolicy policy = mock(CachePolicy.class);
+        repository  = SVNConnectorTestUtil.createRepository(svnUrl, "sp", "");
+        connection = new SVNRepositoryConnection("the source name", policy, false, repository);
+        assertThat(connection.ping(1, TimeUnit.SECONDS), is(true));
+    }
 
     @Test
     public void shouldHaveNoOpListenerWhenCreated() {

Modified: trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNRepositorySourceTest.java
===================================================================
--- trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNRepositorySourceTest.java	2009-03-03 20:34:42 UTC (rev 748)
+++ trunk/extensions/dna-connector-svn/src/test/java/org/jboss/dna/connector/svn/SVNRepositorySourceTest.java	2009-03-03 22:02:41 UTC (rev 749)
@@ -29,9 +29,11 @@
 import static org.junit.Assert.assertThat;
 import static org.mockito.Matchers.isNull;
 import static org.mockito.Mockito.mock;
+import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Hashtable;
+import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
@@ -66,22 +68,9 @@
         MockitoAnnotations.initMocks(this);
         validName = "svn source";
         validUuidPropertyName = "dna:uuid";
-
-        // For file protocol access
-        url = "file:///dummy_svn_repos";
-
-        // For http protocol access
-        // url = "http://anonsvn.jboss.org/repos/dna/trunk/extensions/dna-connector-svn/src/test/resources";
-        username = "anonymous";
-        password = "anonymous";
-
-        // For https protocol access
-        // For svn protocol access
-        // For svn-ssh protocol access
-
+        url = SVNConnectorTestUtil.createURL("src/test/resources/dummy_svn_repos", "target/copy_of dummy_svn_repos");
         validRootNodeUuid = UUID.randomUUID();
         source = new SVNRepositorySource();
-
     }
 
     @After
@@ -244,12 +233,36 @@
     }
 
     // Only with local file protocol
-
-//    @Test
-//    public void shouldCreateFSRepositoryIfProtocolIsOfTypeFile() throws Exception {
-//        this.source.setName(validName);
-//        this.source.setSVNURL(url);
-//        this.connection = source.getConnection();
-//        assertThat(this.connection, is(notNullValue()));
-//    }
+    @Test
+    public void shouldCreateFSRepositoryIfProtocolIsOfTypeFile() throws Exception {
+        this.source.setName(validName);
+        this.source.setSVNURL(url);
+        this.connection = source.getConnection();
+        assertThat(this.connection, is(notNullValue()));
+    }
+    
+    @Test
+    public void shouldAllowMultipleConnectionsToBeOpenAtTheSameTime() throws Exception {
+        List<RepositoryConnection> connections = new ArrayList<RepositoryConnection>();
+        try {
+            for (int i = 0; i != 10; ++i) {
+                this.source.setName(validName);
+                this.source.setSVNURL(url);
+                RepositoryConnection conn = source.getConnection();
+                assertThat(conn, is(notNullValue()));
+                connections.add(conn);
+            }
+        } finally {
+            // Close all open connections ...
+            for (RepositoryConnection conn : connections) {
+                if (conn != null) {
+                    try {
+                        conn.close();
+                    } catch (Throwable t) {
+                        t.printStackTrace();
+                    }
+                }
+            }
+        }
+    }
 }




More information about the dna-commits mailing list