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();
+ }
+ }
+ }
+ }
+ }
}