Author: dantran
Date: Sun Nov 19 01:21:29 2006
New Revision: 476778

URL: http://svn.apache.org/viewvc?view=rev&rev=476778
Log:
initial import of maven-scm-provider-starteamtest

Added:
    maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/
    maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/pom.xml
    maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/
    maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/
    maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/
    maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmTestUtils.java
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/command/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckinCommandTckTest.java
    maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/test/
    maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/pom.xml
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/readme.txt
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/main/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/main/java/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/main/java/Application.java
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/test/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/test/java/
    
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/test/java/Test.java

Added: maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/pom.xml?view=auto&rev=476778
==============================================================================
--- maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/pom.xml (added)
+++ maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/pom.xml Sun Nov 19 
01:21:29 2006
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?><project 
xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+  <parent>
+    <artifactId>maven-scm-providers</artifactId>
+    <groupId>org.apache.maven.scm</groupId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>maven-scm-provider-starteamtest</artifactId>
+  <name>Maven SCM Starteam Provider TCK tests</name>
+  <version>1.0-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-test</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-starteam</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>com.borland.starteam</groupId>
+      <artifactId>starteam</artifactId>
+      <version>2005-R2</version>
+     </dependency>
+     <dependency>
+      <groupId>com.borland.starteam</groupId>
+      <artifactId>ss</artifactId>
+       <version>2005-R2</version>
+     </dependency>    
+  </dependencies>
+</project>

Added: 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmTestUtils.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmTestUtils.java?view=auto&rev=476778
==============================================================================
--- 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmTestUtils.java
 (added)
+++ 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmTestUtils.java
 Sun Nov 19 01:21:29 2006
@@ -0,0 +1,106 @@
+package org.apache.maven.scm.provider.starteam;
+
+import java.io.File;
+
+import junit.framework.Assert;
+
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.manager.ScmManager;
+import org.apache.maven.scm.provider.ScmProvider;
+import org.apache.maven.scm.repository.ScmRepository;
+import org.codehaus.plexus.util.DirectoryScanner;
+import org.codehaus.plexus.util.FileUtils;
+
+import com.starbase.starteam.Folder;
+import com.starbase.starteam.Project;
+import com.starbase.starteam.StarTeamFinder;
+import com.starbase.starteam.StarTeamURL;
+import com.starbase.starteam.View;
+
+public class StarteamScmTestUtils 
+{
+
+       public static String getTestScmUrl()
+       {
+               //TODO look this up using system property
+               return "scm:starteam:Administrator:[EMAIL 
PROTECTED]:49201/replay/junk";
+       }
+
+       public static void initRepo( ScmManager scmManager, String scmUrl, File 
workingCopy, File initialImportDirectory )
+           throws Exception
+       {               
+        FileUtils.copyDirectoryStructure( initialImportDirectory, workingCopy 
);
+
+        // now we need to remove all internal .svn
+        DirectoryScanner scanner = new DirectoryScanner();
+        scanner.setBasedir( workingCopy );
+        scanner.setIncludes( DirectoryScanner.DEFAULTEXCLUDES );
+        scanner.scan();
+        String[] dirs = scanner.getIncludedDirectories();
+        for ( int i = 0; i < dirs.length; ++i )
+        {
+            FileUtils.forceDelete( ( new File( workingCopy, dirs[i] ) ) );
+        }
+
+        String starteamUrl = scmUrl.substring( 13 );
+        Project project = StarTeamFinder.openProject( starteamUrl );
+        
+        Assert.assertNotNull( "Unable to find Starteam project in: " + 
starteamUrl,  project );  
+        
+        View view = StarTeamFinder.openView( starteamUrl );
+        
+        if ( view != null )
+        {
+            view.remove();
+        }
+
+        View rootView = project.getDefaultView();
+        
+        //StarTeamURL starteamUrl = new StarTeamURL( starteamUrl );
+        
+        String viewName = new StarTeamURL( starteamUrl 
).getFolders().nextToken();
+        
+        view = new View( rootView, viewName, "testView", "/tmp/tmp" );
+        
+        view.update();
+        
+            createFolderTree( view.getRootFolder(), workingCopy );
+            importTree( scmManager, scmUrl, view.getRootFolder(), workingCopy 
);
+                
+       }       
+       
+    /**
+     * create folder tree based on datadir tree
+     * @param folder
+     */
+    private static void createFolderTree( Folder parentFolder,  File dataDir )
+    {
+        DirectoryScanner scanner = new DirectoryScanner();
+        scanner.setBasedir( dataDir );
+        scanner.setExcludes( DirectoryScanner.DEFAULTEXCLUDES );
+        scanner.setIncludes( new String [] {"*"} );
+        scanner.scan();
+        String [] dirs = scanner.getIncludedDirectories();
+        for ( int i = 0; i < dirs.length; ++i )
+        {
+            Folder folder = new Folder( parentFolder, dirs[i], dirs[i] );
+            folder.update();
+            createFolderTree( folder, new File( dataDir, dirs[i] ) );
+        }
+    }  
+    
+    /**
+     * import an directory into starteam
+     * @param folder
+     */
+    private static void importTree( ScmManager scmManager, String scmUrl, 
Folder parentFolder,  File dataDir ) throws Exception
+    {
+        ScmFileSet scmFileSet = new ScmFileSet( dataDir, "**", null );
+        
+        ScmRepository mavenScmRepository = scmManager.makeScmRepository( 
scmUrl );
+        ScmProvider provider = scmManager.getProviderByUrl( scmUrl );
+        
+        provider.add(  mavenScmRepository, scmFileSet );
+        
+    }        
+}

Added: 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckinCommandTckTest.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckinCommandTckTest.java?view=auto&rev=476778
==============================================================================
--- 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckinCommandTckTest.java
 (added)
+++ 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckinCommandTckTest.java
 Sun Nov 19 01:21:29 2006
@@ -0,0 +1,22 @@
+package org.apache.maven.scm.provider.starteam.command.checkin;
+
+import java.io.File;
+
+import org.apache.maven.scm.provider.starteam.StarteamScmTestUtils;
+import org.apache.maven.scm.tck.command.checkin.CheckInCommandTckTest;
+
+
+public class StarteamCheckinCommandTckTest 
+    extends CheckInCommandTckTest 
+{
+       public String getScmUrl()
+       {
+               return StarteamScmTestUtils.getTestScmUrl();
+       }
+       
+    public void initRepo() throws Exception
+    {
+       File initialImportDirectory = new File( getBasedir(), 
"src/test/initial-import" );
+       StarteamScmTestUtils.initRepo( getScmManager(), getScmUrl(), 
getWorkingCopy(), initialImportDirectory );
+    }
+}

Added: 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/pom.xml?view=auto&rev=476778
==============================================================================
--- 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/pom.xml
 (added)
+++ 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/pom.xml
 Sun Nov 19 01:21:29 2006
@@ -0,0 +1 @@
+/pom.xml
\ No newline at end of file

Added: 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/readme.txt
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/readme.txt?view=auto&rev=476778
==============================================================================
--- 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/readme.txt
 (added)
+++ 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/readme.txt
 Sun Nov 19 01:21:29 2006
@@ -0,0 +1 @@
+/readme.txt
\ No newline at end of file

Added: 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/main/java/Application.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/main/java/Application.java?view=auto&rev=476778
==============================================================================
--- 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/main/java/Application.java
 (added)
+++ 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/main/java/Application.java
 Sun Nov 19 01:21:29 2006
@@ -0,0 +1 @@
+/src/main/java/Application.java
\ No newline at end of file

Added: 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/test/java/Test.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/test/java/Test.java?view=auto&rev=476778
==============================================================================
--- 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/test/java/Test.java
 (added)
+++ 
maven/scm/trunk/sandbox/maven-scm-provider-starteamtest/src/test/initial-import/src/test/java/Test.java
 Sun Nov 19 01:21:29 2006
@@ -0,0 +1 @@
+/src/test/java/Test.java
\ No newline at end of file


Reply via email to