aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java475
1 files changed, 0 insertions, 475 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java
deleted file mode 100644
index aa96d8d5..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * 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.
- *
- */
-package org.apache.tools.ant.taskdefs.optional.vss;
-
-import java.io.File;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.TimeZone;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildFileRule;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.Tstamp;
-import org.apache.tools.ant.types.Commandline;
-import org.apache.tools.ant.types.Path;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-/**
- * Testcase to ensure that command line generation and required attributes are correct.
- *
- */
-public class MSVSSTest implements MSVSSConstants {
-
- private Commandline commandline;
-
- private static final String VSS_PROJECT_PATH = "/SourceRoot/Project";
- private static final String DS_VSS_PROJECT_PATH = "$/SourceRoot/Project";
- private static final String VSS_USERNAME = "ant";
- private static final String VSS_PASSWORD = "rocks";
- private static final String LOCAL_PATH = "testdir";
- private static final String SRC_LABEL = "label1";
- private static final String LONG_LABEL = "123456789012345678901234567890";
- private static final String SRC_COMMENT = "I fixed a bug";
- private static final String VERSION = "007";
- private static final String DATE = "00-00-00";
- private static final String DATE2 = "01-01-01";
- private static final String OUTPUT = "output.log";
- private static final String SS_DIR = "c:/winnt".replace('/', File.separatorChar);
-
- @Rule
- public BuildFileRule buildRule = new BuildFileRule();
- private Project project;
-
- @Before
- public void setUp(){
- project = new Project();
- project.setBasedir(".");
- project.init();
- }
-
- @After
- public void tearDown() {
- File file = new File(project.getBaseDir(), LOCAL_PATH);
- if (file.exists()) {
- file.delete();
- }
- }
-
- @Test
- public void testGetCommandLine() {
- String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_GET, DS_VSS_PROJECT_PATH,
- MSVSS.FLAG_OVERRIDE_WORKING_DIR + project.getBaseDir()
- .getAbsolutePath()
- + File.separator + LOCAL_PATH, MSVSS.FLAG_AUTORESPONSE_DEF,
- MSVSS.FLAG_RECURSION, MSVSS.FLAG_VERSION + VERSION, MSVSS.FLAG_LOGIN
- + VSS_USERNAME + "," + VSS_PASSWORD, FLAG_FILETIME_UPDATED, FLAG_SKIP_WRITABLE};
-
- // Set up a VSSGet task
- MSVSSGET vssGet = new MSVSSGET();
- vssGet.setProject(project);
- vssGet.setRecursive(true);
- vssGet.setLocalpath(new Path(project, LOCAL_PATH));
- vssGet.setLogin(VSS_USERNAME + "," + VSS_PASSWORD);
- vssGet.setVersion(VERSION);
- vssGet.setQuiet(false);
- vssGet.setDate(DATE);
- vssGet.setLabel(SRC_LABEL);
- vssGet.setVsspath(VSS_PROJECT_PATH);
- MSVSS.CurrentModUpdated cmu = new MSVSS.CurrentModUpdated();
- cmu.setValue(TIME_UPDATED);
- vssGet.setFileTimeStamp(cmu);
- MSVSS.WritableFiles wf = new MSVSS.WritableFiles();
- wf.setValue(WRITABLE_SKIP);
- vssGet.setWritableFiles(wf);
-
- commandline = vssGet.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /** Tests VSSGet required attributes. */
- @Test
- public void testGetExceptions() {
- buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml");
- expectSpecificBuildException("vssget.1", "some cause", "vsspath attribute must be set!");
- }
-
- /** Tests Label commandline generation. */
- @Test
- public void testLabelCommandLine1() {
- String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_LABEL, DS_VSS_PROJECT_PATH,
- MSVSS.FLAG_COMMENT + SRC_COMMENT, MSVSS.FLAG_AUTORESPONSE_YES,
- MSVSS.FLAG_LABEL + SRC_LABEL, MSVSS.FLAG_VERSION + VERSION, MSVSS.FLAG_LOGIN
- + VSS_USERNAME + "," + VSS_PASSWORD};
-
- // Set up a VSSLabel task
- MSVSSLABEL vssLabel = new MSVSSLABEL();
- vssLabel.setProject(project);
- vssLabel.setComment(SRC_COMMENT);
- vssLabel.setLogin(VSS_USERNAME + "," + VSS_PASSWORD);
- vssLabel.setVersion(VERSION);
- vssLabel.setAutoresponse("Y");
- vssLabel.setLabel(SRC_LABEL);
- vssLabel.setVsspath(VSS_PROJECT_PATH);
-
- commandline = vssLabel.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /** Tests Label commandline generation with a label of more than 31 chars. */
- @Test
- public void testLabelCommandLine2() {
- String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_LABEL, DS_VSS_PROJECT_PATH,
- MSVSS.FLAG_COMMENT + SRC_COMMENT, MSVSS.FLAG_AUTORESPONSE_DEF,
- MSVSS.FLAG_LABEL + LONG_LABEL,
- MSVSS.FLAG_LOGIN + VSS_USERNAME + "," + VSS_PASSWORD};
-
- // Set up a VSSLabel task
- MSVSSLABEL vssLabel = new MSVSSLABEL();
- vssLabel.setProject(project);
- vssLabel.setComment(SRC_COMMENT);
- vssLabel.setLogin(VSS_USERNAME + "," + VSS_PASSWORD);
- vssLabel.setLabel(LONG_LABEL + "blahblah");
- vssLabel.setVsspath(VSS_PROJECT_PATH);
-
- commandline = vssLabel.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /**
- * Test VSSLabel required attributes.
- */
- @Test
- public void testLabelExceptions() {
- buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml");
- expectSpecificBuildException("vsslabel.1", "some cause", "vsspath attribute must be set!");
- expectSpecificBuildException("vsslabel.2", "some cause", "label attribute must be set!");
- }
-
- /** Tests VSSHistory commandline generation with from label. */
- @Test
- public void testHistoryCommandLine1() {
- String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_HISTORY, DS_VSS_PROJECT_PATH,
- MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_VERSION_LABEL + LONG_LABEL
- + MSVSS.VALUE_FROMLABEL + SRC_LABEL, MSVSS.FLAG_LOGIN + VSS_USERNAME
- + "," + VSS_PASSWORD, MSVSS.FLAG_OUTPUT + project.getBaseDir()
- .getAbsolutePath()
- + File.separator + OUTPUT};
-
- // Set up a VSSHistory task
- MSVSSHISTORY vssHistory = new MSVSSHISTORY();
- vssHistory.setProject(project);
-
- vssHistory.setLogin(VSS_USERNAME + "," + VSS_PASSWORD);
-
- vssHistory.setFromLabel(SRC_LABEL);
- vssHistory.setToLabel(LONG_LABEL + "blahblah");
- vssHistory.setVsspath(VSS_PROJECT_PATH);
- vssHistory.setRecursive(false);
- vssHistory.setOutput(new File(project.getBaseDir().getAbsolutePath(), OUTPUT));
-
- commandline = vssHistory.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /** Tests VSSHistory commandline generation with from date. */
- @Test
- public void testHistoryCommandLine2() {
- String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_HISTORY, DS_VSS_PROJECT_PATH,
- MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_VERSION_DATE + DATE + MSVSS.VALUE_FROMDATE
- + DATE2, MSVSS.FLAG_RECURSION, MSVSS.FLAG_LOGIN + VSS_USERNAME + "," + VSS_PASSWORD};
-
- // Set up a VSSHistory task
- MSVSSHISTORY vssHistory = new MSVSSHISTORY();
- vssHistory.setProject(project);
- vssHistory.setLogin(VSS_USERNAME + "," + VSS_PASSWORD);
- vssHistory.setFromDate(DATE2);
- vssHistory.setToDate(DATE);
- vssHistory.setVsspath(VSS_PROJECT_PATH);
- vssHistory.setRecursive(true);
-
- commandline = vssHistory.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /** Tests VSSHistory commandline generation with date calculation. */
- @Test
- public void testHistoryCommandLine3() {
- // Set up a Timestamp
- Tstamp tstamp = new Tstamp();
- Location location = new Location("src/etc/testcases/taskdefs/optional/vss/vss.xml");
- tstamp.setLocation(location);
- tstamp.setProject(project);
- Tstamp.CustomFormat format = tstamp.createFormat();
- format.setProperty("today");
- format.setPattern("HH:mm:ss z");
- format.setTimezone("GMT");
- Date date = Calendar.getInstance().getTime();
- format.execute(project, date, location);
- String today = project.getProperty("today");
-
- // Get today's date
- SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss z");
- sdf.setTimeZone( TimeZone.getTimeZone("GMT") );
- String expected = sdf.format(date);
-
- // Set up a VSSHistory task
- MSVSSHISTORY vssHistory = new MSVSSHISTORY();
- vssHistory.setProject(project);
- vssHistory.setLogin(VSS_USERNAME);
- vssHistory.setToDate(today);
- vssHistory.setVsspath(VSS_PROJECT_PATH);
-
- String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_HISTORY, DS_VSS_PROJECT_PATH,
- MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_VERSION_DATE + expected, MSVSS.FLAG_LOGIN + VSS_USERNAME};
-
- commandline = vssHistory.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /**
- * Tests VSSHistory required attributes.
- */
- @Test
- public void testHistoryExceptions() {
- buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml");
- expectSpecificBuildException("vsshistory.1", "some cause", "vsspath attribute must be set!");
- }
-
- private void expectSpecificBuildException(String target, String failMessage,
- String exceptionMessage) {
- try {
- buildRule.executeTarget(target);
- fail(failMessage);
- } catch(BuildException ex) {
- assertEquals(exceptionMessage, ex.getMessage());
- }
- }
-
- /** Tests CheckIn commandline generation. */
- @Test
- public void testCheckinCommandLine() {
- String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_CHECKIN, DS_VSS_PROJECT_PATH,
- MSVSS.FLAG_AUTORESPONSE_NO, MSVSS.FLAG_WRITABLE, MSVSS.FLAG_LOGIN + VSS_USERNAME,
- MSVSS.FLAG_COMMENT + SRC_COMMENT};
-
- // Set up a VSSCheckIn task
- MSVSSCHECKIN vssCheckin = new MSVSSCHECKIN();
- vssCheckin.setProject(project);
- vssCheckin.setComment(SRC_COMMENT);
- vssCheckin.setLogin(VSS_USERNAME);
- vssCheckin.setAutoresponse("N");
- vssCheckin.setVsspath(VSS_PROJECT_PATH);
- vssCheckin.setWritable(true);
-
- commandline = vssCheckin.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /**
- * Test VSSCheckIn required attributes.
- */
- @Test
- public void testCheckinExceptions() {
- buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml");
- expectSpecificBuildException("vsscheckin.1", "some cause", "vsspath attribute must be set!");
- }
-
- /** Tests CheckOut commandline generation. */
- @Test
- public void testCheckoutCommandLine() {
- String[] sTestCmdLine = {SS_DIR + File.separator + MSVSS.SS_EXE, MSVSS.COMMAND_CHECKOUT,
- DS_VSS_PROJECT_PATH, MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_RECURSION,
- MSVSS.FLAG_VERSION_DATE + DATE, MSVSS.FLAG_LOGIN + VSS_USERNAME,
- FLAG_FILETIME_MODIFIED, FLAG_NO_GET};
-
- // Set up a VSSCheckOut task
- MSVSSCHECKOUT vssCheckout = new MSVSSCHECKOUT();
- vssCheckout.setProject(project);
- vssCheckout.setLogin(VSS_USERNAME);
- vssCheckout.setVsspath(DS_VSS_PROJECT_PATH);
- vssCheckout.setRecursive(true);
- vssCheckout.setDate(DATE);
- vssCheckout.setLabel(SRC_LABEL);
- vssCheckout.setSsdir(SS_DIR);
- MSVSS.CurrentModUpdated cmu = new MSVSS.CurrentModUpdated();
- cmu.setValue(TIME_MODIFIED);
- vssCheckout.setFileTimeStamp(cmu);
- vssCheckout.setGetLocalCopy(false);
-
- commandline = vssCheckout.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /**
- * Test VSSCheckout required attributes.
- */
- @Test
- public void testCheckoutExceptions() {
- buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml");
- expectSpecificBuildException("vsscheckout.1", "some cause", "vsspath attribute must be set!");
- expectSpecificBuildException("vsscheckout.2", "some cause", "blah is not a legal value for this attribute");
- }
-
- /** Tests Add commandline generation. */
- @Test
- public void testAddCommandLine() {
- String[] sTestCmdLine = {SS_DIR + File.separator + MSVSS.SS_EXE, MSVSS.COMMAND_ADD,
- project.getBaseDir().getAbsolutePath() + File.separator + LOCAL_PATH,
- MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_RECURSION,
- MSVSS.FLAG_LOGIN + VSS_USERNAME + "," + VSS_PASSWORD, MSVSS.FLAG_COMMENT + "-"};
-
- // Set up a VSSAdd task
- MSVSSADD vssAdd = new MSVSSADD();
- vssAdd.setProject(project);
- vssAdd.setLogin(VSS_USERNAME + "," + VSS_PASSWORD);
- vssAdd.setVsspath(DS_VSS_PROJECT_PATH);
- vssAdd.setRecursive(true);
- vssAdd.setSsdir(SS_DIR);
- vssAdd.setWritable(false);
- vssAdd.setLocalpath(new Path(project, LOCAL_PATH));
-
- commandline = vssAdd.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /**
- * Test VSSAdd required attributes.
- */
- @Test
- public void testAddExceptions() {
- buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml");
- expectSpecificBuildException("vssadd.1", "some cause", "localPath attribute must be set!");
- }
-
- /** Tests CP commandline generation. */
- @Test
- public void testCpCommandLine() {
- String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_CP,
- DS_VSS_PROJECT_PATH, MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_LOGIN +
- VSS_USERNAME};
-
- // Set up a VSSCp task
- MSVSSCP vssCp = new MSVSSCP();
- vssCp.setProject(project);
- vssCp.setLogin(VSS_USERNAME);
- vssCp.setVsspath(DS_VSS_PROJECT_PATH);
-
- commandline = vssCp.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /**
- * Test VSSCP required attributes.
- */
- @Test
- public void testCpExceptions() {
- buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml");
- expectSpecificBuildException("vsscp.1", "some cause", "vsspath attribute must be set!");
- }
-
- /** Tests Create commandline generation. */
- @Test
- public void testCreateCommandLine() {
- String[] sTestCmdLine = { MSVSS.SS_EXE, MSVSS.COMMAND_CREATE,
- DS_VSS_PROJECT_PATH, MSVSS.FLAG_COMMENT + SRC_COMMENT, MSVSS.FLAG_AUTORESPONSE_NO,
- MSVSS.FLAG_QUIET, MSVSS.FLAG_LOGIN + VSS_USERNAME};
-
- // Set up a VSSCreate task
- MSVSSCREATE vssCreate = new MSVSSCREATE();
- vssCreate.setProject(project);
- vssCreate.setComment(SRC_COMMENT);
- vssCreate.setLogin(VSS_USERNAME);
- vssCreate.setVsspath(DS_VSS_PROJECT_PATH);
- vssCreate.setFailOnError(true);
- vssCreate.setAutoresponse("N");
- vssCreate.setQuiet(true);
-
- commandline = vssCreate.buildCmdLine();
-
- checkCommandLines(sTestCmdLine, commandline.getCommandline());
- }
-
- /**
- * Test VSSCreate required attributes.
- */
- @Test
- public void testCreateExceptions() {
- buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml");
- expectSpecificBuildException("vsscreate.1", "some cause", "vsspath attribute must be set!");
- }
-
- /**
- * Iterate through the generated command line comparing it to reference one.
- * @param sTestCmdLine The reference command line;
- * @param sGeneratedCmdLine The generated command line;
- */
- private void checkCommandLines(String[] sTestCmdLine, String[] sGeneratedCmdLine) {
- int testLength = sTestCmdLine.length;
- int genLength = sGeneratedCmdLine.length;
-
- int genIndex = 0;
- int testIndex = 0;
-
- while (testIndex < testLength) {
- try {
- if (sGeneratedCmdLine[genIndex].equals("")) {
- genIndex++;
- continue;
- }
- assertEquals("arg # " + testIndex,
- sTestCmdLine[testIndex],
- sGeneratedCmdLine[genIndex]);
- testIndex++;
- genIndex++;
- } catch (ArrayIndexOutOfBoundsException aioob) {
- fail("missing arg " + sTestCmdLine[testIndex]);
- }
- }
-
- // Count the number of empty strings
- int cnt = 0;
- for (int i = 0; i < genLength; i++) {
- if (sGeneratedCmdLine[i].equals("")) {
- cnt++;
- }
- }
- if (genLength - cnt > sTestCmdLine.length) {
- // We have extra elements
- fail("extra args");
- }
- }
-}