You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2012/04/23 09:45:38 UTC
svn commit: r1329106 [5/6] - in /maven/scm/trunk: ./ maven-scm-client/
maven-scm-client/src/main/resources/META-INF/plexus/ maven-scm-providers/
maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/command/...
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzChangeLogCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzChangeLogCommandTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzChangeLogCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzChangeLogCommandTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,371 @@
+package org.apache.maven.scm.provider.jazz.command.changelog;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+
+import org.apache.maven.scm.ChangeFile;
+import org.apache.maven.scm.ChangeSet;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.log.DefaultLog;
+import org.apache.maven.scm.provider.jazz.JazzScmTestCase;
+import org.apache.maven.scm.provider.jazz.repository.JazzScmProviderRepository;
+import org.codehaus.plexus.util.cli.Commandline;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzChangeLogCommandTest
+ extends JazzScmTestCase
+{
+ private JazzScmProviderRepository repo;
+
+ List<ChangeSet> changeSets;
+
+ private JazzHistoryConsumer historyConsumer;
+
+ private JazzListChangesetConsumer listChangesetConsumer;
+
+ private static final String userDateFormat = "";
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ repo = getScmProviderRepository();
+ changeSets = new ArrayList<ChangeSet>();
+ historyConsumer = new JazzHistoryConsumer( repo, new DefaultLog(), changeSets );
+ listChangesetConsumer = new JazzListChangesetConsumer( repo, new DefaultLog(), changeSets, userDateFormat );
+
+ // Simulate the output of the parsing of the "scm status" command.
+ // IE, fill in the workspace details
+ // Needed for the workspace for the list changesets command.
+ repo.setWorkspace( "Dave's Repository Workspace" );
+ }
+
+ public void testCreateHistoryCommand()
+ throws Exception
+ {
+ Commandline cmd = new JazzChangeLogCommand().createHistoryCommand( repo, getScmFileSet() ).getCommandline();
+ String expected = "scm history --repository-uri https://localhost:9443/jazz --username myUserName --password myPassword --maximum 10000000";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+
+ public void testCreateListChangesetCommand()
+ throws Exception
+ {
+ // Dummy up two change sets.
+ ChangeSet changeSet = new ChangeSet();
+ changeSet.setRevision( "1010" );
+ changeSets.add( changeSet );
+ changeSet = new ChangeSet();
+ changeSet.setRevision( "1012" );
+ changeSets.add( changeSet );
+
+ // Now test them
+ Commandline cmd = new JazzChangeLogCommand().createListChangesetCommand( repo, getScmFileSet(), changeSets ).getCommandline();
+ String expected = "scm list changesets --repository-uri https://localhost:9443/jazz --username myUserName --password myPassword --workspace \"Dave's Repository Workspace\" 1010 1012";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+
+ public void testHistoryConsumer()
+ throws Exception
+ {
+ historyConsumer.consumeLine( "Change sets:" );
+ historyConsumer.consumeLine( " (1589) ---$ Deb \"[maven-release-plugin] prepare for next development itera...\"" );
+ historyConsumer.consumeLine( " (1585) ---$ Deb \"[maven-release-plugin] prepare release GPDB-1.0.21\"" );
+ historyConsumer.consumeLine( " (1584) ---$ Deb \"This is my first changeset (2)\"" );
+ historyConsumer.consumeLine( " (1583) ---$ Deb \"This is my first changeset (1)\"" );
+ historyConsumer.consumeLine( " (1323) ---$ Deb <No comment>" );
+ historyConsumer.consumeLine( " (1319) ---$ Deb <No comment>" );
+
+ assertEquals( "Wrong number of change sets parsed!", 6, changeSets.size() );
+ // The order needs to be preserved.
+ assertEquals( "Parsing sequence error (1)", "1589", changeSets.get( 0 ).getRevision() );
+ assertEquals( "Parsing sequence error (2)", "1585", changeSets.get( 1 ).getRevision() );
+ assertEquals( "Parsing sequence error (3)", "1584", changeSets.get( 2 ).getRevision() );
+ assertEquals( "Parsing sequence error (4)", "1583", changeSets.get( 3 ).getRevision() );
+ assertEquals( "Parsing sequence error (5)", "1323", changeSets.get( 4 ).getRevision() );
+ assertEquals( "Parsing sequence error (6)", "1319", changeSets.get( 5 ).getRevision() );
+ }
+
+ public void testListChangesetConsumer()
+ throws Exception
+ {
+ // Dummy up our changeset list, as parsed from the previous "scm history" command
+ ChangeSet changeSet = new ChangeSet();
+ changeSet.setRevision( "1589" );
+ changeSets.add( changeSet );
+ changeSet = new ChangeSet();
+ changeSet.setRevision( "1585" );
+ changeSets.add( changeSet );
+ changeSet = new ChangeSet();
+ changeSet.setRevision( "1584" );
+ changeSets.add( changeSet );
+ changeSet = new ChangeSet();
+ changeSet.setRevision( "1583" );
+ changeSets.add( changeSet );
+ changeSet = new ChangeSet();
+ changeSet.setRevision( "1323" );
+ changeSets.add( changeSet );
+ changeSet = new ChangeSet();
+ changeSet.setRevision( "1319" );
+ changeSets.add( changeSet );
+
+ listChangesetConsumer.consumeLine("Change sets:" );
+ listChangesetConsumer.consumeLine(" (1589) ---$ Deb \"[maven-release-plugin] prepare for next development iteration\"" );
+ listChangesetConsumer.consumeLine(" Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine(" Modified: Feb 25, 2012 10:15 PM (Yesterday)" );
+ listChangesetConsumer.consumeLine(" Changes:" );
+ listChangesetConsumer.consumeLine(" ---c- (1170) \\GPDB\\GPDBEAR\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1171) \\GPDB\\GPDBResources\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1167) \\GPDB\\GPDBWeb\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1165) \\GPDB\\pom.xml" );
+ listChangesetConsumer.consumeLine(" (1585) ---$ Deb \"[maven-release-plugin] prepare release GPDB-1.0.21\"" );
+ listChangesetConsumer.consumeLine(" Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine(" Modified: Feb 25, 2012 10:13 PM (Yesterday)" );
+ listChangesetConsumer.consumeLine(" Changes:" );
+ listChangesetConsumer.consumeLine(" ---c- (1170) \\GPDB\\GPDBEAR\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1171) \\GPDB\\GPDBResources\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1167) \\GPDB\\GPDBWeb\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1165) \\GPDB\\pom.xml" );
+ listChangesetConsumer.consumeLine(" (1584) ---$ Deb \"This is my first changeset (2)\"" );
+ listChangesetConsumer.consumeLine(" Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine(" Modified: Feb 25, 2012 10:13 PM (Yesterday)" );
+ listChangesetConsumer.consumeLine(" (1583) ---$ Deb \"This is my first changeset (1)\"" );
+ listChangesetConsumer.consumeLine(" Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine(" Modified: Feb 25, 2012 10:13 PM (Yesterday)" );
+ listChangesetConsumer.consumeLine(" (1323) ---$ Deb <No comment>" );
+ listChangesetConsumer.consumeLine(" Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine(" Modified: Feb 24, 2012 11:04 PM (Last Week)" );
+ listChangesetConsumer.consumeLine(" Changes:" );
+ listChangesetConsumer.consumeLine(" ---c- (1170) \\GPDB\\GPDBEAR\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1171) \\GPDB\\GPDBResources\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1167) \\GPDB\\GPDBWeb\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1165) \\GPDB\\pom.xml" );
+ listChangesetConsumer.consumeLine(" (1319) ---$ Deb <No comment>" );
+ listChangesetConsumer.consumeLine(" Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine(" Modified: Feb 24, 2012 11:03 PM (Last Week)" );
+ listChangesetConsumer.consumeLine(" Changes:" );
+ listChangesetConsumer.consumeLine(" ---c- (1170) \\GPDB\\GPDBEAR\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1171) \\GPDB\\GPDBResources\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1167) \\GPDB\\GPDBWeb\\pom.xml" );
+ listChangesetConsumer.consumeLine(" ---c- (1165) \\GPDB\\pom.xml" );
+
+ assertEquals( "Wrong number of change sets parsed!", 6, changeSets.size() );
+ // The order needs to be preserved.
+ // Check revisions
+ assertEquals( "Parsing sequence error (1)", "1589", changeSets.get( 0 ).getRevision() );
+ assertEquals( "Parsing sequence error (2)", "1585", changeSets.get( 1 ).getRevision() );
+ assertEquals( "Parsing sequence error (3)", "1584", changeSets.get( 2 ).getRevision() );
+ assertEquals( "Parsing sequence error (4)", "1583", changeSets.get( 3 ).getRevision() );
+ assertEquals( "Parsing sequence error (5)", "1323", changeSets.get( 4 ).getRevision() );
+ assertEquals( "Parsing sequence error (6)", "1319", changeSets.get( 5 ).getRevision() );
+ // Check Author
+ assertEquals( "Parsing error - Author (1)", "Deb", changeSets.get( 0 ).getAuthor() );
+ assertEquals( "Parsing error - Author (2)", "Deb", changeSets.get( 1 ).getAuthor() );
+ assertEquals( "Parsing error - Author (3)", "Deb", changeSets.get( 2 ).getAuthor() );
+ assertEquals( "Parsing error - Author (4)", "Deb", changeSets.get( 3 ).getAuthor() );
+ assertEquals( "Parsing error - Author (5)", "Deb", changeSets.get( 4 ).getAuthor() );
+ assertEquals( "Parsing error - Author (6)", "Deb", changeSets.get( 5 ).getAuthor() );
+ // Check Comments
+ assertEquals( "Parsing error - Comment (1)", "[maven-release-plugin] prepare for next development iteration", changeSets.get( 0 ).getComment() );
+ assertEquals( "Parsing error - Comment (2)", "[maven-release-plugin] prepare release GPDB-1.0.21", changeSets.get( 1 ).getComment() );
+ assertEquals( "Parsing error - Comment (3)", "This is my first changeset (2)", changeSets.get( 2 ).getComment() );
+ assertEquals( "Parsing error - Comment (4)", "This is my first changeset (1)", changeSets.get( 3 ).getComment() );
+ assertEquals( "Parsing error - Comment (5)", "No comment", changeSets.get( 4 ).getComment() );
+ assertEquals( "Parsing error - Comment (6)", "No comment", changeSets.get( 5 ).getComment() );
+ // Check Dates
+ assertEquals( "Parsing error - Date (1)", getDate( 2012, 01, 25, 22, 15, 0, null ), changeSets.get( 0 ).getDate() );
+ assertEquals( "Parsing error - Date (2)", getDate( 2012, 01, 25, 22, 13, 0, null ), changeSets.get( 1 ).getDate() );
+ assertEquals( "Parsing error - Date (3)", getDate( 2012, 01, 25, 22, 13, 0, null ), changeSets.get( 2 ).getDate() );
+ assertEquals( "Parsing error - Date (4)", getDate( 2012, 01, 25, 22, 13, 0, null ), changeSets.get( 3 ).getDate() );
+ assertEquals( "Parsing error - Date (5)", getDate( 2012, 01, 24, 23, 04, 0, null ), changeSets.get( 4 ).getDate() );
+ assertEquals( "Parsing error - Date (6)", getDate( 2012, 01, 24, 23, 03, 0, null ), changeSets.get( 5 ).getDate() );
+ // Check files
+ List<ChangeFile> files;
+ files = changeSets.get( 0 ).getFiles();
+ assertEquals( "Parsing error - Files (1)", 4, files.size() );
+ assertEquals( "Parsing error - Files (1) (1)", "\\GPDB\\GPDBEAR\\pom.xml", files.get( 0 ).getName() );
+ assertEquals( "Parsing error - Files (1) (2)", "\\GPDB\\GPDBResources\\pom.xml", files.get( 1 ).getName() );
+ assertEquals( "Parsing error - Files (1) (3)", "\\GPDB\\GPDBWeb\\pom.xml", files.get( 2 ).getName() );
+ assertEquals( "Parsing error - Files (1) (4)", "\\GPDB\\pom.xml", files.get( 3 ).getName() );
+ files = changeSets.get( 1 ).getFiles();
+ assertEquals( "Parsing error - Files (2)", 4, files.size() );
+ assertEquals( "Parsing error - Files (2) (1)", "\\GPDB\\GPDBEAR\\pom.xml", files.get( 0 ).getName() );
+ assertEquals( "Parsing error - Files (2) (2)", "\\GPDB\\GPDBResources\\pom.xml", files.get( 1 ).getName() );
+ assertEquals( "Parsing error - Files (2) (3)", "\\GPDB\\GPDBWeb\\pom.xml", files.get( 2 ).getName() );
+ assertEquals( "Parsing error - Files (2) (4)", "\\GPDB\\pom.xml", files.get( 3 ).getName() );
+ files = changeSets.get( 2 ).getFiles();
+ assertEquals( "Parsing error - Files (3)", 0, files.size() ); // Yes Virginia, an empty ChangeSet is valid
+ files = changeSets.get( 3 ).getFiles();
+ assertEquals( "Parsing error - Files (4)", 0, files.size() ); // Yes Virginia, an empty ChangeSet is valid
+ files = changeSets.get( 4 ).getFiles();
+ assertEquals( "Parsing error - Files (5)", 4, files.size() );
+ assertEquals( "Parsing error - Files (5) (1)", "\\GPDB\\GPDBEAR\\pom.xml", files.get( 0 ).getName() );
+ assertEquals( "Parsing error - Files (5) (2)", "\\GPDB\\GPDBResources\\pom.xml", files.get( 1 ).getName() );
+ assertEquals( "Parsing error - Files (5) (3)", "\\GPDB\\GPDBWeb\\pom.xml", files.get( 2 ).getName() );
+ assertEquals( "Parsing error - Files (5) (4)", "\\GPDB\\pom.xml", files.get( 3 ).getName() );
+ files = changeSets.get( 5 ).getFiles();
+ assertEquals( "Parsing error - Files (6)", 4, files.size() );
+ assertEquals( "Parsing error - Files (6) (1)", "\\GPDB\\GPDBEAR\\pom.xml", files.get( 0 ).getName() );
+ assertEquals( "Parsing error - Files (6) (2)", "\\GPDB\\GPDBResources\\pom.xml", files.get( 1 ).getName() );
+ assertEquals( "Parsing error - Files (6) (3)", "\\GPDB\\GPDBWeb\\pom.xml", files.get( 2 ).getName() );
+ assertEquals( "Parsing error - Files (6) (4)", "\\GPDB\\pom.xml", files.get( 3 ).getName() );
+ // Check file actions = ScmFileStatus
+ files = changeSets.get( 0 ).getFiles();
+ assertEquals( "Parsing error - File Status (1) (1)", ScmFileStatus.MODIFIED, files.get( 0 ).getAction() );
+ assertEquals( "Parsing error - File Status (1) (2)", ScmFileStatus.MODIFIED, files.get( 1 ).getAction() );
+ assertEquals( "Parsing error - File Status (1) (3)", ScmFileStatus.MODIFIED, files.get( 2 ).getAction() );
+ assertEquals( "Parsing error - File Status (1) (4)", ScmFileStatus.MODIFIED, files.get( 3 ).getAction() );
+ files = changeSets.get( 1 ).getFiles();
+ assertEquals( "Parsing error - File Status (2) (1)", ScmFileStatus.MODIFIED, files.get( 0 ).getAction() );
+ assertEquals( "Parsing error - File Status (2) (2)", ScmFileStatus.MODIFIED, files.get( 1 ).getAction() );
+ assertEquals( "Parsing error - File Status (2) (3)", ScmFileStatus.MODIFIED, files.get( 2 ).getAction() );
+ assertEquals( "Parsing error - File Status (2) (4)", ScmFileStatus.MODIFIED, files.get( 3 ).getAction() );
+ files = changeSets.get( 4 ).getFiles();
+ assertEquals( "Parsing error - File Status (5) (1)", ScmFileStatus.MODIFIED, files.get( 0 ).getAction() );
+ assertEquals( "Parsing error - File Status (5) (2)", ScmFileStatus.MODIFIED, files.get( 1 ).getAction() );
+ assertEquals( "Parsing error - File Status (5) (3)", ScmFileStatus.MODIFIED, files.get( 2 ).getAction() );
+ assertEquals( "Parsing error - File Status (5) (4)", ScmFileStatus.MODIFIED, files.get( 3 ).getAction() );
+ files = changeSets.get( 5 ).getFiles();
+ assertEquals( "Parsing error - File Status (6) (1)", ScmFileStatus.MODIFIED, files.get( 0 ).getAction() );
+ assertEquals( "Parsing error - File Status (6) (2)", ScmFileStatus.MODIFIED, files.get( 1 ).getAction() );
+ assertEquals( "Parsing error - File Status (6) (3)", ScmFileStatus.MODIFIED, files.get( 2 ).getAction() );
+ assertEquals( "Parsing error - File Status (6) (4)", ScmFileStatus.MODIFIED, files.get( 3 ).getAction() );
+ }
+
+ public void testListChangesetConsumerWithTimeOnly()
+ throws Exception
+ {
+ // Dummy up our changeset list, as parsed from the previous "scm history" command
+ ChangeSet changeSet = new ChangeSet();
+ changeSet.setRevision( "1809" );
+ changeSets.add( changeSet );
+ changeSet = new ChangeSet();
+ changeSet.setRevision( "1801" );
+ changeSets.add( changeSet );
+ changeSet = new ChangeSet();
+ changeSet.setRevision( "1799" );
+ changeSets.add( changeSet );
+ changeSet = new ChangeSet();
+ changeSet.setRevision( "1764" );
+ changeSets.add( changeSet );
+
+ listChangesetConsumer.consumeLine( "Change sets:" );
+ listChangesetConsumer.consumeLine( " (1809) ---$ Deb \"[maven-release-plugin] prepare for next development iteration\"" );
+ listChangesetConsumer.consumeLine( " Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine( " Modified: 6:20 PM (5 minutes ago)" );
+ listChangesetConsumer.consumeLine( " Changes:" );
+ listChangesetConsumer.consumeLine( " ---c- (1170) \\GPDB\\GPDBEAR\\pom.xml" );
+ listChangesetConsumer.consumeLine( " ---c- (1171) \\GPDB\\GPDBResources\\pom.xml" );
+ listChangesetConsumer.consumeLine( " ---c- (1167) \\GPDB\\GPDBWeb\\pom.xml" );
+ listChangesetConsumer.consumeLine( " ---c- (1165) \\GPDB\\pom.xml" );
+ listChangesetConsumer.consumeLine( " (1801) ---$ Deb \"[maven-release-plugin] prepare release GPDB-1.0.26\"" );
+ listChangesetConsumer.consumeLine( " Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine( " Modified: 6:18 PM (10 minutes ago)" );
+ listChangesetConsumer.consumeLine( " Changes:" );
+ listChangesetConsumer.consumeLine( " ---c- (1170) \\GPDB\\GPDBEAR\\pom.xml" );
+ listChangesetConsumer.consumeLine( " ---c- (1171) \\GPDB\\GPDBResources\\pom.xml" );
+ listChangesetConsumer.consumeLine( " ---c- (1167) \\GPDB\\GPDBWeb\\pom.xml" );
+ listChangesetConsumer.consumeLine( " (1799) ---$ Deb <No comment>" );
+ listChangesetConsumer.consumeLine( " Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine( " Modified: 6:18 PM (10 minutes ago)" );
+ listChangesetConsumer.consumeLine( " Changes:" );
+ listChangesetConsumer.consumeLine( " ---c- (1165) \\GPDB\\pom.xml" );
+ listChangesetConsumer.consumeLine( " (1764) ---$ Deb <No comment>" );
+ listChangesetConsumer.consumeLine( " Component: (1158) \"GPDB\"" );
+ listChangesetConsumer.consumeLine( " Modified: Mar 1, 2012 2:34 PM" );
+ listChangesetConsumer.consumeLine( " Changes:" );
+ listChangesetConsumer.consumeLine( " ---c- (1165) \\GPDB\\pom.xml" );
+
+ assertEquals( "Wrong number of change sets parsed!", 4, changeSets.size() );
+ // The order needs to be preserved.
+ // Check revisions
+ assertEquals( "Parsing sequence error (1)", "1809", changeSets.get( 0 ).getRevision() );
+ assertEquals( "Parsing sequence error (2)", "1801", changeSets.get( 1 ).getRevision() );
+ assertEquals( "Parsing sequence error (3)", "1799", changeSets.get( 2 ).getRevision() );
+ assertEquals( "Parsing sequence error (4)", "1764", changeSets.get( 3 ).getRevision() );
+ // Check Author
+ assertEquals( "Parsing error - Author (1)", "Deb", changeSets.get( 0 ).getAuthor() );
+ assertEquals( "Parsing error - Author (2)", "Deb", changeSets.get( 1 ).getAuthor() );
+ assertEquals( "Parsing error - Author (3)", "Deb", changeSets.get( 2 ).getAuthor() );
+ assertEquals( "Parsing error - Author (4)", "Deb", changeSets.get( 3 ).getAuthor() );
+ // Check Comments
+ assertEquals( "Parsing error - Comment (1)", "[maven-release-plugin] prepare for next development iteration", changeSets.get( 0 ).getComment() );
+ assertEquals( "Parsing error - Comment (2)", "[maven-release-plugin] prepare release GPDB-1.0.26", changeSets.get( 1 ).getComment() );
+ assertEquals( "Parsing error - Comment (3)", "No comment", changeSets.get( 2 ).getComment() );
+ assertEquals( "Parsing error - Comment (4)", "No comment", changeSets.get( 3 ).getComment() );
+ // Check Dates
+ Calendar today = Calendar.getInstance();
+ assertEquals( "Parsing error - Date (1)", getDate( today.get( Calendar.YEAR ), today.get( Calendar.MONTH ), today.get( Calendar.DAY_OF_MONTH ), 18, 20, 0, null ), changeSets.get( 0 ).getDate() );
+ assertEquals( "Parsing error - Date (2)", getDate( today.get( Calendar.YEAR ), today.get( Calendar.MONTH ), today.get( Calendar.DAY_OF_MONTH ), 18, 18, 0, null ), changeSets.get( 1 ).getDate() );
+ assertEquals( "Parsing error - Date (3)", getDate( today.get( Calendar.YEAR ), today.get( Calendar.MONTH ), today.get( Calendar.DAY_OF_MONTH ), 18, 18, 0, null ), changeSets.get( 2 ).getDate() );
+ assertEquals( "Parsing error - Date (4)", getDate( 2012, 02, 01, 14, 34, 0, null ), changeSets.get( 3 ).getDate() );
+ // Check files
+ List<ChangeFile> files;
+ files = changeSets.get( 0 ).getFiles();
+ assertEquals( "Parsing error - Files (1)", 4, files.size() );
+ assertEquals( "Parsing error - Files (1) (1)", "\\GPDB\\GPDBEAR\\pom.xml", files.get( 0 ).getName() );
+ assertEquals( "Parsing error - Files (1) (2)", "\\GPDB\\GPDBResources\\pom.xml", files.get( 1 ).getName() );
+ assertEquals( "Parsing error - Files (1) (3)", "\\GPDB\\GPDBWeb\\pom.xml", files.get( 2 ).getName() );
+ assertEquals( "Parsing error - Files (1) (4)", "\\GPDB\\pom.xml", files.get( 3 ).getName() );
+ files = changeSets.get( 1 ).getFiles();
+ assertEquals( "Parsing error - Files (2)", 3, files.size() );
+ assertEquals( "Parsing error - Files (2) (1)", "\\GPDB\\GPDBEAR\\pom.xml", files.get( 0 ).getName() );
+ assertEquals( "Parsing error - Files (2) (2)", "\\GPDB\\GPDBResources\\pom.xml", files.get( 1 ).getName() );
+ assertEquals( "Parsing error - Files (2) (3)", "\\GPDB\\GPDBWeb\\pom.xml", files.get( 2 ).getName() );
+ files = changeSets.get( 2 ).getFiles();
+ assertEquals( "Parsing error - Files (3)", 1, files.size() );
+ assertEquals( "Parsing error - Files (3) (1)", "\\GPDB\\pom.xml", files.get( 0 ).getName() );
+ files = changeSets.get( 3 ).getFiles();
+ assertEquals( "Parsing error - Files (4)", 1, files.size() );
+ assertEquals( "Parsing error - Files (4) (1)", "\\GPDB\\pom.xml", files.get( 0 ).getName() );
+ // Check file actions = ScmFileStatus
+ files = changeSets.get( 0 ).getFiles();
+ assertEquals( "Parsing error - File Status (1) (1)", ScmFileStatus.MODIFIED, files.get( 0 ).getAction() );
+ assertEquals( "Parsing error - File Status (1) (2)", ScmFileStatus.MODIFIED, files.get( 1 ).getAction() );
+ assertEquals( "Parsing error - File Status (1) (3)", ScmFileStatus.MODIFIED, files.get( 2 ).getAction() );
+ assertEquals( "Parsing error - File Status (1) (4)", ScmFileStatus.MODIFIED, files.get( 3 ).getAction() );
+ files = changeSets.get( 1 ).getFiles();
+ assertEquals( "Parsing error - File Status (2) (1)", ScmFileStatus.MODIFIED, files.get( 0 ).getAction() );
+ assertEquals( "Parsing error - File Status (2) (2)", ScmFileStatus.MODIFIED, files.get( 1 ).getAction() );
+ assertEquals( "Parsing error - File Status (2) (3)", ScmFileStatus.MODIFIED, files.get( 2 ).getAction() );
+ files = changeSets.get( 2 ).getFiles();
+ assertEquals( "Parsing error - File Status (3) (1)", ScmFileStatus.MODIFIED, files.get( 0 ).getAction() );
+ files = changeSets.get( 3 ).getFiles();
+ assertEquals( "Parsing error - File Status (4) (1)", ScmFileStatus.MODIFIED, files.get( 0 ).getAction() );
+ }
+
+ public void testStripDelimiters()
+ throws Exception
+ {
+ assertEquals("stripDelimiters() is broken! (1)", "Plain Text", listChangesetConsumer.stripDelimiters( "Plain Text" ));
+ assertEquals("stripDelimiters() is broken! (2)", "Plain Text", listChangesetConsumer.stripDelimiters( "\"Plain Text" ));
+ assertEquals("stripDelimiters() is broken! (3)", "Plain Text", listChangesetConsumer.stripDelimiters( "Plain Text\"" ));
+ assertEquals("stripDelimiters() is broken! (4)", "Plain Text", listChangesetConsumer.stripDelimiters( "\"Plain Text\"" ));
+ assertEquals("stripDelimiters() is broken! (5)", "Plain Text", listChangesetConsumer.stripDelimiters( "<Plain Text" ));
+ assertEquals("stripDelimiters() is broken! (6)", "Plain Text", listChangesetConsumer.stripDelimiters( "Plain Text>" ));
+ assertEquals("stripDelimiters() is broken! (7)", "Plain Text", listChangesetConsumer.stripDelimiters( "<Plain Text>" ));
+ }
+
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzChangeLogCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzChangeLogCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTckTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTckTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,93 @@
+package org.apache.maven.scm.provider.jazz.command.checkin;
+
+import java.io.File;
+
+import org.apache.maven.scm.provider.jazz.command.JazzTckUtil;
+import org.apache.maven.scm.tck.command.checkin.CheckInCommandTckTest;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzCheckInCommandTckTest
+ extends CheckInCommandTckTest
+{
+ // Easy access to our Tck Test Helper class.
+ private JazzTckUtil jazzTckUtil = new JazzTckUtil();
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#initRepo()
+ */
+ @Override
+ public void initRepo()
+ throws Exception
+ {
+ // Needed when there is more than one test case (in the parent).
+ // Needed for a new system time for uniqueness.
+ jazzTckUtil.generateNewSystemTime();
+ // Create a unique repository workspace for this test.
+ jazzTckUtil.initRepo( getScmRepository() );
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#removeRepo()
+ */
+ @Override
+ public void removeRepo()
+ throws Exception
+ {
+ super.removeRepo();
+ jazzTckUtil.removeRepo();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#getScmUrl()
+ */
+ @Override
+ public String getScmUrl()
+ throws Exception
+ {
+ return jazzTckUtil.getScmUrl();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTestCase#getWorkingCopy()
+ */
+ @Override
+ protected File getWorkingCopy()
+ {
+ return jazzTckUtil.getWorkingCopy();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTestCase#getAssertionCopy()
+ */
+ @Override
+ protected File getAssertionCopy()
+ {
+ return jazzTckUtil.getAssertionCopy();
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTckTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTckTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,107 @@
+package org.apache.maven.scm.provider.jazz.command.checkin;
+
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.log.DefaultLog;
+import org.apache.maven.scm.provider.jazz.JazzScmTestCase;
+import org.apache.maven.scm.provider.jazz.repository.JazzScmProviderRepository;
+import org.codehaus.plexus.util.cli.Commandline;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzCheckInCommandTest
+ extends JazzScmTestCase
+{
+ private JazzScmProviderRepository repo;
+
+ private JazzCheckInConsumer checkinConsumer;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ repo = getScmProviderRepository();
+
+ checkinConsumer = new JazzCheckInConsumer( repo, new DefaultLog() );
+ }
+
+ public void testCreateCreateChangesetCommand()
+ throws Exception
+ {
+ JazzScmProviderRepository repo = getScmProviderRepository();
+ Commandline cmd = new JazzCheckInCommand().createCreateChangesetCommand( repo, getScmFileSet(), "This is my comment." ).getCommandline();
+ String expected = "scm create changeset --username myUserName --password myPassword \"This is my comment.\"";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+
+ public void testCreateCheckInCommandCheckingInSpecificFiles()
+ throws Exception
+ {
+ JazzScmProviderRepository repo = getScmProviderRepository();
+ Commandline cmd = new JazzCheckInCommand().createCheckInCommand( repo, getScmFileSet() ).getCommandline();
+ String expected = "scm checkin --username myUserName --password myPassword " + getFiles();
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+
+ public void testCreateCheckInCommandCheckingInLocalChanges()
+ throws Exception
+ {
+ JazzScmProviderRepository repo = getScmProviderRepository();
+ Commandline cmd = new JazzCheckInCommand().createCheckInCommand( repo, new ScmFileSet( getWorkingDirectory() ) ).getCommandline();
+ String expected = "scm checkin --username myUserName --password myPassword .";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+
+ public void testCheckInConsumerWithFiles()
+ throws Exception
+ {
+ checkinConsumer.consumeLine( "Committing..." );
+ checkinConsumer.consumeLine( "Workspace: (1903) \"MavenSCMTestWorkspace_1332908068770\" <-> (1903) \"MavenSCMTestWorkspace_1332908068770\"" );
+ checkinConsumer.consumeLine( " Component: (1768) \"MavenSCMTestComponent\"" );
+ checkinConsumer.consumeLine( " Outgoing:" );
+ checkinConsumer.consumeLine( " Change sets:" );
+ checkinConsumer.consumeLine( " (1907) *--@ \"Commit message\"" );
+ checkinConsumer.consumeLine( " Changes:" );
+ checkinConsumer.consumeLine( " --a-- \\src\\main\\java\\Me.java" );
+ checkinConsumer.consumeLine( " --a-- \\src\\main\\java\\Me1.java" );
+ checkinConsumer.consumeLine( " --a-- \\src\\main\\java\\Me2.java" );
+
+ assertEquals( "Wrong number of files parsed!", 3, checkinConsumer.getFiles().size() );
+ assertEquals( "Parsing error for file1!", "src\\main\\java\\Me.java", checkinConsumer.getFiles().get( 0 ).getPath() );
+ assertEquals( "Parsing error for file2!", "src\\main\\java\\Me1.java", checkinConsumer.getFiles().get( 1 ).getPath() );
+ assertEquals( "Parsing error for file3!", "src\\main\\java\\Me2.java", checkinConsumer.getFiles().get( 2 ).getPath() );
+ }
+
+ public void testCheckInConsumerWithOutFiles()
+ throws Exception
+ {
+ checkinConsumer.consumeLine( "Committing..." );
+ checkinConsumer.consumeLine( "Workspace: (1004) \"Release Repository Workspace\" <-> (1005) \"Maven Release Plugin Stream\"" );
+ checkinConsumer.consumeLine( " Component: (1006) \"Release Component\"" );
+ checkinConsumer.consumeLine( " Outgoing:" );
+ checkinConsumer.consumeLine( " Change sets:" );
+ checkinConsumer.consumeLine( " (1008) --@ <No comment>" );
+
+ assertEquals( "Wrong number of files parsed!", 0, checkinConsumer.getFiles().size() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTckTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTckTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,80 @@
+package org.apache.maven.scm.provider.jazz.command.checkout;
+
+import java.io.File;
+
+import org.apache.maven.scm.provider.jazz.command.JazzTckUtil;
+import org.apache.maven.scm.tck.command.checkout.CheckOutCommandTckTest;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzCheckOutCommandTckTest
+ extends CheckOutCommandTckTest
+{
+ // Easy access to our Tck Test Helper class.
+ private JazzTckUtil jazzTckUtil = new JazzTckUtil();
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#initRepo()
+ */
+ @Override
+ public void initRepo()
+ throws Exception
+ {
+ // Create a unique repository workspace for this test.
+ jazzTckUtil.initRepo( getScmRepository() );
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#removeRepo()
+ */
+ @Override
+ public void removeRepo()
+ throws Exception
+ {
+ super.removeRepo();
+ jazzTckUtil.removeRepo();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#getScmUrl()
+ */
+ @Override
+ public String getScmUrl()
+ throws Exception
+ {
+ return jazzTckUtil.getScmUrl();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTestCase#getWorkingCopy()
+ */
+ @Override
+ protected File getWorkingCopy()
+ {
+ return jazzTckUtil.getWorkingCopy();
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTckTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTckTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,86 @@
+package org.apache.maven.scm.provider.jazz.command.checkout;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.List;
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmRevision;
+import org.apache.maven.scm.log.DefaultLog;
+import org.apache.maven.scm.provider.jazz.JazzScmTestCase;
+import org.apache.maven.scm.provider.jazz.repository.JazzScmProviderRepository;
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzCheckOutCommandTest
+ extends JazzScmTestCase
+{
+ private JazzScmProviderRepository repo;
+
+ private JazzCheckOutConsumer checkOutConsumer;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ repo = getScmProviderRepository();
+ checkOutConsumer = new JazzCheckOutConsumer( getScmProviderRepository(), new DefaultLog() );
+ }
+
+ public void testCreateJazzLoadCommand()
+ throws Exception
+ {
+ ScmRevision rev = new ScmRevision( "revision" );
+ // TODO figure out what Jazz SCM does in terms of branch/tag/revision
+ // TODO figure out how/when to load specific files
+ Commandline cmd = new JazzCheckOutCommand().createJazzLoadCommand( repo, getScmFileSet(), rev ).getCommandline();
+ String expected = "scm load --force --repository-uri https://localhost:9443/jazz --username myUserName --password myPassword --dir "
+ + getScmFileSet().getBasedir().getAbsolutePath() + " \"Dave's Repository Workspace\"";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+
+ public void testConsumer()
+ {
+ checkOutConsumer.consumeLine( "Downloading /maven-checkout-test/src/main/java/org/apache/maven/scm/provider/jazz/EmptyFile.txt (0 B)" );
+ checkOutConsumer.consumeLine( "Downloading /maven-checkout-test/src/main/java/org/apache/maven/scm/provider/jazz/folder with spaces/test.java (123 KB)" );
+ checkOutConsumer.consumeLine( "Downloading /maven-checkout-test/src/main/java/org/apache/maven/scm/provider/jazz/file with spaces.java (12.34 KB)" );
+ checkOutConsumer.consumeLine( "Downloading /maven-checkout-test/src/main/java/org/apache/maven/scm/provider/jazz/folder with spaces/file with spaces.txt (12.3 B)" );
+ checkOutConsumer.consumeLine( "" );
+
+ List<ScmFile> checkedOutFiles = checkOutConsumer.getCheckedOutFiles();
+ assertNotNull( checkedOutFiles );
+ assertEquals( 4, checkedOutFiles.size() );
+ assertTrue( checkedOutFiles.contains( new ScmFile(
+ "/maven-checkout-test/src/main/java/org/apache/maven/scm/provider/jazz/EmptyFile.txt",
+ ScmFileStatus.CHECKED_OUT ) ) );
+ assertTrue( checkedOutFiles.contains( new ScmFile(
+ "/maven-checkout-test/src/main/java/org/apache/maven/scm/provider/jazz/folder with spaces/test.java",
+ ScmFileStatus.CHECKED_OUT ) ) );
+ assertTrue( checkedOutFiles.contains( new ScmFile(
+ "/maven-checkout-test/src/main/java/org/apache/maven/scm/provider/jazz/file with spaces.java",
+ ScmFileStatus.CHECKED_OUT ) ) );
+ assertTrue( checkedOutFiles.contains( new ScmFile(
+ "/maven-checkout-test/src/main/java/org/apache/maven/scm/provider/jazz/folder with spaces/file with spaces.txt",
+ ScmFileStatus.CHECKED_OUT ) ) );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/DebugLoggerConsumerTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/DebugLoggerConsumerTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/DebugLoggerConsumerTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/DebugLoggerConsumerTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,49 @@
+package org.apache.maven.scm.provider.jazz.command.consumer;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.scm.log.DefaultLog;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class DebugLoggerConsumerTest
+ extends TestCase
+{
+ private DebugLoggerConsumer debugConsumer;
+
+ public void setUp()
+ throws Exception
+ {
+ debugConsumer = new DebugLoggerConsumer(new DefaultLog());
+ }
+
+ public void testErrorConsumer()
+ {
+ assertFalse( debugConsumer.isFed() );
+ debugConsumer.consumeLine( "Some line to consume" );
+ assertTrue( debugConsumer.isFed() );
+ debugConsumer.consumeLine( "Another line to consume" );
+ String ls = System.getProperty( "line.separator" );
+ assertEquals("Contents were different!", "Some line to consume" + ls + "Another line to consume" + ls, debugConsumer.getOutput());
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/DebugLoggerConsumerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/DebugLoggerConsumerTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/ErrorConsumerTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/ErrorConsumerTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/ErrorConsumerTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/ErrorConsumerTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,46 @@
+package org.apache.maven.scm.provider.jazz.command.consumer;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.scm.log.DefaultLog;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class ErrorConsumerTest
+ extends TestCase
+{
+ private ErrorConsumer errConsumer;
+
+ public void setUp()
+ throws Exception
+ {
+ errConsumer = new ErrorConsumer( new DefaultLog() );
+ }
+
+ public void testErrorConsumer()
+ {
+ assertFalse( errConsumer.hasBeenFed() );
+ errConsumer.consumeLine( "Some line to consume" );
+ assertTrue( errConsumer.hasBeenFed() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/ErrorConsumerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/consumer/ErrorConsumerTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTckTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTckTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,80 @@
+package org.apache.maven.scm.provider.jazz.command.diff;
+
+import java.io.File;
+
+import org.apache.maven.scm.provider.jazz.command.JazzTckUtil;
+import org.apache.maven.scm.tck.command.diff.DiffCommandTckTest;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzDiffCommandTckTest
+ extends DiffCommandTckTest
+{
+ // Easy access to our Tck Test Helper class.
+ private JazzTckUtil jazzTckUtil = new JazzTckUtil();
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#initRepo()
+ */
+ @Override
+ public void initRepo()
+ throws Exception
+ {
+ // Create a unique repository workspace for this test.
+ jazzTckUtil.initRepo( getScmRepository() );
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#removeRepo()
+ */
+ @Override
+ public void removeRepo()
+ throws Exception
+ {
+ super.removeRepo();
+ jazzTckUtil.removeRepo();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#getScmUrl()
+ */
+ @Override
+ public String getScmUrl()
+ throws Exception
+ {
+ return jazzTckUtil.getScmUrl();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTestCase#getWorkingCopy()
+ */
+ @Override
+ protected File getWorkingCopy()
+ {
+ return jazzTckUtil.getWorkingCopy();
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTckTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTckTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,48 @@
+package org.apache.maven.scm.provider.jazz.command.diff;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.provider.jazz.JazzScmTestCase;
+import org.apache.maven.scm.provider.jazz.repository.JazzScmProviderRepository;
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzDiffCommandTest
+ extends JazzScmTestCase
+{
+ private JazzScmProviderRepository repo;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ repo = getScmProviderRepository();
+ }
+
+ public void testCreateDiffCommand()
+ throws Exception
+ {
+ Commandline cmd = new JazzDiffCommand().createDiffCommand( repo, getScmFileSet(), "src/main/resources/AFile.txt" ).getCommandline();
+ String expected = "scm diff --repository-uri https://localhost:9443/jazz --username myUserName --password myPassword file src/main/resources/AFile.txt";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/diff/JazzDiffCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/edit/JazzEditCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/edit/JazzEditCommandTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/edit/JazzEditCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/edit/JazzEditCommandTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,60 @@
+package org.apache.maven.scm.provider.jazz.command.edit;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.provider.jazz.JazzScmTestCase;
+import org.apache.maven.scm.provider.jazz.repository.JazzScmProviderRepository;
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzEditCommandTest
+ extends JazzScmTestCase
+{
+ private JazzScmProviderRepository repo;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ repo = getScmProviderRepository();
+ }
+
+ public void testCreateEditCommandWithSpecificFiles()
+ throws Exception
+ {
+ Commandline cmd = new JazzEditCommand().createEditCommand( repo, getScmFileSet() ).getCommandline();
+ String expected = "scm lock acquire --repository-uri https://localhost:9443/jazz --username myUserName --password myPassword file1 file2";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+
+ public void testCreateEditCommandWithEmptyFileSet()
+ throws Exception
+ {
+ // An empty file set will be all files, which jazz will take as a "."
+ Commandline cmd = new JazzEditCommand().createEditCommand( repo, new ScmFileSet( new File(".") ) ).getCommandline();
+ String expected = "scm lock acquire --repository-uri https://localhost:9443/jazz --username myUserName --password myPassword .";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/edit/JazzEditCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/edit/JazzEditCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/list/JazzListCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/list/JazzListCommandTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/list/JazzListCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/list/JazzListCommandTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,117 @@
+package org.apache.maven.scm.provider.jazz.command.list;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.List;
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.log.DefaultLog;
+import org.apache.maven.scm.provider.jazz.JazzScmTestCase;
+import org.apache.maven.scm.provider.jazz.repository.JazzScmProviderRepository;
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzListCommandTest
+ extends JazzScmTestCase
+{
+ private JazzListConsumer listConsumer;
+
+ private JazzScmProviderRepository repo;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ repo = getScmProviderRepository();
+
+ listConsumer = new JazzListConsumer( getScmProviderRepository(), new DefaultLog() );
+
+ // Simulate the output of the parsing of the "scm status" command.
+ // IE, fill in the workspace and component details
+ // Needed for the remote workspace and component name for the list remotefiles
+ repo.setWorkspace( "Dave's Repository Workspace" );
+ repo.setComponent( "Dave's Component" );
+ }
+
+ public void testCreateListCommand()
+ throws Exception
+ {
+ Commandline cmd = new JazzListCommand().createListCommand( repo, getScmFileSet(), true, null ).getCommandline();
+ String expected = "scm list remotefiles --repository-uri https://localhost:9443/jazz --username myUserName --password myPassword \"Dave's Repository Workspace\" \"Dave's Component\"";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+
+ public void testConsumer()
+ {
+ listConsumer.consumeLine( "/" );
+ listConsumer.consumeLine( "/BogusTestJazz/" );
+ listConsumer.consumeLine( "/BogusTestJazz/.jazzignore" );
+ listConsumer.consumeLine( "/BogusTestJazz/pom.xml" );
+ listConsumer.consumeLine( "/BogusTestJazz/Readme.txt" );
+ listConsumer.consumeLine( "/BogusTestJazz/src/" );
+ listConsumer.consumeLine( "/BogusTestJazz/src/main/" );
+ listConsumer.consumeLine( "/BogusTestJazz/src/main/resources/" );
+ listConsumer.consumeLine( "/BogusTestJazz/src/main/resources/AFile.txt" );
+ listConsumer.consumeLine( "/BogusTestJazz/src/main/java/" );
+ listConsumer.consumeLine( "/BogusTestJazz/src/main/java/BogusTest.java" );
+
+ // Test the ScmFile and ScmFileStatus bits.
+ List<ScmFile> changedFiles = listConsumer.getFiles();
+ assertNotNull( changedFiles );
+ assertEquals( 11, changedFiles.size() );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/.jazzignore",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/pom.xml",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/Readme.txt",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/src/",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/src/main/",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/src/main/resources/",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/src/main/resources/AFile.txt",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/src/main/java/",
+ ScmFileStatus.CHECKED_IN ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/BogusTestJazz/src/main/java/BogusTest.java",
+ ScmFileStatus.CHECKED_IN ) ) );
+ }
+
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/list/JazzListCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/list/JazzListCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTckTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTckTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,90 @@
+package org.apache.maven.scm.provider.jazz.command.status;
+
+import java.io.File;
+
+import org.apache.maven.scm.provider.jazz.command.JazzTckUtil;
+import org.apache.maven.scm.tck.command.status.StatusCommandTckTest;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzStatusCommandTckTest
+ extends StatusCommandTckTest
+{
+ // Easy access to our Tck Test Helper class.
+ private JazzTckUtil jazzTckUtil = new JazzTckUtil();
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#initRepo()
+ */
+ @Override
+ public void initRepo()
+ throws Exception
+ {
+ // Create a unique repository workspace for this test.
+ jazzTckUtil.initRepo( getScmRepository() );
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#removeRepo()
+ */
+ @Override
+ public void removeRepo()
+ throws Exception
+ {
+ super.removeRepo();
+ jazzTckUtil.removeRepo();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTckTestCase#getScmUrl()
+ */
+ @Override
+ public String getScmUrl()
+ throws Exception
+ {
+ return jazzTckUtil.getScmUrl();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTestCase#getWorkingCopy()
+ */
+ @Override
+ protected File getWorkingCopy()
+ {
+ return jazzTckUtil.getWorkingCopy();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.apache.maven.scm.ScmTestCase#getUpdatingCopy()
+ */
+ @Override
+ protected File getUpdatingCopy()
+ {
+ return jazzTckUtil.getUpdatingCopy();
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTckTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTckTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTest.java?rev=1329106&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTest.java Mon Apr 23 07:45:33 2012
@@ -0,0 +1,165 @@
+package org.apache.maven.scm.provider.jazz.command.status;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.List;
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.log.DefaultLog;
+import org.apache.maven.scm.provider.jazz.JazzScmTestCase;
+import org.apache.maven.scm.provider.jazz.repository.JazzScmProviderRepository;
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
+ */
+public class JazzStatusCommandTest
+ extends JazzScmTestCase
+{
+ private JazzScmProviderRepository repo;
+
+ private JazzStatusConsumer statusConsumer;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ repo = getScmProviderRepository();
+ statusConsumer = new JazzStatusConsumer( repo, new DefaultLog() );
+ }
+
+ public void testCreateStatusCommand()
+ throws Exception
+ {
+ Commandline cmd = new JazzStatusCommand().createStatusCommand( repo, getScmFileSet() ).getCommandline();
+ String expected = "scm status --username myUserName --password myPassword --wide";
+ assertCommandLine( expected, getWorkingDirectory(), cmd );
+ }
+
+ public void testConsumer()
+ {
+ statusConsumer.consumeLine( "Workspace: (1000) \"Dave's Repository Workspace\" <-> (1001) \"SCM Plugin Stream\"" );
+ statusConsumer.consumeLine( " Component: (1002) \"SCM Plugins\"" );
+ statusConsumer.consumeLine( " Baseline: (1003) 1 \"Initial Baseline\"" );
+ statusConsumer.consumeLine( " Unresolved:" );
+ statusConsumer.consumeLine( " d- /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/JazzScmProvider.java" );
+ statusConsumer.consumeLine( " a- /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/JazzScmProviderRenamed.java" );
+ statusConsumer.consumeLine( " d- /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/DeletedFile.java" );
+ statusConsumer.consumeLine( " a- /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/AddedFile.java" );
+ statusConsumer.consumeLine( " -c /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/ModifiedFile.java" );
+ statusConsumer.consumeLine( " Outgoing:" );
+ statusConsumer.consumeLine( " Change sets:" );
+ statusConsumer.consumeLine( " (1008) --@ <No comment>" );
+ statusConsumer.consumeLine( "" );
+
+ // Test the additional collected data, Workspace, Component, Baseline.
+ assertEquals( "Workspace is incorrect!", "Dave's Repository Workspace", repo.getWorkspace() );
+ assertEquals( "Workspace Alias is incorrect!", 1000, repo.getWorkspaceAlias() );
+ assertEquals( "Flow Target is incorrect!", "SCM Plugin Stream", repo.getFlowTarget() );
+ assertEquals( "Flow Target Alias is incorrect!", 1001, repo.getFlowTargetAlias() );
+ assertEquals( "Component is incorrect!", "SCM Plugins", repo.getComponent() );
+ assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
+
+ // Test the stream parsing and isPushChanges bits.
+ assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
+
+ // Test the ScmFile and ScmFileStatus bits.
+ List<ScmFile> changedFiles = statusConsumer.getChangedFiles();
+ assertNotNull( changedFiles );
+ assertEquals( 5, changedFiles.size() );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/JazzScmProvider.java",
+ ScmFileStatus.DELETED ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/JazzScmProviderRenamed.java",
+ ScmFileStatus.ADDED ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/DeletedFile.java",
+ ScmFileStatus.DELETED ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/AddedFile.java",
+ ScmFileStatus.ADDED ) ) );
+ assertTrue( changedFiles.contains( new ScmFile(
+ "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/ModifiedFile.java",
+ ScmFileStatus.MODIFIED ) ) );
+ }
+
+ public void testConsumerWithStream()
+ {
+ statusConsumer.consumeLine( "Workspace: (1156) \"GPDBWorkspace\" <-> (1157) \"GPDBStream\"");
+ statusConsumer.consumeLine( " Component: (1158) \"GPDB\" <-> (1157) \"GPDBStream\"");
+ statusConsumer.consumeLine( " Baseline: (1159) 1 \"Initial Baseline\"");
+
+ // Test the additional collected data, Workspace, Component, Baseline.
+ assertEquals( "Workspace is incorrect!", "GPDBWorkspace", repo.getWorkspace() );
+ assertEquals( "Workspace Alias is incorrect!", 1156, repo.getWorkspaceAlias() );
+ assertEquals( "Flow Target is incorrect!", "GPDBStream", repo.getFlowTarget() );
+ assertEquals( "Flow Target Alias is incorrect!", 1157, repo.getFlowTargetAlias() );
+ assertEquals( "Component is incorrect!", "GPDB", repo.getComponent() );
+ assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
+
+ // Test the stream parsing and isPushChanges bits.
+ assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
+ repo.setPushChanges( false );
+ assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
+ repo.setPushChanges( true );
+ assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
+ }
+
+ public void testConsumerWithOutStream()
+ {
+ statusConsumer.consumeLine( "Workspace: (1156) \"GPDBWorkspace\" <-> (1156) \"GPDBWorkspace\"");
+ statusConsumer.consumeLine( " Component: (1158) \"GPDB\"");
+ statusConsumer.consumeLine( " Baseline: (1159) 1 \"Initial Baseline\"");
+
+ // Test the additional collected data, Workspace, Component, Baseline.
+ assertEquals( "Workspace is incorrect!", "GPDBWorkspace", repo.getWorkspace() );
+ assertEquals( "Workspace Alias is incorrect!", 1156, repo.getWorkspaceAlias() );
+ assertEquals( "Flow Target is incorrect!", "GPDBWorkspace", repo.getFlowTarget() );
+ assertEquals( "Flow Target Alias is incorrect!", 1156, repo.getFlowTargetAlias() );
+ assertEquals( "Component is incorrect!", "GPDB", repo.getComponent() );
+ assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
+
+ // Test the stream parsing and isPushChanges bits.
+ assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
+ repo.setPushChanges( false );
+ assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
+ repo.setPushChanges( true );
+ assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
+ }
+
+ public void testConsumerWithAdditionalInfo()
+ {
+ statusConsumer.consumeLine( "Workspace: (1000) \"MavenStream Workspace\" <-> (1005) \"MavenStream Workspace\"");
+ statusConsumer.consumeLine( " Component: (1002) \"FireDragon\" <-> (1005) \"MavenR3Stream Workspace\" (outgoing addition)");
+ statusConsumer.consumeLine( " Baseline: (1003) 1 \"Initial Baseline\"");
+ statusConsumer.consumeLine( " Unresolved:");
+ statusConsumer.consumeLine( " a-- /FireDragon/.project");
+
+ // Test the additional collected data, Workspace, Component, Baseline.
+ assertEquals( "Workspace is incorrect!", "MavenStream Workspace", repo.getWorkspace() );
+ assertEquals( "Workspace Alias is incorrect!", 1000, repo.getWorkspaceAlias() );
+ assertEquals( "Flow Target is incorrect!", "MavenStream Workspace", repo.getFlowTarget() );
+ assertEquals( "Flow Target Alias is incorrect!", 1005, repo.getFlowTargetAlias() );
+ assertEquals( "Component is incorrect!", "FireDragon", repo.getComponent() );
+ assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision