0001: /*
0002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
0003: *
0004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
0005: *
0006: * The contents of this file are subject to the terms of either the GNU
0007: * General Public License Version 2 only ("GPL") or the Common
0008: * Development and Distribution License("CDDL") (collectively, the
0009: * "License"). You may not use this file except in compliance with the
0010: * License. You can obtain a copy of the License at
0011: * http://www.netbeans.org/cddl-gplv2.html
0012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
0013: * specific language governing permissions and limitations under the
0014: * License. When distributing the software, include this License Header
0015: * Notice in each file and include the License file at
0016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
0017: * particular file as subject to the "Classpath" exception as provided
0018: * by Sun in the GPL Version 2 section of the License file that
0019: * accompanied this code. If applicable, add the following below the
0020: * License Header, with the fields enclosed by brackets [] replaced by
0021: * your own identifying information:
0022: * "Portions Copyrighted [year] [name of copyright owner]"
0023: *
0024: * Contributor(s):
0025: *
0026: * The Original Software is NetBeans. The Initial Developer of the Original
0027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
0028: * Microsystems, Inc. All Rights Reserved.
0029: *
0030: * If you wish your version of this file to be governed by only the CDDL
0031: * or only the GPL Version 2, indicate your decision by adding
0032: * "[Contributor] elects to include this software in this distribution
0033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
0034: * single choice of license, a recipient has the option to distribute
0035: * your version of this file under either the CDDL, the GPL Version 2 or
0036: * to extend the choice of license to its licensees as provided above.
0037: * However, if you add GPL Version 2 code and therefore, elected the GPL
0038: * Version 2 license, then the option applies only if the new code is
0039: * made subject to such option by the copyright holder.
0040: */
0041:
0042: package org.netbeans.test.cvsmodule;
0043:
0044: import java.io.File;
0045: import java.io.InputStream;
0046: import java.util.Random;
0047: import junit.textui.TestRunner;
0048: import org.netbeans.jellytools.JellyTestCase;
0049: import org.netbeans.jellytools.NbDialogOperator;
0050: import org.netbeans.jellytools.OutputOperator;
0051: import org.netbeans.jellytools.OutputTabOperator;
0052: import org.netbeans.jellytools.ProjectsTabOperator;
0053: import org.netbeans.jellytools.modules.javacvs.BrowseCVSModuleOperator;
0054: import org.netbeans.jellytools.modules.javacvs.BrowseTagsOperator;
0055: import org.netbeans.jellytools.modules.javacvs.CVSRootStepOperator;
0056: import org.netbeans.jellytools.modules.javacvs.CheckoutWizardOperator;
0057: import org.netbeans.jellytools.modules.javacvs.EditCVSRootOperator;
0058: import org.netbeans.jellytools.modules.javacvs.ModuleToCheckoutStepOperator;
0059: import org.netbeans.jemmy.QueueTool;
0060: import org.netbeans.jemmy.TimeoutExpiredException;
0061: import org.netbeans.jemmy.operators.JButtonOperator;
0062: import org.netbeans.jemmy.operators.JCheckBoxOperator;
0063: import org.netbeans.jemmy.operators.JComboBoxOperator;
0064: import org.netbeans.jemmy.operators.JFileChooserOperator;
0065: import org.netbeans.jemmy.operators.JLabelOperator;
0066: import org.netbeans.jemmy.operators.JPasswordFieldOperator;
0067: import org.netbeans.jemmy.operators.JProgressBarOperator;
0068: import org.netbeans.jemmy.operators.JRadioButtonOperator;
0069: import org.netbeans.jemmy.operators.JTextFieldOperator;
0070: import org.netbeans.jemmy.operators.Operator;
0071: import org.netbeans.jemmy.operators.Operator.DefaultStringComparator;
0072: import org.netbeans.junit.NbTestSuite;
0073: import org.netbeans.junit.ide.ProjectSupport;
0074:
0075: /**
0076: *
0077: * @author peter
0078: */
0079: public class CheckOutWizardTest extends JellyTestCase {
0080:
0081: String os_name;
0082: final String projectName = "ForImport";
0083: final String pathToMain = "forimport|Main.java";
0084: final String PROTOCOL_FOLDER = "protocol";
0085: Operator.DefaultStringComparator comOperator;
0086: Operator.DefaultStringComparator oldOperator;
0087:
0088: /**
0089: * Creates a new instance of CheckOutWizardTest
0090: */
0091: public CheckOutWizardTest(String name) {
0092: super (name);
0093: }
0094:
0095: /**
0096: * @param args the command line arguments
0097: */
0098: public static void main(String[] args) {
0099: // TODO code application logic here
0100: TestRunner.run(suite());
0101: }
0102:
0103: public static NbTestSuite suite() {
0104: NbTestSuite suite = new NbTestSuite();
0105: suite
0106: .addTest(new CheckOutWizardTest(
0107: "testInvokeCheckoutWizard"));
0108: suite
0109: .addTest(new CheckOutWizardTest(
0110: "testCancelCheckoutWizard"));
0111: suite
0112: .addTest(new CheckOutWizardTest(
0113: "testCheckoutWizardLocal"));
0114: suite.addTest(new CheckOutWizardTest("testCheckoutWizardFork"));
0115: suite.addTest(new CheckOutWizardTest(
0116: "testCheckoutWizardPserver"));
0117: suite.addTest(new CheckOutWizardTest("testCheckoutWizardExt"));
0118: suite.addTest(new CheckOutWizardTest("testRandomChange"));
0119: suite.addTest(new CheckOutWizardTest("testLocalUI"));
0120: suite.addTest(new CheckOutWizardTest("testForkUI"));
0121: suite.addTest(new CheckOutWizardTest("testPserverUI"));
0122: suite.addTest(new CheckOutWizardTest("testExtUI"));
0123: suite
0124: .addTest(new CheckOutWizardTest(
0125: "testEditCVSRootDialogUI"));
0126: suite
0127: .addTest(new CheckOutWizardTest(
0128: "testPserverLoginSuccess"));
0129: suite.addTest(new CheckOutWizardTest(
0130: "testCheckWizardSecondStepUI"));
0131: suite.addTest(new CheckOutWizardTest("testPserverLoginFailed"));
0132: suite.addTest(new CheckOutWizardTest("testRepositoryBrowsing"));
0133: suite.addTest(new CheckOutWizardTest("testAliasBrowsing"));
0134: suite.addTest(new CheckOutWizardTest("testBranchBrowsing"));
0135: suite.addTest(new CheckOutWizardTest("testTagBrowsing"));
0136: suite.addTest(new CheckOutWizardTest("testCheckWizardFinish"));
0137: //debug
0138: //suite.addTest(new CheckOutWizardTest("testCheckWizardFinish"));
0139:
0140: //suite.addTest(new CheckOutWizardTest("testBranchBrowsing"));
0141: return suite;
0142: }
0143:
0144: protected void setUp() throws Exception {
0145:
0146: os_name = System.getProperty("os.name");
0147: //System.out.println(os_name);
0148: System.out.println("### " + getName() + " ###");
0149:
0150: }
0151:
0152: protected boolean isUnix() {
0153: boolean unix = false;
0154: if (os_name.indexOf("Windows") == -1) {
0155: unix = true;
0156: }
0157: return unix;
0158: }
0159:
0160: public void testInvokeCheckoutWizard() {
0161: new ProjectsTabOperator().tree().clearSelection();
0162: CheckoutWizardOperator.invoke();
0163: }
0164:
0165: public void testCancelCheckoutWizard() {
0166: new ProjectsTabOperator().tree().clearSelection();
0167: new CheckoutWizardOperator().cancel();
0168: }
0169:
0170: public void testCheckoutWizardLocal() {
0171: new ProjectsTabOperator().tree().clearSelection();
0172: comOperator = new Operator.DefaultStringComparator(true, true);
0173: oldOperator = (DefaultStringComparator) Operator
0174: .getDefaultStringComparator();
0175: Operator.setDefaultStringComparator(comOperator);
0176: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0177: Operator.setDefaultStringComparator(oldOperator);
0178: CVSRootStepOperator crso = new CVSRootStepOperator();
0179: crso.setCVSRoot(":local:/cvs");
0180:
0181: EditCVSRootOperator editOperator = crso.edit();
0182: assertEquals("Wrong access method in Edit CVSRoot dialog",
0183: "local", editOperator.getAccessMethod());
0184: assertEquals("Wrong repository path in Edit CVSRoot dialog",
0185: "/cvs", editOperator.getRepositoryPath());
0186:
0187: //change values in EditCVSRoot dialog but cancel it
0188: editOperator.setRepositoryPath("/cvs/repo");
0189: editOperator.cancel();
0190: assertEquals("Values are propagated, but Cancel was push",
0191: ":local:/cvs", crso.getCVSRoot());
0192:
0193: //change values in EditCVSRoot dialog
0194: editOperator = crso.edit();
0195: editOperator.setRepositoryPath("/cvs/repo");
0196: editOperator.ok();
0197: assertEquals("Values are propagated, but Cancel was push",
0198: ":local:/cvs/repo", crso.getCVSRoot());
0199: crso.cancel();
0200: }
0201:
0202: public void testCheckoutWizardFork() {
0203: new ProjectsTabOperator().tree().clearSelection();
0204: comOperator = new Operator.DefaultStringComparator(true, true);
0205: oldOperator = (DefaultStringComparator) Operator
0206: .getDefaultStringComparator();
0207: Operator.setDefaultStringComparator(comOperator);
0208: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0209: Operator.setDefaultStringComparator(oldOperator);
0210: CVSRootStepOperator crso = new CVSRootStepOperator();
0211: crso.setCVSRoot(":fork:/cvs");
0212:
0213: EditCVSRootOperator editOperator = crso.edit();
0214: assertEquals("Wrong access method in Edit CVSRoot dialog",
0215: "fork", editOperator.getAccessMethod());
0216: assertEquals("Wrong repository path in Edit CVSRoot dialog",
0217: "/cvs", editOperator.getRepositoryPath());
0218:
0219: //change values in EditCVSRoot dialog but cancel it
0220: editOperator.setRepositoryPath("/cvs/repo");
0221: editOperator.cancel();
0222: assertEquals("Values are propagated, but Cancel was push",
0223: ":fork:/cvs", crso.getCVSRoot());
0224:
0225: //change values in EditCVSRoot dialog
0226: editOperator = crso.edit();
0227: editOperator.setRepositoryPath("/cvs/repo");
0228: editOperator.ok();
0229: assertEquals("Values are propagated, but Cancel was push",
0230: ":fork:/cvs/repo", crso.getCVSRoot());
0231: crso.cancel();
0232: }
0233:
0234: public void testCheckoutWizardPserver() {
0235: new ProjectsTabOperator().tree().clearSelection();
0236: comOperator = new Operator.DefaultStringComparator(true, true);
0237: oldOperator = (DefaultStringComparator) Operator
0238: .getDefaultStringComparator();
0239: Operator.setDefaultStringComparator(comOperator);
0240: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0241: Operator.setDefaultStringComparator(oldOperator);
0242: CVSRootStepOperator crso = new CVSRootStepOperator();
0243:
0244: crso.setCVSRoot(":pserver:test@localhost:2401/cvs");
0245: crso.setPassword("test");
0246:
0247: //crso.cbRememberPassword().setSelected(true);
0248: //crso.cbRememberPassword().setSelected(false);
0249: EditCVSRootOperator editOperator = crso.edit();
0250: assertEquals("Wrong access method in Edit CVSRoot dialog",
0251: "pserver", editOperator.getAccessMethod());
0252: assertEquals("Wrong username Edit CVSRoot dialog", "test",
0253: editOperator.getUser());
0254: assertEquals("Wrong hostname in Edit CVSRoot dialog",
0255: "localhost", editOperator.getHost());
0256: assertEquals("Wrong port Edit CVSRoot dialog", "2401",
0257: editOperator.getPort());
0258: assertEquals("Wrong repository path Edit CVSRoot dialog",
0259: "/cvs", editOperator.getRepositoryPath());
0260:
0261: //change values in EditCVSRoot dialog but cancel it
0262: editOperator.selectAccessMethod(editOperator.ITEM_PSERVER);
0263: editOperator.setRepositoryPath("/cvs/repo");
0264: editOperator.setHost("127.0.0.1");
0265: editOperator.setUser("user");
0266: editOperator.setPort("8080");
0267: editOperator.cancel();
0268: assertEquals("Values are propagated, but Cancel was push",
0269: ":pserver:test@localhost:2401/cvs", crso.getCVSRoot());
0270:
0271: //change values in EditCVSRoot dialog
0272: editOperator = crso.edit();
0273: editOperator.selectAccessMethod(editOperator.ITEM_PSERVER);
0274: editOperator.setRepositoryPath("/cvs/repo");
0275: editOperator.setHost("127.0.0.1");
0276: editOperator.setUser("user");
0277: editOperator.setPort("8080");
0278: editOperator.ok();
0279: assertEquals("Values are not propagated correctly",
0280: ":pserver:user@127.0.0.1:8080/cvs/repo", crso
0281: .getCVSRoot());
0282: crso.cancel();
0283: }
0284:
0285: public void testCheckoutWizardExt() {
0286: new ProjectsTabOperator().tree().clearSelection();
0287: comOperator = new Operator.DefaultStringComparator(true, true);
0288: oldOperator = (DefaultStringComparator) Operator
0289: .getDefaultStringComparator();
0290: Operator.setDefaultStringComparator(comOperator);
0291: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0292: Operator.setDefaultStringComparator(oldOperator);
0293: CVSRootStepOperator crso = new CVSRootStepOperator();
0294: crso.setCVSRoot(":ext:test@localhost:2401/cvs");
0295: crso.rbUseInternalSSH().push();
0296:
0297: crso.setPassword("test");
0298: crso.cbRememberPassword().push();
0299: crso.cbRememberPassword().push();
0300: crso.rbUseExternalShell().push();
0301:
0302: crso.setSSHCommand("plink.exe -l user -i private_key.ppk");
0303: EditCVSRootOperator editOperator = crso.edit();
0304: assertEquals("Wrong access method in Edit CVSRoot dialog",
0305: "ext", editOperator.getAccessMethod());
0306: assertEquals("Wrong username Edit CVSRoot dialog", "test",
0307: editOperator.getUser());
0308: assertEquals("Wrong hostname in Edit CVSRoot dialog",
0309: "localhost", editOperator.getHost());
0310: assertEquals("Wrong port Edit CVSRoot dialog", "2401",
0311: editOperator.getPort());
0312: assertEquals("Wrong repository path Edit CVSRoot dialog",
0313: "/cvs", editOperator.getRepositoryPath());
0314:
0315: //change values in EditCVSRoot dialog but cancel it
0316: editOperator.selectAccessMethod(editOperator.ITEM_EXT);
0317: editOperator.setRepositoryPath("/cvs/repo");
0318: editOperator.setHost("127.0.0.1");
0319: editOperator.setUser("user");
0320: editOperator.setPort("8080");
0321: editOperator.cancel();
0322: assertEquals("Values are propagated, but Cancel was push",
0323: ":ext:test@localhost:2401/cvs", crso.getCVSRoot());
0324:
0325: //change values in EditCVSRoot dialog
0326: editOperator = crso.edit();
0327: editOperator.selectAccessMethod(editOperator.ITEM_EXT);
0328: editOperator.setRepositoryPath("/cvs/repo");
0329: editOperator.setHost("127.0.0.1");
0330: editOperator.setUser("user");
0331: editOperator.setPort("8080");
0332: editOperator.ok();
0333: assertEquals("Values are not propagated correctly",
0334: ":ext:user@127.0.0.1:8080/cvs/repo", crso.getCVSRoot());
0335: crso.cancel();
0336: }
0337:
0338: public void testRandomChange() {
0339: new ProjectsTabOperator().tree().clearSelection();
0340: Random rand = new Random();
0341: int am;
0342: String[] cvsRoots = new String[] { ":local:/cvs", ":fork:/cvs",
0343: ":pserver:test@localhost:2401/cvs",
0344: ":ext:test@localhost:2401/cvs" };
0345: String[] accessMethods = new String[] { "local", "fork",
0346: "pserver", "ext" };
0347: comOperator = new Operator.DefaultStringComparator(true, true);
0348: oldOperator = (DefaultStringComparator) Operator
0349: .getDefaultStringComparator();
0350: Operator.setDefaultStringComparator(comOperator);
0351: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0352: Operator.setDefaultStringComparator(oldOperator);
0353: CVSRootStepOperator crso = new CVSRootStepOperator();
0354: EditCVSRootOperator ecro;
0355: for (int i = 0; i < 10; i++) {
0356: int index = rand.nextInt(4);
0357: switch (index) {
0358: case 0: //local access method
0359: crso.setCVSRoot(cvsRoots[0]);
0360: ecro = crso.edit();
0361: am = rand.nextInt(4);
0362: ecro.selectAccessMethod(accessMethods[am]);
0363: assertEquals("Wrong access method", accessMethods[am],
0364: ecro.getAccessMethod());
0365: ecro.cancel();
0366: break;
0367: case 1: //fork access method
0368: crso.setCVSRoot(cvsRoots[1]);
0369: ecro = crso.edit();
0370: am = rand.nextInt(4);
0371: ecro.selectAccessMethod(accessMethods[am]);
0372: assertEquals("Wrong access method", accessMethods[am],
0373: ecro.getAccessMethod());
0374: ecro.cancel();
0375: break;
0376: case 2: //pserver access method
0377: crso.setCVSRoot(cvsRoots[2]);
0378: ecro = crso.edit();
0379: am = rand.nextInt(4);
0380: ecro.selectAccessMethod(accessMethods[am]);
0381: assertEquals("Wrong access method", accessMethods[am],
0382: ecro.getAccessMethod());
0383: ecro.cancel();
0384: break;
0385: case 3: //ext access method
0386: crso.setCVSRoot(cvsRoots[3]);
0387: ecro = crso.edit();
0388: am = rand.nextInt(4);
0389: ecro.selectAccessMethod(accessMethods[am]);
0390: assertEquals("Wrong access method", accessMethods[am],
0391: ecro.getAccessMethod());
0392: ecro.cancel();
0393: break;
0394: }
0395: }
0396: cwo.cancel();
0397: }
0398:
0399: public void testPserverUI() {
0400: new ProjectsTabOperator().tree().clearSelection();
0401: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0402: comOperator = new Operator.DefaultStringComparator(true, true);
0403: oldOperator = (DefaultStringComparator) Operator
0404: .getDefaultStringComparator();
0405: Operator.setDefaultStringComparator(comOperator);
0406: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0407: Operator.setDefaultStringComparator(oldOperator);
0408: CVSRootStepOperator crso = new CVSRootStepOperator();
0409:
0410: //Invalid CVS Root
0411: crso.setCVSRoot(":pserver:test");
0412: try {
0413: JLabelOperator inv = new JLabelOperator(crso,
0414: "Invalid CVS Root");
0415: } catch (TimeoutExpiredException e) {
0416: throw e;
0417: }
0418:
0419: crso.setCVSRoot(":pserver:test@localhost:2401/cvs");
0420: //start test UI
0421:
0422: //combobox
0423: try {
0424: JComboBoxOperator combo = new JComboBoxOperator(crso);
0425: JPasswordFieldOperator passwd = new JPasswordFieldOperator(
0426: crso);
0427: JButtonOperator btnEdit = new JButtonOperator(crso,
0428: "Edit...");
0429: JButtonOperator btnProxy = new JButtonOperator(crso,
0430: "Proxy Configuration...");
0431: JButtonOperator btnBack = new JButtonOperator(crso,
0432: "< Back");
0433: JButtonOperator btnNext = new JButtonOperator(crso,
0434: "Next >");
0435: JButtonOperator btnFinish = new JButtonOperator(crso,
0436: "Finish");
0437: JButtonOperator btnCancel = new JButtonOperator(crso,
0438: "Cancel");
0439: JButtonOperator btnHelp = new JButtonOperator(crso, "Help");
0440: } catch (TimeoutExpiredException e) {
0441: throw e;
0442: }
0443: //End UI test
0444: cwo.cancel();
0445: }
0446:
0447: public void testLocalUI() {
0448: new ProjectsTabOperator().tree().clearSelection();
0449: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0450: comOperator = new Operator.DefaultStringComparator(true, true);
0451: oldOperator = (DefaultStringComparator) Operator
0452: .getDefaultStringComparator();
0453: Operator.setDefaultStringComparator(comOperator);
0454: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0455: Operator.setDefaultStringComparator(oldOperator);
0456: CVSRootStepOperator crso = new CVSRootStepOperator();
0457:
0458: //Invalid CVS Root
0459: crso.setCVSRoot(":loca:");
0460: try {
0461: JLabelOperator inv = new JLabelOperator(crso,
0462: "Only :pserver:, :local:, :ext: and :fork: connection methods supported");
0463: } catch (TimeoutExpiredException e) {
0464: throw e;
0465: }
0466: crso.setCVSRoot(":local:/cvs");
0467: Exception ex;
0468: //start test UI
0469: //combobox
0470: try {
0471: JComboBoxOperator combo = new JComboBoxOperator(crso);
0472: //JPasswordFieldOperator passwd = new JPasswordFieldOperator(crso);
0473: JButtonOperator btnEdit = new JButtonOperator(crso,
0474: "Edit...");
0475: JButtonOperator btnBack = new JButtonOperator(crso,
0476: "< Back");
0477: JButtonOperator btnNext = new JButtonOperator(crso,
0478: "Next >");
0479: JButtonOperator btnFinish = new JButtonOperator(crso,
0480: "Finish");
0481: JButtonOperator btnCancel = new JButtonOperator(crso,
0482: "Cancel");
0483: JButtonOperator btnHelp = new JButtonOperator(crso, "Help");
0484: } catch (TimeoutExpiredException e) {
0485: throw e;
0486: }
0487: //end test UI
0488:
0489: cwo.cancel();
0490: }
0491:
0492: public void testForkUI() {
0493: new ProjectsTabOperator().tree().clearSelection();
0494: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0495: comOperator = new Operator.DefaultStringComparator(true, true);
0496: oldOperator = (DefaultStringComparator) Operator
0497: .getDefaultStringComparator();
0498: Operator.setDefaultStringComparator(comOperator);
0499: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0500: Operator.setDefaultStringComparator(oldOperator);
0501: CVSRootStepOperator crso = new CVSRootStepOperator();
0502:
0503: //Invalid CVS Root
0504: crso.setCVSRoot(":for:");
0505: try {
0506: JLabelOperator inv = new JLabelOperator(crso,
0507: "Only :pserver:, :local:, :ext: and :fork: connection methods supported");
0508: } catch (TimeoutExpiredException e) {
0509: throw e;
0510: }
0511:
0512: crso.setCVSRoot(":fork:/cvs");
0513: //start test UI
0514:
0515: try {
0516: JComboBoxOperator combo = new JComboBoxOperator(crso);
0517: //JPasswordFieldOperator passwd = new JPasswordFieldOperator(crso);
0518: JButtonOperator btnEdit = new JButtonOperator(crso,
0519: "Edit...");
0520: JButtonOperator btnBack = new JButtonOperator(crso,
0521: "< Back");
0522: JButtonOperator btnNext = new JButtonOperator(crso,
0523: "Next >");
0524: JButtonOperator btnFinish = new JButtonOperator(crso,
0525: "Finish");
0526: JButtonOperator btnCancel = new JButtonOperator(crso,
0527: "Cancel");
0528: JButtonOperator btnHelp = new JButtonOperator(crso, "Help");
0529: } catch (TimeoutExpiredException e) {
0530: throw e;
0531: }
0532: //end test UI
0533:
0534: cwo.cancel();
0535: }
0536:
0537: public void testExtUI() {
0538: new ProjectsTabOperator().tree().clearSelection();
0539: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0540: comOperator = new Operator.DefaultStringComparator(true, true);
0541: oldOperator = (DefaultStringComparator) Operator
0542: .getDefaultStringComparator();
0543: Operator.setDefaultStringComparator(comOperator);
0544: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0545: Operator.setDefaultStringComparator(oldOperator);
0546: CVSRootStepOperator crso = new CVSRootStepOperator();
0547: crso.setCVSRoot(":ext:test@localhost:2401/cvs");
0548: //Invalid CVS Root
0549: crso.setCVSRoot(":ext:test");
0550: try {
0551: JLabelOperator inv = new JLabelOperator(crso,
0552: "Invalid CVS Root");
0553: } catch (TimeoutExpiredException e) {
0554: throw e;
0555: }
0556:
0557: crso.setCVSRoot(":ext:test@localhost:2401/cvs");
0558: //start test UI
0559: try {
0560: JComboBoxOperator combo = new JComboBoxOperator(crso);
0561: JPasswordFieldOperator passwd = new JPasswordFieldOperator(
0562: crso);
0563: JButtonOperator btnEdit = new JButtonOperator(crso,
0564: "Edit...");
0565: JButtonOperator btnProxy = new JButtonOperator(crso,
0566: "Proxy Configuration...");
0567: JRadioButtonOperator internal = new JRadioButtonOperator(
0568: crso, "Use Internal SSH");
0569: JRadioButtonOperator external = new JRadioButtonOperator(
0570: crso, "Use External Shell");
0571: JCheckBoxOperator remeber = new JCheckBoxOperator(crso,
0572: "Remember Password");
0573: JTextFieldOperator sshCommand = new JTextFieldOperator(crso);
0574: JButtonOperator btnBack = new JButtonOperator(crso,
0575: "< Back");
0576: JButtonOperator btnNext = new JButtonOperator(crso,
0577: "Next >");
0578: JButtonOperator btnFinish = new JButtonOperator(crso,
0579: "Finish");
0580: JButtonOperator btnCancel = new JButtonOperator(crso,
0581: "Cancel");
0582: JButtonOperator btnHelp = new JButtonOperator(crso, "Help");
0583: } catch (TimeoutExpiredException e) {
0584: throw e;
0585: }
0586: //end test UI
0587:
0588: cwo.cancel();
0589: }
0590:
0591: public void testEditCVSRootDialogUI() {
0592: new ProjectsTabOperator().tree().clearSelection();
0593: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0594: comOperator = new Operator.DefaultStringComparator(true, true);
0595: oldOperator = (DefaultStringComparator) Operator
0596: .getDefaultStringComparator();
0597: Operator.setDefaultStringComparator(comOperator);
0598: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0599: Operator.setDefaultStringComparator(oldOperator);
0600: CVSRootStepOperator crso = new CVSRootStepOperator();
0601: EditCVSRootOperator ecro = crso.edit();
0602: try {
0603: JComboBoxOperator combo = new JComboBoxOperator(ecro);
0604: combo.selectItem("pserver");
0605: combo.selectItem("local");
0606: combo.selectItem("fork");
0607: combo.selectItem("ext");
0608: } catch (TimeoutExpiredException e) {
0609: throw e;
0610: }
0611:
0612: //User texfield
0613: try {
0614: JTextFieldOperator user = new JTextFieldOperator(ecro, 0);
0615: user.getFocus();
0616: JTextFieldOperator host = new JTextFieldOperator(ecro, 1);
0617: host.getFocus();
0618: JTextFieldOperator repository = new JTextFieldOperator(
0619: ecro, 2);
0620: repository.getFocus();
0621: JTextFieldOperator port = new JTextFieldOperator(ecro, 3);
0622: port.getFocus();
0623: JButtonOperator btnOK = new JButtonOperator(ecro, "OK");
0624: JButtonOperator btnCancel = new JButtonOperator(ecro,
0625: "Cancel");
0626: JButtonOperator btnHelp = new JButtonOperator(ecro, "Help");
0627: } catch (TimeoutExpiredException e) {
0628: throw e;
0629: }
0630:
0631: ecro.cancel();
0632: cwo.cancel();
0633: }
0634:
0635: /** Test login for Pserver */
0636: public void testPserverLoginFailed() throws Exception {
0637: new ProjectsTabOperator().tree().clearSelection();
0638: //invoke CVSCheckoutWizard
0639: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0640: comOperator = new Operator.DefaultStringComparator(true, true);
0641: oldOperator = (DefaultStringComparator) Operator
0642: .getDefaultStringComparator();
0643: Operator.setDefaultStringComparator(comOperator);
0644: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0645: Operator.setDefaultStringComparator(oldOperator);
0646: final CVSRootStepOperator crso = new CVSRootStepOperator();
0647: crso.setCVSRoot(":pserver:test@localhost:/cvs");
0648:
0649: //prepare stream for successful authen//tification and run PseudoCVSServer
0650: InputStream in = TestKit.getStream(getDataDir()
0651: .getCanonicalFile().toString()
0652: + File.separator + PROTOCOL_FOLDER, "nonauthorized.in");
0653: if (in == null) {
0654: System.err.println(getClass().getProtectionDomain()
0655: .getCodeSource().getLocation().toExternalForm());
0656: in.markSupported();
0657: }
0658:
0659: PseudoCvsServer cvss = new PseudoCvsServer(in);
0660: new Thread(cvss).start();
0661: cvss.ignoreProbe();
0662: crso.setCVSRoot(cvss.getCvsRoot());
0663:
0664: crso.next();
0665:
0666: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0667: try {
0668: JLabelOperator message = new JLabelOperator(crso,
0669: "Please check username, password and repository.");
0670: } catch (TimeoutExpiredException e) {
0671: throw e;
0672: }
0673: cvss.stop();
0674: in.close();
0675: cwo.cancel();
0676: }
0677:
0678: public void testPserverLoginSuccess() throws Exception {
0679: //invoke CVSCheckoutWizard
0680: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0681: new ProjectsTabOperator().tree().clearSelection();
0682: comOperator = new Operator.DefaultStringComparator(true, true);
0683: oldOperator = (DefaultStringComparator) Operator
0684: .getDefaultStringComparator();
0685: Operator.setDefaultStringComparator(comOperator);
0686: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0687: Operator.setDefaultStringComparator(oldOperator);
0688: final CVSRootStepOperator crso = new CVSRootStepOperator();
0689: //crso.setPassword("test");
0690:
0691: //prepare stream for successful authentification and run PseudoCVSServer
0692: InputStream in = TestKit.getStream(getDataDir()
0693: .getCanonicalFile().toString()
0694: + File.separator + PROTOCOL_FOLDER, "authorized.in");
0695: if (in == null) {
0696: System.err.println(getClass().getProtectionDomain()
0697: .getCodeSource().getLocation().toExternalForm());
0698: in.markSupported();
0699: }
0700:
0701: PseudoCvsServer cvss = new PseudoCvsServer(in);
0702: new Thread(cvss).start();
0703: cvss.ignoreProbe();
0704: crso.setCVSRoot(cvss.getCvsRoot());
0705: crso.next();
0706:
0707: //Wizard proceeded to 2nd step.
0708: ModuleToCheckoutStepOperator moduleCheck = new ModuleToCheckoutStepOperator();
0709: cvss.stop();
0710: in.close();
0711: BrowseCVSModuleOperator bcmo = moduleCheck.browseModule();
0712: bcmo.cancel();
0713: //moduleCheck.cancel();
0714: cwo.cancel();
0715: }
0716:
0717: public void testRepositoryBrowsing() throws Exception {
0718: new ProjectsTabOperator().tree().clearSelection();
0719: String CVSroot = "";
0720: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0721: comOperator = new Operator.DefaultStringComparator(true, true);
0722: oldOperator = (DefaultStringComparator) Operator
0723: .getDefaultStringComparator();
0724: Operator.setDefaultStringComparator(comOperator);
0725: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0726: Operator.setDefaultStringComparator(oldOperator);
0727: CVSRootStepOperator crso = new CVSRootStepOperator();
0728:
0729: JComboBoxOperator combo = new JComboBoxOperator(crso, 0);
0730: crso.setCVSRoot(":pserver:anoncvs@localhost:/cvs");
0731: crso.setPassword("");
0732:
0733: InputStream in = TestKit.getStream(getDataDir()
0734: .getCanonicalFile().toString()
0735: + File.separator + PROTOCOL_FOLDER, "authorized.in");
0736: if (in == null) {
0737: System.err.println(getClass().getProtectionDomain()
0738: .getCodeSource().getLocation().toExternalForm());
0739: in.markSupported();
0740: }
0741:
0742: PseudoCvsServer cvss = new PseudoCvsServer(in);
0743: new Thread(cvss).start();
0744: cvss.ignoreProbe();
0745: crso.setCVSRoot(cvss.getCvsRoot());
0746:
0747: crso.next();
0748:
0749: ModuleToCheckoutStepOperator moduleCheck = new ModuleToCheckoutStepOperator();
0750: cvss.stop();
0751: in.close();
0752:
0753: in = TestKit.getStream(getDataDir().getCanonicalFile()
0754: .toString()
0755: + File.separator + PROTOCOL_FOLDER,
0756: "repository_browsing.in");
0757: cvss = new PseudoCvsServer(in);
0758: new Thread(cvss).start();
0759: CVSroot = cvss.getCvsRoot();
0760: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT",
0761: CVSroot);
0762:
0763: BrowseCVSModuleOperator browseCVSModule = moduleCheck
0764: .browseModule();
0765: browseCVSModule.selectModule("/cvs|CVSROOT");
0766: browseCVSModule.selectModule("/cvs|ForImport");
0767: browseCVSModule.ok();
0768: assertEquals("Folder in repository was not found", "ForImport",
0769: moduleCheck.getModule());
0770:
0771: cvss.stop();
0772: in.close();
0773: cwo.cancel();
0774: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT", "");
0775: //cvss.ignoreProbe();
0776: //crso.setCVSRoot(CVSroot);
0777: }
0778:
0779: public void testAliasBrowsing() throws Exception {
0780: new ProjectsTabOperator().tree().clearSelection();
0781: String CVSroot = "";
0782: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0783: comOperator = new Operator.DefaultStringComparator(true, true);
0784: oldOperator = (DefaultStringComparator) Operator
0785: .getDefaultStringComparator();
0786: Operator.setDefaultStringComparator(comOperator);
0787: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0788: Operator.setDefaultStringComparator(oldOperator);
0789: CVSRootStepOperator crso = new CVSRootStepOperator();
0790:
0791: JComboBoxOperator combo = new JComboBoxOperator(crso, 0);
0792: crso.setCVSRoot(":pserver:anoncvs@localhost:/cvs");
0793: crso.setPassword("");
0794:
0795: InputStream in = TestKit.getStream(getDataDir()
0796: .getCanonicalFile().toString()
0797: + File.separator + PROTOCOL_FOLDER, "authorized.in");
0798: if (in == null) {
0799: System.err.println(getClass().getProtectionDomain()
0800: .getCodeSource().getLocation().toExternalForm());
0801: in.markSupported();
0802: }
0803:
0804: PseudoCvsServer cvss = new PseudoCvsServer(in);
0805: new Thread(cvss).start();
0806: cvss.ignoreProbe();
0807: crso.setCVSRoot(cvss.getCvsRoot());
0808:
0809: crso.next();
0810:
0811: ModuleToCheckoutStepOperator moduleCheck = new ModuleToCheckoutStepOperator();
0812: cvss.stop();
0813: in.close();
0814:
0815: in = TestKit
0816: .getStream(getDataDir().getCanonicalFile().toString()
0817: + File.separator + PROTOCOL_FOLDER,
0818: "alias_browsing.in");
0819: cvss = new PseudoCvsServer(in);
0820: new Thread(cvss).start();
0821: CVSroot = cvss.getCvsRoot();
0822: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT",
0823: CVSroot);
0824:
0825: BrowseCVSModuleOperator browseCVSModule = moduleCheck
0826: .browseModule();
0827: browseCVSModule.selectModule("Alias|ForImport");
0828: browseCVSModule.ok();
0829: assertEquals("Alias was not found", "ForImport", moduleCheck
0830: .getModule());
0831:
0832: cvss.stop();
0833: in.close();
0834: cwo.cancel();
0835: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT", "");
0836: //cvss.ignoreProbe();
0837: //crso.setCVSRoot(CVSroot);
0838: }
0839:
0840: public void testBranchBrowsing() throws Exception {
0841: new ProjectsTabOperator().tree().clearSelection();
0842: String CVSroot;
0843: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0844: comOperator = new Operator.DefaultStringComparator(true, true);
0845: oldOperator = (DefaultStringComparator) Operator
0846: .getDefaultStringComparator();
0847: Operator.setDefaultStringComparator(comOperator);
0848: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0849: Operator.setDefaultStringComparator(oldOperator);
0850: CVSRootStepOperator crso = new CVSRootStepOperator();
0851:
0852: crso.setCVSRoot(":pserver:anoncvs@localhost:/cvs");
0853: crso.setPassword("");
0854:
0855: InputStream in = TestKit.getStream(getDataDir()
0856: .getCanonicalFile().toString()
0857: + File.separator + PROTOCOL_FOLDER, "authorized.in");
0858: if (in == null) {
0859: System.err.println(getClass().getProtectionDomain()
0860: .getCodeSource().getLocation().toExternalForm());
0861: in.markSupported();
0862: }
0863:
0864: PseudoCvsServer cvss = new PseudoCvsServer(in);
0865: new Thread(cvss).start();
0866: cvss.ignoreProbe();
0867: crso.setCVSRoot(cvss.getCvsRoot());
0868:
0869: crso.next();
0870:
0871: ModuleToCheckoutStepOperator moduleCheck = new ModuleToCheckoutStepOperator();
0872: cvss.stop();
0873: in.close();
0874:
0875: moduleCheck.setModule("ForImport");
0876: in = TestKit.getStream(getDataDir().getCanonicalFile()
0877: .toString()
0878: + File.separator + PROTOCOL_FOLDER,
0879: "branch_check_browsing_1.in");
0880: cvss = new PseudoCvsServer(in);
0881: new Thread(cvss).start();
0882: CVSroot = cvss.getCvsRoot() + ",";
0883:
0884: InputStream in2 = TestKit.getStream(getDataDir()
0885: .getCanonicalFile().toString()
0886: + File.separator + PROTOCOL_FOLDER,
0887: "branch_browsing.in");
0888: PseudoCvsServer cvss2 = new PseudoCvsServer(in2);
0889: new Thread(cvss2).start();
0890: CVSroot = CVSroot + cvss2.getCvsRoot();
0891:
0892: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT",
0893: CVSroot);
0894:
0895: BrowseTagsOperator browseTags = moduleCheck.browseBranch();
0896: browseTags.selectBranch("MyBranch");
0897: browseTags.ok();
0898: assertEquals("Branch was not found", "MyBranch", moduleCheck
0899: .getBranch());
0900: cvss.stop();
0901: in.close();
0902: cvss2.stop();
0903: in2.close();
0904:
0905: cwo.cancel();
0906: //cvss.ignoreProbe();
0907: //crso.setCVSRoot(CVSroot);
0908: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT", "");
0909: }
0910:
0911: public void testTagBrowsing() throws Exception {
0912: new ProjectsTabOperator().tree().clearSelection();
0913: String CVSroot;
0914: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0915: comOperator = new Operator.DefaultStringComparator(true, true);
0916: oldOperator = (DefaultStringComparator) Operator
0917: .getDefaultStringComparator();
0918: Operator.setDefaultStringComparator(comOperator);
0919: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
0920: Operator.setDefaultStringComparator(oldOperator);
0921: CVSRootStepOperator crso = new CVSRootStepOperator();
0922:
0923: crso.setCVSRoot(":pserver:anoncvs@localhost:/cvs");
0924: crso.setPassword("");
0925: InputStream in = TestKit.getStream(getDataDir()
0926: .getCanonicalFile().toString()
0927: + File.separator + PROTOCOL_FOLDER, "authorized.in");
0928: if (in == null) {
0929: System.err.println(getClass().getProtectionDomain()
0930: .getCodeSource().getLocation().toExternalForm());
0931: in.markSupported();
0932: }
0933:
0934: PseudoCvsServer cvss = new PseudoCvsServer(in);
0935: new Thread(cvss).start();
0936: cvss.ignoreProbe();
0937: crso.setCVSRoot(cvss.getCvsRoot());
0938:
0939: crso.next();
0940:
0941: ModuleToCheckoutStepOperator moduleCheck = new ModuleToCheckoutStepOperator();
0942: cvss.stop();
0943: in.close();
0944:
0945: moduleCheck.setModule("ForImport");
0946: in = TestKit.getStream(getDataDir().getCanonicalFile()
0947: .toString()
0948: + File.separator + PROTOCOL_FOLDER,
0949: "branch_check_browsing_1.in");
0950: cvss = new PseudoCvsServer(in);
0951: new Thread(cvss).start();
0952: CVSroot = cvss.getCvsRoot() + ",";
0953:
0954: InputStream in2 = TestKit.getStream(getDataDir()
0955: .getCanonicalFile().toString()
0956: + File.separator + PROTOCOL_FOLDER,
0957: "branch_browsing.in");
0958: PseudoCvsServer cvss2 = new PseudoCvsServer(in2);
0959: new Thread(cvss2).start();
0960: CVSroot = CVSroot + cvss2.getCvsRoot();
0961:
0962: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT",
0963: CVSroot);
0964:
0965: BrowseTagsOperator browseTags = moduleCheck.browseBranch();
0966:
0967: browseTags.selectTag("MyBranch_root");
0968:
0969: try {
0970: JButtonOperator btnOk = new JButtonOperator(browseTags,
0971: "OK");
0972: JButtonOperator btnHelp = new JButtonOperator(browseTags,
0973: "Help");
0974: JButtonOperator btnCancel = new JButtonOperator(browseTags,
0975: "Cancel");
0976: } catch (TimeoutExpiredException e) {
0977: throw e;
0978: }
0979: //
0980:
0981: browseTags.ok();
0982: assertEquals("Branch was not found", "MyBranch_root",
0983: moduleCheck.getBranch());
0984: cvss.stop();
0985: in.close();
0986: cvss2.stop();
0987: in2.close();
0988:
0989: cwo.cancel();
0990: //cvss.ignoreProbe();
0991: //crso.setCVSRoot(CVSroot);
0992: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT", "");
0993: }
0994:
0995: public void testCheckWizardSecondStepUI() throws Exception {
0996: new ProjectsTabOperator().tree().clearSelection();
0997: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
0998: comOperator = new Operator.DefaultStringComparator(true, true);
0999: oldOperator = (DefaultStringComparator) Operator
1000: .getDefaultStringComparator();
1001: Operator.setDefaultStringComparator(comOperator);
1002: CheckoutWizardOperator cwo = CheckoutWizardOperator.invoke();
1003: Operator.setDefaultStringComparator(oldOperator);
1004: final CVSRootStepOperator crso = new CVSRootStepOperator();
1005: crso.setCVSRoot(":pserver:anoncvs@localhost:/cvs");
1006: crso.setPassword("");
1007: //crso.setPassword("test");
1008:
1009: //prepare stream for successful authentification and run PseudoCVSServer
1010: InputStream in = TestKit.getStream(getDataDir()
1011: .getCanonicalFile().toString()
1012: + File.separator + PROTOCOL_FOLDER, "authorized.in");
1013: if (in == null) {
1014: System.err.println(getClass().getProtectionDomain()
1015: .getCodeSource().getLocation().toExternalForm());
1016: in.markSupported();
1017: }
1018:
1019: PseudoCvsServer cvss = new PseudoCvsServer(in);
1020: new Thread(cvss).start();
1021: cvss.ignoreProbe();
1022: crso.setCVSRoot(cvss.getCvsRoot());
1023: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT", cvss
1024: .getCvsRoot());
1025:
1026: crso.next();
1027:
1028: //second step of checkoutwizard
1029: //2nd step of CheckOutWizard
1030: File file = new File("/tmp"); // NOI18N
1031: file.mkdir();
1032: file.deleteOnExit();
1033: ModuleToCheckoutStepOperator moduleCheck = new ModuleToCheckoutStepOperator();
1034: cvss.stop();
1035: in.close();
1036: BrowseCVSModuleOperator browseCVSModule = moduleCheck
1037: .browseModule();
1038: //Aliases node
1039: browseCVSModule.selectModule("Aliases");
1040: //Repository node
1041: browseCVSModule.selectModule("/cvs");
1042: //
1043: //buttons in browse module
1044: try {
1045: JButtonOperator btnCancel = new JButtonOperator(
1046: browseCVSModule, "Cancel");
1047: JButtonOperator btnHelp = new JButtonOperator(
1048: browseCVSModule, "Help");
1049: JButtonOperator btnOk = new JButtonOperator(
1050: browseCVSModule, "Ok");
1051: btnOk.push();
1052: } catch (TimeoutExpiredException e) {
1053: throw e;
1054: }
1055:
1056: moduleCheck.setLocalFolder("/tmp"); // NOI18N
1057: JFileChooserOperator browseFolder = moduleCheck
1058: .browseLocalFolder();
1059: assertEquals(
1060: "Directory set in wizard not propagated to file chooser:",
1061: true, browseFolder.getCurrentDirectory()
1062: .getAbsolutePath().endsWith("tmp")); // NOI18N
1063: browseFolder.cancel();
1064: //
1065: //Browse 1
1066: try {
1067: JButtonOperator btn1 = new JButtonOperator(crso, 0);
1068: JButtonOperator btn2 = new JButtonOperator(crso, 1);
1069: JButtonOperator btn3 = new JButtonOperator(crso, 2);
1070: JTextFieldOperator txt1 = new JTextFieldOperator(crso, 0);
1071: JTextFieldOperator txt2 = new JTextFieldOperator(crso, 1);
1072: JTextFieldOperator txt3 = new JTextFieldOperator(crso, 2);
1073: JButtonOperator btnBack = new JButtonOperator(crso,
1074: "< Back");
1075: JButtonOperator btnNext = new JButtonOperator(crso,
1076: "Next >");
1077: JButtonOperator btnFinish = new JButtonOperator(crso,
1078: "Finish");
1079: JButtonOperator btnCancel = new JButtonOperator(crso,
1080: "Cancel");
1081: JButtonOperator btnHelp = new JButtonOperator(crso, "Help");
1082: } catch (TimeoutExpiredException ex) {
1083: throw ex;
1084: }
1085: cwo.cancel();
1086: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT", "");
1087: }
1088:
1089: public void testCheckWizardFinish() throws Exception {
1090: //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 36000);
1091: //JemmyProperties.setCurrentTimeout("DialogWaiter.WaitDialogTimeout", 36000);
1092: try {
1093: TestKit.closeProject(projectName);
1094: new ProjectsTabOperator().tree().clearSelection();
1095: String sessionCVSroot;
1096: OutputOperator oo = OutputOperator.invoke();
1097: comOperator = new Operator.DefaultStringComparator(true,
1098: true);
1099: oldOperator = (DefaultStringComparator) Operator
1100: .getDefaultStringComparator();
1101: Operator.setDefaultStringComparator(comOperator);
1102: CheckoutWizardOperator cwo = CheckoutWizardOperator
1103: .invoke();
1104: Operator.setDefaultStringComparator(oldOperator);
1105: CVSRootStepOperator crso = new CVSRootStepOperator();
1106:
1107: crso.setCVSRoot(":pserver:anoncvs@localhost:/cvs");
1108: //crso.setPassword("");
1109: //crso.setPassword("test");
1110:
1111: //prepare stream for successful authentification and run PseudoCVSServer
1112: InputStream in = TestKit
1113: .getStream(getDataDir().getCanonicalFile()
1114: .toString()
1115: + File.separator + PROTOCOL_FOLDER,
1116: "authorized.in");
1117: if (in == null) {
1118: System.err
1119: .println(getClass().getProtectionDomain()
1120: .getCodeSource().getLocation()
1121: .toExternalForm());
1122: in.markSupported();
1123: }
1124:
1125: PseudoCvsServer cvss = new PseudoCvsServer(in);
1126: new Thread(cvss).start();
1127: cvss.ignoreProbe();
1128: String CVSroot = cvss.getCvsRoot();
1129: crso.setCVSRoot(CVSroot);
1130: sessionCVSroot = CVSroot;
1131: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT",
1132: CVSroot);
1133: crso.next();
1134:
1135: //second step of checkoutwizard
1136: //2nd step of CheckOutWizard
1137:
1138: File tmp = new File("/tmp"); // NOI18N
1139: File work = new File(tmp, "" + File.separator
1140: + System.currentTimeMillis());
1141: tmp.mkdirs();
1142: work.mkdirs();
1143: tmp.deleteOnExit();
1144: ModuleToCheckoutStepOperator moduleCheck = new ModuleToCheckoutStepOperator();
1145: cvss.stop();
1146: in.close();
1147: moduleCheck.setModule("ForImport");
1148: moduleCheck.setLocalFolder(work.getAbsolutePath()); // NOI18N
1149:
1150: //Pseudo CVS server for finishing check out wizard
1151: in = TestKit.getStream(getDataDir().getCanonicalFile()
1152: .toString()
1153: + File.separator + PROTOCOL_FOLDER,
1154: "checkout_finish_2.in");
1155: cvss = new PseudoCvsServer(in);
1156: new Thread(cvss).start();
1157: CVSroot = cvss.getCvsRoot();
1158: //cvss.ignoreProbe();
1159:
1160: //crso.setCVSRoot(CVSroot);
1161: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT",
1162: CVSroot);
1163: cwo.finish();
1164:
1165: //System.out.println(CVSroot);
1166: oo = OutputOperator.invoke();
1167: //System.out.println(CVSroot);
1168:
1169: OutputTabOperator oto = oo.getOutputTab(sessionCVSroot);
1170: oto.waitText("Checking out finished");
1171: cvss.stop();
1172: in.close();
1173: NbDialogOperator nbdialog = new NbDialogOperator(
1174: "Checkout Completed");
1175: JButtonOperator open = new JButtonOperator(nbdialog,
1176: "Open Project");
1177: open.push();
1178:
1179: ProjectSupport.waitScanFinished();
1180: TestKit.waitForQueueEmpty();
1181: ProjectSupport.waitScanFinished();
1182: } catch (Exception e) {
1183: throw new Exception("Test failed: " + e);
1184: } finally {
1185: TestKit.closeProject(projectName);
1186: System.setProperty("netbeans.t9y.cvs.connection.CVSROOT",
1187: "");
1188: }
1189: }
1190: }
|