You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by jm...@apache.org on 2009/04/19 13:46:37 UTC
svn commit: r766453 [3/3] - in
/continuum/trunk/continuum-webapp-test/src/test: resources/ testng/config/
testng/org/apache/continuum/web/aux/
testng/org/apache/continuum/web/aux/test/
testng/org/apache/continuum/web/test/
Added: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractPurgeTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractPurgeTest.java?rev=766453&view=auto
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractPurgeTest.java (added)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractPurgeTest.java Sun Apr 19 11:46:36 2009
@@ -0,0 +1,182 @@
+package org.apache.continuum.web.aux.test;
+
+/*
+ * 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 José Morales MartÃnez
+ * @version $Id$
+ */
+public abstract class AbstractPurgeTest
+ extends AbstractSeleniumTest
+{
+ public void goToGeneralPurgePage()
+ {
+ clickLinkWithText( "Purge Configurations" );
+ assertGeneralPurgePage();
+ }
+
+ public void assertGeneralPurgePage()
+ {
+ assertPage( "Continuum - Purge Configurations" );
+ assertTextPresent( "Repository Purge Configurations" );
+ assertTextPresent( "Directory Purge Configurations" );
+ assertButtonWithValuePresent( "Add" );
+ }
+
+ public void removeRepositoryPurge( String purgeDescription )
+ {
+ goToGeneralPurgePage();
+ clickLinkWithXPath( "(//a[contains(@href,'removePurgeConfig.action') and contains(@href, '" + purgeDescription
+ + "')])//img" );
+ assertTextPresent( "Delete Purge Configuration" );
+ assertTextPresent( "Are you sure you want to delete Purge Configuration \"" + purgeDescription + "\"?" );
+ assertButtonWithValuePresent( "Delete" );
+ assertButtonWithValuePresent( "Cancel" );
+ clickButtonWithValue( "Delete" );
+ assertGeneralPurgePage();
+ }
+
+ public void removeDirectoryPurge( String purgeDescription )
+ {
+ goToGeneralPurgePage();
+ clickLinkWithXPath( "(//a[contains(@href,'removePurgeConfig.action') and contains(@href, '" + purgeDescription
+ + "')])//img" );
+ assertTextPresent( "Delete Purge Configuration" );
+ assertTextPresent( "Are you sure you want to delete Purge Configuration \"" + purgeDescription + "\"?" );
+ assertButtonWithValuePresent( "Delete" );
+ assertButtonWithValuePresent( "Cancel" );
+ clickButtonWithValue( "Delete" );
+ assertGeneralPurgePage();
+ }
+
+ public void assertAddRepositoryPurgePage()
+ {
+ assertPage( "Continuum - Add/Edit Purge Configuration" );
+ assertTextPresent( "Add/Edit Purge Configuration" );
+ assertTextPresent( "Repository" );
+ assertElementPresent( "repositoryId" );
+ assertTextPresent( "Days Older" );
+ assertElementPresent( "daysOlder" );
+ assertTextPresent( "Retention Count" );
+ assertElementPresent( "retentionCount" );
+ assertElementPresent( "deleteAll" );
+ assertElementPresent( "deleteReleasedSnapshots" );
+ assertElementPresent( "defaultPurgeConfiguration" );
+ assertTextPresent( "Schedule" );
+ assertElementPresent( "scheduleId" );
+ assertTextPresent( "Description" );
+ assertElementPresent( "description" );
+ assertButtonWithValuePresent( "Save" );
+ assertButtonWithValuePresent( "Cancel" );
+ }
+
+ public void assertAddEditDirectoryPurgePage()
+ {
+ assertPage( "Continuum - Add/Edit Purge Configuration" );
+ assertTextPresent( "Add/Edit Purge Configuration" );
+ assertTextPresent( "Directory Type" );
+ assertElementPresent( "directoryType" );
+ assertTextPresent( "Days Older" );
+ assertElementPresent( "daysOlder" );
+ assertTextPresent( "Retention Count" );
+ assertElementPresent( "retentionCount" );
+ assertElementPresent( "deleteAll" );
+ assertElementPresent( "defaultPurgeConfiguration" );
+ assertTextPresent( "Schedule" );
+ assertElementPresent( "scheduleId" );
+ assertTextPresent( "Description" );
+ assertElementPresent( "description" );
+ assertButtonWithValuePresent( "Save" );
+ assertButtonWithValuePresent( "Cancel" );
+ }
+
+ public void goToAddRepositoryPurge()
+ {
+ goToGeneralPurgePage();
+ assertGeneralPurgePage();
+ clickLinkWithXPath( "//preceding::input[@value='repository' and @type='hidden']//following::input[@type='submit']" );
+ assertAddRepositoryPurgePage();
+ }
+
+ public void goToEditRepositoryPurge( String daysOlder, String retentionCount, String description )
+ {
+ goToGeneralPurgePage();
+ assertGeneralPurgePage();
+ String xPath = "//preceding::td[text()='" + description + "']//following::img[@alt='Edit']";
+ clickLinkWithXPath( xPath );
+ assertAddRepositoryPurgePage();
+ assertFieldValue( daysOlder, "daysOlder" );
+ assertFieldValue( retentionCount, "retentionCount" );
+ assertFieldValue( description, "description" );
+ }
+
+ public void goToEditDirectoryPurge( String daysOlder, String retentionCount, String description )
+ {
+ goToGeneralPurgePage();
+ assertGeneralPurgePage();
+ String xPath = "//preceding::td[text()='" + description + "']//following::img[@alt='Edit']";
+ clickLinkWithXPath( xPath );
+ assertAddEditDirectoryPurgePage();
+ assertFieldValue( daysOlder, "daysOlder" );
+ assertFieldValue( retentionCount, "retentionCount" );
+ assertFieldValue( description, "description" );
+ }
+
+ public void addEditRepositoryPurge( String daysOlder, String retentionCount, String description, boolean success )
+ {
+ setFieldValue( "daysOlder", daysOlder );
+ setFieldValue( "retentionCount", retentionCount );
+ setFieldValue( "description", description );
+ submit();
+ if ( success )
+ {
+ assertGeneralPurgePage();
+ }
+ else
+ {
+ assertAddRepositoryPurgePage();
+ }
+ }
+
+ public void goToAddDirectoryPurge()
+ {
+ goToGeneralPurgePage();
+ assertGeneralPurgePage();
+ clickLinkWithXPath( "//preceding::input[@value='directory' and @type='hidden']//following::input[@type='submit']" );
+ assertAddEditDirectoryPurgePage();
+ }
+
+ public void addEditDirectoryPurge( String daysOlder, String retentionCount, String description, boolean success )
+ {
+ setFieldValue( "daysOlder", daysOlder );
+ setFieldValue( "retentionCount", retentionCount );
+ setFieldValue( "description", description );
+ submit();
+ if ( success )
+ {
+ assertGeneralPurgePage();
+ }
+ else
+ {
+ assertAddEditDirectoryPurgePage();
+ }
+ }
+}
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractPurgeTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractPurgeTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractPurgeTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractScheduleTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractScheduleTest.java?rev=766453&view=auto
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractScheduleTest.java (added)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractScheduleTest.java Sun Apr 19 11:46:36 2009
@@ -0,0 +1,155 @@
+package org.apache.continuum.web.aux.test;
+
+/*
+ * 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 José Morales MartÃnez
+ * @version $Id$
+ */
+public abstract class AbstractScheduleTest
+ extends AbstractSeleniumTest
+{
+ public void goToSchedulePage()
+ {
+ clickLinkWithText( "Schedules" );
+
+ assertSchedulePage();
+ }
+
+ public void goToAddSchedule()
+ {
+ goToSchedulePage();
+ clickButtonWithValue( "Add" );
+ assertAddSchedulePage();
+ }
+
+ public void assertSchedulePage()
+ {
+ assertPage( "Continuum - Schedules" );
+ assertTextPresent( "Schedules" );
+ assertTextPresent( "Name" );
+ assertTextPresent( "Description" );
+ assertTextPresent( "Quiet Period" );
+ assertTextPresent( "Cron Expression" );
+ assertTextPresent( "Max Job Time" );
+ assertTextPresent( "Active" );
+ assertTextPresent( "DEFAULT_SCHEDULE" );
+ assertImgWithAlt( "Edit" );
+ assertImgWithAlt( "Delete" );
+ assertButtonWithValuePresent( "Add" );
+ }
+
+ public void assertAddSchedulePage()
+ {
+ assertPage( "Continuum - Edit Schedule" );
+ assertTextPresent( "Edit Schedule" );
+ assertTextPresent( "Name" );
+ assertElementPresent( "name" );
+ assertTextPresent( "Description" );
+ assertElementPresent( "description" );
+ assertTextPresent( "Cron Expression" );
+ assertTextPresent( "Second" );
+ assertElementPresent( "second" );
+ assertTextPresent( "Minute" );
+ assertElementPresent( "minute" );
+ assertTextPresent( "Hour" );
+ assertElementPresent( "hour" );
+ assertTextPresent( "Day of Month" );
+ assertElementPresent( "dayOfMonth" );
+ assertTextPresent( "Month" );
+ assertElementPresent( "month" );
+ assertTextPresent( "Day of Week" );
+ assertElementPresent( "dayOfWeek" );
+ assertTextPresent( "Year [optional]" );
+ assertElementPresent( "year" );
+ assertTextPresent( "Maximum job execution time" );
+ assertElementPresent( "maxJobExecutionTime" );
+ assertTextPresent( "Quiet Period (seconds):" );
+ assertElementPresent( "delay" );
+ assertTextPresent( "Add Build Queue" );
+ assertElementPresent( "availableBuildQueues" );
+ assertElementPresent( "selectedBuildQueues" );
+ assertElementPresent( "active" );
+ assertTextPresent( "Enable/Disable the schedule" );
+ assertButtonWithValuePresent( "Save" );
+ assertButtonWithValuePresent( "Cancel" );
+ }
+
+ public void addEditSchedule( String name, String description, String second, String minute, String hour,
+ String dayMonth, String month, String dayWeek, String year, String maxTime,
+ String period, boolean success )
+ {
+ setFieldValue( "name", name );
+ setFieldValue( "description", description );
+ setFieldValue( "second", second );
+ setFieldValue( "minute", minute );
+ setFieldValue( "hour", hour );
+ setFieldValue( "dayOfMonth", dayMonth );
+ setFieldValue( "month", month );
+ setFieldValue( "dayOfWeek", dayWeek );
+ setFieldValue( "year", year );
+ setFieldValue( "maxJobExecutionTime", maxTime );
+ setFieldValue( "delay", period );
+ submit();
+ if ( success )
+ {
+ assertSchedulePage();
+ }
+ else
+ {
+ assertAddSchedulePage();
+ }
+ }
+
+ public void goToEditSchedule( String name, String description, String second, String minute, String hour,
+ String dayMonth, String month, String dayWeek, String year, String maxTime,
+ String period )
+ {
+ goToSchedulePage();
+ String xPath = "//preceding::td[text()='" + name + "']//following::img[@alt='Edit']";
+ clickLinkWithXPath( xPath );
+ assertAddSchedulePage();
+ assertFieldValue( name, "name" );
+ assertFieldValue( description, "description" );
+ assertFieldValue( second, "second" );
+ assertFieldValue( minute, "minute" );
+ assertFieldValue( hour, "hour" );
+ assertFieldValue( dayMonth, "dayOfMonth" );
+ assertFieldValue( month, "month" );
+ assertFieldValue( dayWeek, "dayOfWeek" );
+ assertFieldValue( year, "year" );
+ assertFieldValue( maxTime, "maxJobExecutionTime" );
+ assertFieldValue( period, "delay" );
+ }
+
+ public void removeSchedule( String name )
+ {
+ goToSchedulePage();
+ clickLinkWithXPath( "(//a[contains(@href,'removeSchedule.action') and contains(@href, '" + name + "')])//img" );
+ assertPage( "Continuum - Delete Schedule" );
+ assertTextPresent( "Delete Schedule" );
+ assertTextPresent( "Are you sure you want to delete the schedule \"" + name + "\"?" );
+ assertButtonWithValuePresent( "Delete" );
+ assertButtonWithValuePresent( "Cancel" );
+ clickButtonWithValue( "Delete" );
+ assertSchedulePage();
+ }
+}
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractScheduleTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractScheduleTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractScheduleTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractSeleniumTest.java (from r766328, continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AbstractSeleniumTest.java)
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractSeleniumTest.java?p2=continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractSeleniumTest.java&p1=continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AbstractSeleniumTest.java&r1=766328&r2=766453&rev=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AbstractSeleniumTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/aux/test/AbstractSeleniumTest.java Sun Apr 19 11:46:36 2009
@@ -1,4 +1,4 @@
-package org.apache.continuum.web.test;
+package org.apache.continuum.web.aux.test;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,7 +19,9 @@
* under the License.
*/
+import java.util.Arrays;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Map.Entry;
@@ -31,7 +33,7 @@
/**
* Based on AbstractSeleniumTestCase of Emmanuel Venisse test.
- *
+ *
* @author José Morales MartÃnez
* @version $Id$
*/
@@ -194,6 +196,22 @@
getSelenium().select( locator, "label=" + value );
}
+ public void assertOptionPresent( String selectField, String[] options )
+ {
+ assertElementPresent( selectField );
+ String[] optionsPresent = getSelenium().getSelectOptions( selectField );
+ List<String> expected = Arrays.asList( options );
+ List<String> present = Arrays.asList( optionsPresent );
+ Assert.assertTrue( present.containsAll( expected ), "Options expected are not included in present options" );
+ }
+
+ public void assertSelectedValue( String value, String fieldName )
+ {
+ assertElementPresent( fieldName );
+ String optionsPresent = getSelenium().getSelectedLabel( value );
+ Assert.assertEquals( optionsPresent, value );
+ }
+
public void submit()
{
clickLinkWithXPath( "//input[@type='submit']" );
@@ -204,6 +222,11 @@
Assert.assertTrue( isButtonWithValuePresent( text ), "'" + text + "' button isn't present" );
}
+ public void assertButtonWithIdPresent( String id )
+ {
+ Assert.assertTrue( isButtonWithIdPresent( id ), "'Button with id =" + id + "' isn't present" );
+ }
+
public void assertButtonWithValueNotPresent( String text )
{
Assert.assertFalse( isButtonWithValuePresent( text ), "'" + text + "' button is present" );
@@ -215,6 +238,11 @@
|| isElementPresent( "//input[@value='" + text + "']" );
}
+ public boolean isButtonWithIdPresent( String text )
+ {
+ return isElementPresent( "//button[@id='" + text + "']" ) || isElementPresent( "//input[@id='" + text + "']" );
+ }
+
public void clickButtonWithValue( String text )
{
clickButtonWithValue( text, true );
@@ -315,4 +343,14 @@
{
return getSelenium().isChecked( locator );
}
+
+ public void assertIsChecked( String locator )
+ {
+ Assert.assertTrue( getSelenium().isChecked( locator ) );
+ }
+
+ public void assertIsNotChecked( String locator )
+ {
+ Assert.assertFalse( getSelenium().isChecked( locator ) );
+ }
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java Sun Apr 19 11:46:36 2009
@@ -19,23 +19,49 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractContinuumTest;
import org.testng.Assert;
import org.testng.annotations.AfterTest;
+import org.testng.annotations.BeforeSuite;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
/**
* Based on AboutTest of Wendy Smoak test.
- *
+ *
* @author José Morales MartÃnez
* @version $Id$
*/
@Test( groups = { "about" }, alwaysRun = true )
public class AboutTest
- extends AbstractSeleniumTest
+ extends AbstractContinuumTest
{
+ @BeforeSuite
+ public void initializeContinuum()
+ throws Exception
+ {
+ super.open();
+ getSelenium().open( baseUrl );
+ String title = getSelenium().getTitle();
+ if ( title.equals( "Create Admin User" ) )
+ {
+ assertCreateAdmin();
+ String fullname = p.getProperty( "ADMIN_FULLNAME" );
+ String username = p.getProperty( "ADMIN_USERNAME" );
+ String mail = p.getProperty( "ADMIN_MAIL" );
+ String password = p.getProperty( "ADMIN_PASSWORD" );
+ submitAdminData( fullname, mail, password );
+ assertLoginPage();
+ submitUserData( username, password, false, true );
+ assertAutenticatedPage( username );
+ assertEditConfigurationPage();
+ submit();
+ clickLinkWithText( "Logout" );
+ }
+ super.close();
+ }
- @BeforeTest(groups = { "about" })
+ @BeforeTest( groups = { "about" } )
public void open()
throws Exception
{
@@ -50,7 +76,7 @@
}
@Override
- @AfterTest(groups = { "about" })
+ @AfterTest( groups = { "about" } )
public void close()
throws Exception
{
Added: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java?rev=766453&view=auto
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java (added)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java Sun Apr 19 11:46:36 2009
@@ -0,0 +1,81 @@
+package org.apache.continuum.web.test;
+
+/*
+ * 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.continuum.web.aux.test.AbstractContinuumTest;
+import org.testng.annotations.Test;
+
+/**
+ * Based on AddAntProjectTestCase of Emmanuel Venisse.
+ *
+ * @author José Morales MartÃnez
+ * @version $Id$
+ */
+@Test( groups = { "antProject" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
+public class AntProjectTest
+ extends AbstractContinuumTest
+{
+ @Test(dependsOnMethods = {"testAddProjectGroup"})
+ public void testAddAntProject()
+ throws Exception
+ {
+ String ANT_NAME = p.getProperty( "ANT_NAME" );
+ String ANT_DESCRIPTION = p.getProperty( "ANT_DESCRIPTION" );
+ String ANT_VERSION = p.getProperty( "ANT_VERSION" );
+ String ANT_TAG = p.getProperty( "ANT_TAG" );
+ String ANT_SCM_URL = p.getProperty( "ANT_SCM_URL" );
+ String ANT_SCM_USERNAME = p.getProperty( "ANT_SCM_USERNAME" );
+ String ANT_SCM_PASSWORD = p.getProperty( "ANT_SCM_PASSWORD" );
+ String TEST_PROJ_GRP_NAME = p.getProperty( "TEST_PROJ_GRP_NAME" );
+ String TEST_PROJ_GRP_ID = p.getProperty( "TEST_PROJ_GRP_ID" );
+ String TEST_PROJ_GRP_DESCRIPTION = p.getProperty( "TEST_PROJ_GRP_DESCRIPTION" );
+ goToAddAntProjectPage();
+ addProject( ANT_NAME, ANT_DESCRIPTION, ANT_VERSION, ANT_SCM_URL, ANT_SCM_USERNAME, ANT_SCM_PASSWORD, ANT_TAG,
+ false, TEST_PROJ_GRP_NAME, null, true );
+ assertProjectGroupSummaryPage( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
+ }
+
+ public void testSubmitEmptyForm()
+ {
+ goToAddAntProjectPage();
+ submit();
+ assertAddProjectPage( "ant" );
+ assertTextPresent( "Name is required and cannot contain null or spaces only" );
+ assertTextPresent( "Version is required and cannot contain null or spaces only" );
+ assertTextPresent( "SCM Url is required and cannot contain null or spaces only" );
+ }
+
+ @Test(dependsOnMethods = {"testAddAntProject"})
+ public void testAddDupliedAntProject()
+ throws Exception
+ {
+ String ANT_NAME = p.getProperty( "ANT_NAME" );
+ String ANT_DESCRIPTION = p.getProperty( "ANT_DESCRIPTION" );
+ String ANT_VERSION = p.getProperty( "ANT_VERSION" );
+ String ANT_TAG = p.getProperty( "ANT_TAG" );
+ String ANT_SCM_URL = p.getProperty( "ANT_SCM_URL" );
+ String ANT_SCM_USERNAME = p.getProperty( "ANT_SCM_USERNAME" );
+ String ANT_SCM_PASSWORD = p.getProperty( "ANT_SCM_PASSWORD" );
+ goToAddAntProjectPage();
+ addProject( ANT_NAME, ANT_DESCRIPTION, ANT_VERSION, ANT_SCM_URL, ANT_SCM_USERNAME, ANT_SCM_PASSWORD, ANT_TAG,
+ false, null, null, false );
+ assertTextPresent( "Project name already exist" );
+ }
+}
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java?rev=766453&view=auto
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java (added)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java Sun Apr 19 11:46:36 2009
@@ -0,0 +1,113 @@
+package org.apache.continuum.web.test;
+
+/*
+ * 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.continuum.web.aux.test.AbstractBuildDefinitionTemplateTest;
+import org.testng.annotations.Test;
+
+/**
+ * @author José Morales MartÃnez
+ * @version $Id$
+ */
+@Test( groups = { "buildDefinitionTemplate" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
+public class BuildDefinitionTemplateTest
+ extends AbstractBuildDefinitionTemplateTest
+{
+ public void testAddTemplate()
+ throws Exception
+ {
+ String TEMPLATE_NAME = p.getProperty( "TEMPLATE_NAME" );
+ goToAddTemplate();
+ addEditTemplate( TEMPLATE_NAME, new String[] { "Default Maven 2 Build Definition",
+ "Default Maven 1 Build Definition" }, new String[] {}, true );
+ }
+
+ public void testAddInvalidTemplate()
+ throws Exception
+ {
+ goToAddTemplate();
+ addEditTemplate( "", new String[] {}, new String[] {}, false );
+ assertTextPresent( "Name is required" );
+ }
+
+ @Test( dependsOnMethods = { "testAddTemplate" } )
+ public void testEditTemplate()
+ throws Exception
+ {
+ String TEMPLATE_NAME = p.getProperty( "TEMPLATE_NAME" );
+ String newName = "new_name";
+ goToEditTemplate( TEMPLATE_NAME, new String[] { "Default Maven 2 Build Definition",
+ "Default Maven 1 Build Definition" } );
+ addEditTemplate( newName, new String[] { "Default Shell Build Definition" },
+ new String[] { "Default Maven 2 Build Definition" }, true );
+ goToEditTemplate( newName, new String[] { "Default Maven 1 Build Definition",
+ "Default Shell Build Definition" } );
+ addEditTemplate( TEMPLATE_NAME, new String[] { "Default Maven 2 Build Definition" },
+ new String[] { "Default Shell Build Definition" }, true );
+ }
+
+ @Test( dependsOnMethods = { "testEditTemplate" } )
+ public void testDeleteTemplate()
+ {
+ String TEMPLATE_NAME = p.getProperty( "TEMPLATE_NAME" );
+ removeTemplate( TEMPLATE_NAME );
+ }
+
+ public void testAddBuildDefinitionTemplate()
+ throws Exception
+ {
+ String TEMPLATE_BUILD_POM_NAME = p.getProperty( "TEMPLATE_BUILD_POM_NAME" );
+ String TEMPLATE_BUILD_GOALS = p.getProperty( "TEMPLATE_BUILD_GOALS" );
+ String TEMPLATE_BUILD_ARGUMENTS = p.getProperty( "TEMPLATE_BUILD_ARGUMENTS" );
+ String TEMPLATE_BUILD_DESCRIPTION = p.getProperty( "TEMPLATE_BUILD_DESCRIPTION" );
+ goToAddBuildDefinitionTemplate();
+ addEditBuildDefinitionTemplate( TEMPLATE_BUILD_POM_NAME, TEMPLATE_BUILD_GOALS, TEMPLATE_BUILD_ARGUMENTS,
+ TEMPLATE_BUILD_DESCRIPTION, true, true, true, true );
+ }
+
+ public void testAddInvalidBuildDefinitionTemplate()
+ throws Exception
+ {
+ goToAddBuildDefinitionTemplate();
+ addEditBuildDefinitionTemplate( "", "", "", "", true, true, true, false );
+ assertTextPresent( "BuildFile is required" );
+ assertTextPresent( "Description is required" );
+ }
+
+ @Test( dependsOnMethods = { "testAddBuildDefinitionTemplate" } )
+ public void testEditBuildDefinitionTemplate()
+ throws Exception
+ {
+ String TEMPLATE_BUILD_POM_NAME = p.getProperty( "TEMPLATE_BUILD_POM_NAME" );
+ String TEMPLATE_BUILD_GOALS = p.getProperty( "TEMPLATE_BUILD_GOALS" );
+ String TEMPLATE_BUILD_ARGUMENTS = p.getProperty( "TEMPLATE_BUILD_ARGUMENTS" );
+ String TEMPLATE_BUILD_DESCRIPTION = p.getProperty( "TEMPLATE_BUILD_DESCRIPTION" );
+ goToEditBuildDefinitionTemplate(TEMPLATE_BUILD_DESCRIPTION);
+ addEditBuildDefinitionTemplate( TEMPLATE_BUILD_POM_NAME, TEMPLATE_BUILD_GOALS, TEMPLATE_BUILD_ARGUMENTS,
+ TEMPLATE_BUILD_DESCRIPTION, false, false, false, true );
+ }
+
+ @Test( dependsOnMethods = { "testEditBuildDefinitionTemplate" } )
+ public void testDeleteBuildDefinitionTemplate()
+ {
+ String TEMPLATE_BUILD_DESCRIPTION = p.getProperty( "TEMPLATE_BUILD_DESCRIPTION" );
+ removeBuildDefinitionTemplate( TEMPLATE_BUILD_DESCRIPTION );
+ }
+}
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractContinuumTest;
import org.testng.annotations.Test;
/**
@@ -166,7 +167,7 @@
assertGroupBuildDefinitionPage( TEST2_PROJ_GRP_NAME );
}
- @Test( dependsOnMethods = { "testAddMavenTwoProjectFromRemoteSourceToNonDefaultProjectGroup" } )
+ @Test( dependsOnMethods = { "testMoveProject" } )
public void testAddNotDefautltProjectBuildDefinition()
throws Exception
{
Added: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java?rev=766453&view=auto
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java (added)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java Sun Apr 19 11:46:36 2009
@@ -0,0 +1,84 @@
+package org.apache.continuum.web.test;
+
+/*
+ * 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.continuum.web.aux.test.AbstractBuildEnvironmentTest;
+import org.testng.annotations.Test;
+
+/**
+ * @author José Morales MartÃnez
+ * @version $Id$
+ */
+@Test( groups = { "buildEnvironment" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
+public class BuildEnvironmentTest
+ extends AbstractBuildEnvironmentTest
+{
+ public void testAddBuildEnvironment()
+ {
+ String BUIL_ENV_NAME = p.getProperty( "BUIL_ENV_NAME" );
+ goToAddBuildEnvironment();
+ addBuildEnvironment( BUIL_ENV_NAME, new String[] {}, true );
+ }
+
+ public void testAddInvalidBuildEnvironment()
+ {
+ goToAddBuildEnvironment();
+ addBuildEnvironment( "", new String[] {}, false );
+ assertTextPresent( "You must define a name" );
+ }
+
+ @Test( dependsOnMethods = { "testAddBuildEnvironment" } )
+ public void testEditInvalidBuildEnvironment()
+ {
+ String BUIL_ENV_NAME = p.getProperty( "BUIL_ENV_NAME" );
+ goToEditBuildEnvironment( BUIL_ENV_NAME );
+ editBuildEnvironment( "", new String[] {}, false );
+ assertTextPresent( "You must define a name" );
+ }
+
+ @Test( dependsOnMethods = { "testAddBuildEnvironment" } )
+ public void testAddDuplicatedBuildEnvironment()
+ {
+ String BUIL_ENV_NAME = p.getProperty( "BUIL_ENV_NAME" );
+ goToAddBuildEnvironment();
+ addBuildEnvironment( BUIL_ENV_NAME, new String[] {}, false );
+ assertTextPresent( "A Build Environment with the same name already exists" );
+ }
+
+ @Test( dependsOnMethods = { "testAddBuildEnvironment" } )
+ public void testEditBuildEnvironment()
+ {
+ String BUIL_ENV_NAME = p.getProperty( "BUIL_ENV_NAME" );
+ String newName = "new_name";
+ goToEditBuildEnvironment( BUIL_ENV_NAME );
+ editBuildEnvironment( newName, new String[] {}, true );
+ //TODO: ADD INSTALLATIONS TO ENVIROTMENT
+ goToEditBuildEnvironment( newName );
+ editBuildEnvironment( BUIL_ENV_NAME, new String[] {}, true );
+ }
+
+ @Test( dependsOnMethods = { "testEditInvalidBuildEnvironment", "testEditBuildEnvironment",
+ "testAddDuplicatedBuildEnvironment", "testEditInvalidBuildEnvironment" } )
+ public void testDeleteBuildEnvironment()
+ {
+ String BUIL_ENV_NAME = p.getProperty( "BUIL_ENV_NAME" );
+ removeBuildEnvironment( BUIL_ENV_NAME );
+ }
+}
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractConfigurationTest;
import org.testng.annotations.Test;
/**
@@ -27,7 +28,7 @@
*/
@Test( groups = { "configuration" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
public class ConfigurationTest
- extends AbstractContinuumTest
+ extends AbstractConfigurationTest
{
private String WORKING_DIRECTORY;
Added: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java?rev=766453&view=auto
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java (added)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java Sun Apr 19 11:46:36 2009
@@ -0,0 +1,160 @@
+package org.apache.continuum.web.test;
+
+/*
+ * 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.continuum.web.aux.test.AbstractInstallationTest;
+import org.testng.annotations.Test;
+
+/**
+ * @author José Morales MartÃnez
+ * @version $Id$
+ */
+@Test( groups = { "installation" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
+public class InstallationTest
+ extends AbstractInstallationTest
+{
+ public void testAddJdkToolWithoutBuildEnvirotment()
+ {
+ String INSTALL_TOOL_JDK_NAME = p.getProperty( "INSTALL_TOOL_JDK_NAME" );
+ String INSTALL_TOOL_JDK_PATH = p.getProperty( "INSTALL_TOOL_JDK_PATH" );
+ goToAddInstallationTool();
+ addInstallation( INSTALL_TOOL_JDK_NAME, "JDK", INSTALL_TOOL_JDK_PATH, false, true, true );
+ }
+
+ public void testAddMavenToolWithBuildEnvirotment()
+ {
+ String INTALLA_TOOL_MAVEN_NAME = p.getProperty( "INTALLA_TOOL_MAVEN_NAME" );
+ String INTALLA_TOOL_MAVEN_PATH = p.getProperty( "INTALLA_TOOL_MAVEN_PATH" );
+ goToAddInstallationTool();
+ addInstallation( INTALLA_TOOL_MAVEN_NAME, "Maven 2", INTALLA_TOOL_MAVEN_PATH, true, true, true );
+ //TODO: Validate build envirotment
+ }
+
+ public void testAddInstallationVariableWithBuildEnvirotment()
+ {
+ String INSTALL_VAR_NAME = p.getProperty( "INSTALL_VAR_NAME" );
+ String INSTALL_VAR_VARIABLE_NAME = p.getProperty( "INSTALL_VAR_VARIABLE_NAME" );
+ String INSTALL_VAR_PATH = p.getProperty( "INSTALL_VAR_PATH" );
+ goToAddInstallationVariable();
+ addInstallation( INSTALL_VAR_NAME, INSTALL_VAR_VARIABLE_NAME, INSTALL_VAR_PATH, true, false, true );
+ //TODO: Validate build envirotment
+ }
+
+ public void testAddInstallationVariableWithoutBuildEnvirotment()
+ {
+ String INSTALL_VAR_NAME = "var_without_build_envirotment";
+ String INSTALL_VAR_VARIABLE_NAME = "var_name";
+ String INSTALL_VAR_PATH = "path";
+ goToAddInstallationVariable();
+ addInstallation( INSTALL_VAR_NAME, INSTALL_VAR_VARIABLE_NAME, INSTALL_VAR_PATH, false, false, true );
+ }
+
+ public void testAddInvalidInstallationTool()
+ {
+ goToAddInstallationTool();
+ addInstallation( "", "JDK", "", false, true, false );
+ assertTextPresent( "You must define a name" );
+ assertTextPresent( "You must define a value" );
+ }
+
+ public void testAddInvalidPathInstallationTool()
+ {
+ goToAddInstallationTool();
+ addInstallation( "name", "JDK", "invalid_path", false, true, false );
+ assertTextPresent( "Failed to validate installation, check server log" );
+ }
+
+ public void testAddInvalidInstallationVariable()
+ {
+ goToAddInstallationVariable();
+ addInstallation( "", "", "", false, false, false );
+ assertTextPresent( "You must define a name" );
+ assertTextPresent( "You must define a value" );
+ }
+
+ public void testAddInvalidVarNameInstallationVariable()
+ {
+ goToAddInstallationVariable();
+ addInstallation( "name", "", "path", false, false, false );
+ assertTextPresent( "You must define an environment variable" );
+ }
+
+ @Test( dependsOnMethods = { "testAddJdkToolWithoutBuildEnvirotment" } )
+ public void testAddDuplicatedInstallationTool()
+ {
+ String INSTALL_TOOL_JDK_NAME = p.getProperty( "INSTALL_TOOL_JDK_NAME" );
+ String INSTALL_TOOL_JDK_PATH = p.getProperty( "INSTALL_TOOL_JDK_PATH" );
+ goToAddInstallationTool();
+ addInstallation( INSTALL_TOOL_JDK_NAME, "JDK", INSTALL_TOOL_JDK_PATH, false, true, false );
+ assertTextPresent( "Installation name already exists" );
+ }
+
+ @Test( dependsOnMethods = { "testAddInstallationVariableWithBuildEnvirotment" } )
+ public void testAddDuplicatedInstallationVariable()
+ {
+ String INSTALL_VAR_NAME = p.getProperty( "INSTALL_VAR_NAME" );
+ String INSTALL_VAR_VARIABLE_NAME = p.getProperty( "INSTALL_VAR_VARIABLE_NAME" );
+ String INSTALL_VAR_PATH = p.getProperty( "INSTALL_VAR_PATH" );
+ goToAddInstallationVariable();
+ addInstallation( INSTALL_VAR_NAME, INSTALL_VAR_VARIABLE_NAME, INSTALL_VAR_PATH, false, false, false );
+ assertTextPresent( "Installation name already exists" );
+ }
+
+ @Test( dependsOnMethods = { "testAddJdkToolWithoutBuildEnvirotment" } )
+ public void testEditInstallationTool()
+ {
+ String INSTALL_TOOL_JDK_NAME = p.getProperty( "INSTALL_TOOL_JDK_NAME" );
+ String INSTALL_TOOL_JDK_PATH = p.getProperty( "INSTALL_TOOL_JDK_PATH" );
+ String newName = "new_name";
+ goToEditInstallation( INSTALL_TOOL_JDK_NAME, "JDK", INSTALL_TOOL_JDK_PATH, true );
+ editInstallation( newName, "JDK", INSTALL_TOOL_JDK_PATH, true, true );
+ goToEditInstallation( newName, "JDK", INSTALL_TOOL_JDK_PATH, true );
+ editInstallation( INSTALL_TOOL_JDK_NAME, "JDK", INSTALL_TOOL_JDK_PATH, true, true );
+ }
+
+ @Test( dependsOnMethods = { "testAddInstallationVariableWithBuildEnvirotment" } )
+ public void testEditInstallationVariable()
+ {
+ String INSTALL_VAR_NAME = p.getProperty( "INSTALL_VAR_NAME" );
+ String INSTALL_VAR_VARIABLE_NAME = p.getProperty( "INSTALL_VAR_VARIABLE_NAME" );
+ String INSTALL_VAR_PATH = p.getProperty( "INSTALL_VAR_PATH" );
+ String newName = "new_name";
+ String newVarName = "new_var_name";
+ String newPath = "new_path";
+ goToEditInstallation( INSTALL_VAR_NAME, INSTALL_VAR_VARIABLE_NAME, INSTALL_VAR_PATH, false );
+ editInstallation( newName, newVarName, newPath, false, true );
+ goToEditInstallation( newName, newVarName, newPath, false );
+ editInstallation( INSTALL_VAR_NAME, INSTALL_VAR_VARIABLE_NAME, INSTALL_VAR_PATH, false, true );
+ }
+
+ @Test( dependsOnMethods = { "testEditInstallationTool", "testAddDuplicatedInstallationTool" } )
+ public void testDeleteInstallationTool()
+ {
+ String INSTALL_TOOL_JDK_NAME = p.getProperty( "INSTALL_TOOL_JDK_NAME" );
+ removeInstallation( INSTALL_TOOL_JDK_NAME );
+ }
+
+ @Test( dependsOnMethods = { "testEditInstallationVariable", "testAddDuplicatedInstallationVariable" } )
+ public void testDeleteInstallationVariable()
+ {
+ String INSTALL_VAR_NAME = p.getProperty( "INSTALL_VAR_NAME" );
+ removeInstallation( INSTALL_VAR_NAME );
+ }
+}
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractLocalRepositoryTest;
import org.testng.annotations.Test;
/**
@@ -27,7 +28,7 @@
*/
@Test( groups = { "repository" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
public class LocalRepositoriesTest
- extends AbstractContinuumTest
+ extends AbstractLocalRepositoryTest
{
public void testAddLocalRepository()
{
@@ -45,7 +46,7 @@
assertTextPresent( "You must define a local repository directory." );
}
- @Test(dependsOnMethods = {"testAddLocalRepository"})
+ @Test( dependsOnMethods = { "testAddLocalRepository" } )
public void testAddDuplicatedLocalRepository()
{
String LOCAL_REPOSITORY_NAME = p.getProperty( "LOCAL_REPOSITORY_NAME" );
@@ -56,7 +57,7 @@
assertTextPresent( "Local repository location must be unique" );
}
- @Test(dependsOnMethods = {"testAddDuplicatedLocalRepository"})
+ @Test( dependsOnMethods = { "testAddDuplicatedLocalRepository" } )
public void testEditLocalRepository()
{
String LOCAL_REPOSITORY_NAME = p.getProperty( "LOCAL_REPOSITORY_NAME" );
@@ -69,7 +70,7 @@
addEditLocalRepository( LOCAL_REPOSITORY_NAME, LOCAL_REPOSITORY_LOCATION, true );
}
- @Test(dependsOnMethods = {"testEditLocalRepository"})
+ @Test( dependsOnMethods = { "testEditLocalRepository" } )
public void testDeleteLocalRepository()
{
String LOCAL_REPOSITORY_NAME = p.getProperty( "LOCAL_REPOSITORY_NAME" );
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractContinuumTest;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
@@ -36,11 +37,11 @@
*/
@Test( groups = { "login" } )
public class LoginTest
- extends AbstractSeleniumTest
+ extends AbstractContinuumTest
{
public void testWithBadUsername()
{
- diplayLoginPage();
+ goToLoginPage();
getSelenium().type( "loginForm_username", "badUsername" );
getSelenium().type( "loginForm_username", p.getProperty( "ADMIN_PASSWORD" ) );
getSelenium().click( "loginForm__login" );
@@ -51,7 +52,7 @@
@Test( dependsOnMethods = { "testWithBadUsername" }, alwaysRun = true )
public void testWithBadPassword()
{
- diplayLoginPage();
+ goToLoginPage();
getSelenium().type( "loginForm_username", p.getProperty( "ADMIN_USERNAME" ) );
getSelenium().type( "loginForm_password", "badPassword" );
getSelenium().click( "loginForm__login" );
@@ -62,7 +63,7 @@
@Test( dependsOnMethods = { "testWithBadPassword" }, alwaysRun = true )
public void testWithEmptyUsername()
{
- diplayLoginPage();
+ goToLoginPage();
getSelenium().type( "loginForm_password", "password" );
getSelenium().click( "loginForm__login" );
getSelenium().waitForPageToLoad( maxWaitTimeInMs );
@@ -72,7 +73,7 @@
@Test( dependsOnMethods = { "testWithEmptyUsername" }, alwaysRun = true )
public void testWithEmptyPassword()
{
- diplayLoginPage();
+ goToLoginPage();
getSelenium().type( "loginForm_username", p.getProperty( "ADMIN_USERNAME" ) );
getSelenium().click( "loginForm__login" );
getSelenium().waitForPageToLoad( maxWaitTimeInMs );
@@ -82,7 +83,7 @@
@Test( groups = { "loginSuccess" }, dependsOnMethods = { "testWithEmptyPassword" }, alwaysRun = true )
public void testWithCorrectUsernamePassword()
{
- diplayLoginPage();
+ goToLoginPage();
getSelenium().type( "loginForm_username", p.getProperty( "ADMIN_USERNAME" ) );
getSelenium().type( "loginForm_password", p.getProperty( "ADMIN_PASSWORD" ) );
getSelenium().click( "loginForm__login" );
@@ -107,10 +108,4 @@
{
super.close();
}
-
- private void diplayLoginPage()
- {
- getSelenium().open( baseUrl + "/security/login.action" );
- waitPage();
- }
}
Added: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java?rev=766453&view=auto
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java (added)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java Sun Apr 19 11:46:36 2009
@@ -0,0 +1,155 @@
+package org.apache.continuum.web.test;
+
+/*
+ * 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.continuum.web.aux.test.AbstractContinuumTest;
+import org.testng.annotations.Test;
+
+/**
+ * Based on AddMavenOneProjectTestCase of Emmanuel Venisse.
+ *
+ * @author José Morales MartÃnez
+ * @version $Id$
+ */
+@Test( groups = { "mavenOneProject" }, dependsOnMethods = { "testWithCorrectUsernamePassword" })
+public class MavenOneProjectTest
+ extends AbstractContinuumTest
+{
+ /**
+ * test with valid pom url
+ */
+ public void testValidPomUrl()
+ throws Exception
+ {
+ String M1_POM_URL = p.getProperty( "M1_POM_URL" );
+ String M1_POM_USERNAME = p.getProperty( "M1_POM_USERNAME" );
+ String M1_POM_PASSWORD = p.getProperty( "M1_POM_PASSWORD" );
+ String M1_PROJ_GRP_NAME = p.getProperty( "M1_PROJ_GRP_NAME" );
+ String M1_PROJ_GRP_ID = p.getProperty( "M1_PROJ_GRP_ID" );
+ String M1_PROJ_GRP_DESCRIPTION = p.getProperty( "M1_PROJ_GRP_DESCRIPTION" );
+ // Enter values into Add Maven Two Project fields, and submit
+ goToAddMavenOneProjectPage();
+ addMavenOneProject( M1_POM_URL, M1_POM_USERNAME, M1_POM_PASSWORD, null, null, true );
+ assertProjectGroupSummaryPage( M1_PROJ_GRP_NAME, M1_PROJ_GRP_ID, M1_PROJ_GRP_DESCRIPTION );
+ }
+
+ @Test( dependsOnMethods = { "testAddProjectGroup" } )
+ public void testAddMavenOneProjectFromRemoteSourceToNonDefaultProjectGroup()
+ throws Exception
+ {
+ String TEST_PROJ_GRP_NAME = p.getProperty( "TEST_PROJ_GRP_NAME" );
+ String TEST_PROJ_GRP_ID = p.getProperty( "TEST_PROJ_GRP_ID" );
+ String TEST_PROJ_GRP_DESCRIPTION = p.getProperty( "TEST_PROJ_GRP_DESCRIPTION" );
+ String M1_POM_URL = p.getProperty( "M1_POM_URL" );
+ String M1_POM_USERNAME = p.getProperty( "M1_POM_USERNAME" );
+ String M1_POM_PASSWORD = p.getProperty( "M1_POM_PASSWORD" );
+ goToAddMavenOneProjectPage();
+ addMavenOneProject( M1_POM_URL, M1_POM_USERNAME, M1_POM_PASSWORD, TEST_PROJ_GRP_NAME, null, true );
+ assertProjectGroupSummaryPage( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
+ }
+
+ /**
+ * test with no pom file or pom url specified
+ */
+ public void testNoPomSpecified()
+ throws Exception
+ {
+ goToAddMavenOneProjectPage();
+ addMavenOneProject( "", "", "", null, null, false );
+ assertTextPresent( "Either POM URL or Upload POM is required." );
+ }
+
+ /**
+ * test with missing <repository> element in the pom file
+ */
+ public void testMissingElementInPom()
+ throws Exception
+ {
+ String M1_MISS_REPO_POM_URL = p.getProperty( "M1_MISS_REPO_POM_URL" );
+ String M1_POM_USERNAME = p.getProperty( "M1_POM_USERNAME" );
+ String M1_POM_PASSWORD = p.getProperty( "M1_POM_PASSWORD" );
+ goToAddMavenOneProjectPage();
+ addMavenOneProject( M1_MISS_REPO_POM_URL, M1_POM_USERNAME, M1_POM_PASSWORD, null, null, false );
+ assertTextPresent( "Missing 'repository' element in the POM." );
+ }
+
+ /**
+ * test with <extend> element present in pom file
+ */
+ public void testWithExtendElementPom()
+ throws Exception
+ {
+ String M1_EXTENDED_POM_URL = p.getProperty( "M1_EXTENDED_POM_URL" );
+ String M1_POM_USERNAME = p.getProperty( "M1_POM_USERNAME" );
+ String M1_POM_PASSWORD = p.getProperty( "M1_POM_PASSWORD" );
+ goToAddMavenOneProjectPage();
+ addMavenOneProject( M1_EXTENDED_POM_URL, M1_POM_USERNAME, M1_POM_PASSWORD, null, null, false );
+ assertTextPresent( "Cannot use a POM with an 'extend' element" );
+ }
+
+ /**
+ * test with unparseable xml content for pom file
+ */
+ public void testUnparseableXmlContent()
+ throws Exception
+ {
+ String M1_UNPARSEABLE_POM_URL = p.getProperty( "M1_UNPARSEABLE_POM_URL" );
+ String M1_POM_USERNAME = p.getProperty( "M1_POM_USERNAME" );
+ String M1_POM_PASSWORD = p.getProperty( "M1_POM_PASSWORD" );
+ goToAddMavenOneProjectPage();
+ addMavenOneProject( M1_UNPARSEABLE_POM_URL, M1_POM_USERNAME, M1_POM_PASSWORD, null, null, false );
+ assertTextPresent( "The XML content of the POM can not be parsed." );
+ }
+
+ /**
+ * test with a malformed pom url
+ */
+ public void testMalformedPomUrl()
+ throws Exception
+ {
+ String pomUrl = "aaa";
+ goToAddMavenOneProjectPage();
+ addMavenOneProject( pomUrl, "", "", null, null, false );
+ assertTextPresent( "The specified resource cannot be accessed. Please try again later or contact your administrator." );
+ }
+
+ /**
+ * test with an inaccessible pom url
+ */
+ public void testInaccessiblePomUrl()
+ throws Exception
+ {
+ String pomUrl = "http://www.google.com";
+ goToAddMavenOneProjectPage();
+ addMavenOneProject( pomUrl, "", "", null, null, false );
+ assertTextPresent( "POM file does not exist. Either the POM you specified or one of its modules does not exist." );
+ }
+
+ /**
+ * test cancel button
+ */
+ public void testCancelButton()
+ {
+ goToAboutPage();
+ goToAddMavenOneProjectPage();
+ clickButtonWithValue( "Cancel" );
+ assertAboutPage();
+ }
+}
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractContinuumTest;
import org.testng.annotations.Test;
/**
@@ -38,6 +39,7 @@
String M2_POM_URL = p.getProperty( "M2_POM_URL" );
String M2_POM_USERNAME = p.getProperty( "M2_POM_USERNAME" );
String M2_POM_PASSWORD = p.getProperty( "M2_POM_PASSWORD" );
+
String M2_PROJ_GRP_NAME = p.getProperty( "M2_PROJ_GRP_NAME" );
String M2_PROJ_GRP_ID = p.getProperty( "M2_PROJ_GRP_ID" );
String M2_PROJ_GRP_DESCRIPTION = p.getProperty( "M2_PROJ_GRP_DESCRIPTION" );
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MyAccountTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MyAccountTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MyAccountTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MyAccountTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractSeleniumTest;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -40,27 +41,21 @@
public void testMyAccountEdit()
throws Exception
{
- displayEditDetail();
+ clickLinkWithText( "Edit Details");
String email = getFieldValue( "user.email" );
setFieldValue( "user.fullName", newFullName );
setFieldValue( "user.email", newEmail );
submit();
getSelenium().waitForPageToLoad( maxWaitTimeInMs );
Assert.assertEquals( "Continuum - Group Summary", getTitle() );
- displayEditDetail();
+ clickLinkWithText( "Edit Details");
assertFieldValue( newFullName, "user.fullName" );
assertFieldValue( newEmail, "user.email" );
setFieldValue( "user.fullName", p.getProperty( "ADMIN_USERNAME" ) );
setFieldValue( "user.email", email );
submit();
- displayEditDetail();
+ clickLinkWithText( "Edit Details");
assertFieldValue( p.getProperty( "ADMIN_USERNAME" ), "user.fullName" );
assertFieldValue( email, "user.email" );
}
-
- private void displayEditDetail()
- {
- clickLinkWithText( "Edit Details", true );
- }
- // TODO: Validate required values
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractNotifierTest;
import org.testng.annotations.Test;
/**
@@ -27,7 +28,7 @@
*/
@Test( groups = { "notifier" }, dependsOnMethods = { "testAddMavenTwoProject" } )
public class NotifierTest
- extends AbstractContinuumTest
+ extends AbstractNotifierTest
{
public void testAddValidMailProjectNotifier()
throws Exception
@@ -595,6 +596,9 @@
goToProjectInformationPage( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
// Delete
clickLinkWithXPath( "(//a[contains(@href,'deleteProjectNotifier') and contains(@href,'mail')])//img" );
+ assertButtonWithValuePresent( "Delete" );
+ assertButtonWithValuePresent( "Cancel" );
+ clickButtonWithValue( "Delete" );
assertProjectInformationPage();
}
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractContinuumTest;
import org.testng.annotations.Test;
/**
@@ -64,21 +65,19 @@
String DEFAULT_PROJ_GRP_NAME = p.getProperty( "DEFAULT_PROJ_GRP_NAME" );
String DEFAULT_PROJ_GRP_ID = p.getProperty( "DEFAULT_PROJ_GRP_NAME" );
String DEFAULT_PROJ_GRP_DESCRIPTION = p.getProperty( "DEFAULT_PROJ_GRP_NAME" );
+ String M2_PROJ_GRP_NAME = p.getProperty( "M2_PROJ_GRP_NAME" );
+
// move the project of the test project group to the default project group
moveProjectToProjectGroup( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION,
- DEFAULT_PROJ_GRP_NAME );
- showProjectGroup( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
- assertTextNotPresent( "Member Projects" );
+ M2_PROJ_GRP_NAME, DEFAULT_PROJ_GRP_NAME );
showProjectGroup( DEFAULT_PROJ_GRP_NAME, DEFAULT_PROJ_GRP_ID, DEFAULT_PROJ_GRP_DESCRIPTION );
assertTextPresent( "Member Projects" );
- // Restore project to test test project group
+ // Restore project to test project group
moveProjectToProjectGroup( DEFAULT_PROJ_GRP_NAME, DEFAULT_PROJ_GRP_ID, DEFAULT_PROJ_GRP_DESCRIPTION,
- TEST_PROJ_GRP_NAME );
+ M2_PROJ_GRP_NAME, TEST_PROJ_GRP_NAME );
showProjectGroup( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
assertTextPresent( "Member Projects" );
- showProjectGroup( DEFAULT_PROJ_GRP_NAME, DEFAULT_PROJ_GRP_ID, DEFAULT_PROJ_GRP_DESCRIPTION );
- assertTextNotPresent( "Member Projects" );
}
public void testAddProjectGroupWithEmptyString()
@@ -124,22 +123,19 @@
String TEST2_PROJ_GRP_NAME = p.getProperty( "TEST2_PROJ_GRP_NAME" );
String TEST2_PROJ_GRP_ID = p.getProperty( "TEST2_PROJ_GRP_ID" );
String TEST2_PROJ_GRP_DESCRIPTION = p.getProperty( "TEST2_PROJ_GRP_DESCRIPTION" );
-
- // TODO: BUG: Operations Result is a blank page
- //editProjectGroup( TEST2_PROJ_GRP_NAME, TEST2_PROJ_GRP_ID, TEST2_PROJ_GRP_DESCRIPTION, "",
- // TEST2_PROJ_GRP_DESCRIPTION + "_2" );
- //assertTextPresent( "Project Group Name required." );
+ editProjectGroup( TEST2_PROJ_GRP_NAME, TEST2_PROJ_GRP_ID, TEST2_PROJ_GRP_DESCRIPTION, " ",
+ TEST2_PROJ_GRP_DESCRIPTION);
+ assertTextPresent( "Project Group Name cannot contain spaces only" );
}
- @Test( dependsOnMethods = { "testAddMavenTwoProjectFromRemoteSourceToNonDefaultProjectGroup" } )
+ @Test( dependsOnMethods = { "testAddMavenTwoProject" } )
public void testProjectGroupAllBuildSuccess()
throws Exception
- {
- String TEST_PROJ_GRP_NAME = p.getProperty( "TEST_PROJ_GRP_NAME" );
- String TEST_PROJ_GRP_ID = p.getProperty( "TEST_PROJ_GRP_ID" );
- String TEST_PROJ_GRP_DESCRIPTION = p.getProperty( "TEST_PROJ_GRP_DESCRIPTION" );
-
- buildProjectGroup( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
+ {
+ String M2_PROJ_GRP_NAME = p.getProperty( "M2_PROJ_GRP_NAME" );
+ String M2_PROJ_GRP_ID = p.getProperty( "M2_PROJ_GRP_ID" );
+ String M2_PROJ_GRP_DESCRIPTION = p.getProperty( "M2_PROJ_GRP_DESCRIPTION" );
+ buildProjectGroup( M2_PROJ_GRP_NAME, M2_PROJ_GRP_ID, M2_PROJ_GRP_DESCRIPTION, M2_PROJ_GRP_NAME );
clickButtonWithValue( "Release" );
assertReleaseSuccess();
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractPurgeTest;
import org.testng.annotations.Test;
/**
@@ -27,7 +28,7 @@
*/
@Test( groups = { "purge" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
public class PurgeTest
- extends AbstractContinuumTest
+ extends AbstractPurgeTest
{
public void testAddRepositoryPurge()
{
@@ -106,7 +107,4 @@
String PURGE_DIRECTORY_DESCRIPTION = p.getProperty( "PURGE_DIRECTORY_DESCRIPTION" );
removeDirectoryPurge( PURGE_DIRECTORY_DESCRIPTION );
}
- /*
- * public void testPurge(){ goToGeneralPurgePage(); clickImgWithAlt( "Purge" ); assertGeneralPurgePage(); }
- */
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractBuildQueueTest;
import org.testng.annotations.Test;
/**
@@ -27,7 +28,7 @@
*/
@Test( groups = { "queue" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
public class QueueTest
- extends AbstractContinuumTest
+ extends AbstractBuildQueueTest
{
public void testAddBuildQueue()
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java?rev=766453&r1=766452&r2=766453&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java Sun Apr 19 11:46:36 2009
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.web.aux.test.AbstractScheduleTest;
import org.testng.annotations.Test;
/**
@@ -27,7 +28,7 @@
*/
@Test( groups = { "schedule" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
public class ScheduleTest
- extends AbstractContinuumTest
+ extends AbstractScheduleTest
{
public void testAddSchedule()
{
@@ -60,7 +61,6 @@
@Test( dependsOnMethods = { "testAddSchedule" } )
public void testAddDuplicatedSchedule()
{
- // TODO: Wait for schedule.buildqueues.add.error
String SCHEDULE_NAME = p.getProperty( "SCHEDULE_NAME" );
String SCHEDULE_DESCRIPTION = p.getProperty( "SCHEDULE_DESCRIPTION" );
String SCHEDULE_EXPR_SECOND = p.getProperty( "SCHEDULE_EXPR_SECOND" );
@@ -76,7 +76,7 @@
addEditSchedule( SCHEDULE_NAME, SCHEDULE_DESCRIPTION, SCHEDULE_EXPR_SECOND, SCHEDULE_EXPR_MINUTE,
SCHEDULE_EXPR_HOUR, SCHEDULE_EXPR_DAY_MONTH, SCHEDULE_EXPR_MONTH, SCHEDULE_EXPR_DAY_WEEK,
SCHEDULE_EXPR_YEAR, SCHEDULE_MAX_TIME, SCHEDULE_PERIOD, false );
- assertTextPresent( "schedule.buildqueues.add.error" );
+ assertTextPresent( "A Schedule with the same name already exists" );
}
@Test( dependsOnMethods = { "testAddDuplicatedSchedule" } )
Added: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java?rev=766453&view=auto
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java (added)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java Sun Apr 19 11:46:36 2009
@@ -0,0 +1,80 @@
+package org.apache.continuum.web.test;
+
+/*
+ * 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.continuum.web.aux.test.AbstractContinuumTest;
+import org.testng.annotations.Test;
+
+/**
+ * Based on AddShellProjectTestCase of Emmanuel Venisse.
+ *
+ * @author José Morales MartÃnez
+ * @version $Id$
+ */
+@Test( groups = { "shellProject" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
+public class ShellProjectTest
+ extends AbstractContinuumTest
+{
+ public void testAddShellProject()
+ throws Exception
+ {
+ String SHELL_NAME = p.getProperty( "SHELL_NAME" );
+ String SHELL_DESCRIPTION = p.getProperty( "SHELL_DESCRIPTION" );
+ String SHELL_VERSION = p.getProperty( "SHELL_VERSION" );
+ String SHELL_TAG = p.getProperty( "SHELL_TAG" );
+ String SHELL_SCM_URL = p.getProperty( "SHELL_SCM_URL" );
+ String SHELL_SCM_USERNAME = p.getProperty( "SHELL_SCM_USERNAME" );
+ String SHELL_SCM_PASSWORD = p.getProperty( "SHELL_SCM_PASSWORD" );
+ String DEFAULT_PROJ_GRP_NAME = p.getProperty( "DEFAULT_PROJ_GRP_NAME" );
+ String DEFAULT_PROJ_GRP_ID = p.getProperty( "DEFAULT_PROJ_GRP_ID" );
+ String DEFAULT_PROJ_GRP_DESCRIPTION = p.getProperty( "DEFAULT_PROJ_GRP_DESCRIPTION" );
+ goToAddShellProjectPage();
+ addProject( SHELL_NAME, SHELL_DESCRIPTION, SHELL_VERSION, SHELL_SCM_URL, SHELL_SCM_USERNAME,
+ SHELL_SCM_PASSWORD, SHELL_TAG, false, DEFAULT_PROJ_GRP_NAME, null, true );
+ assertProjectGroupSummaryPage( DEFAULT_PROJ_GRP_NAME, DEFAULT_PROJ_GRP_ID, DEFAULT_PROJ_GRP_DESCRIPTION );
+ }
+
+ public void testSubmitEmptyForm()
+ {
+ goToAddShellProjectPage();
+ submit();
+ assertAddProjectPage( "shell" );
+ assertTextPresent( "Name is required and cannot contain null or spaces only" );
+ assertTextPresent( "Version is required and cannot contain null or spaces only" );
+ assertTextPresent( "SCM Url is required and cannot contain null or spaces only" );
+ }
+
+ @Test(dependsOnMethods = {"testAddShellProject"})
+ public void testAddDupliedShellProject()
+ throws Exception
+ {
+ String SHELL_NAME = p.getProperty( "SHELL_NAME" );
+ String SHELL_DESCRIPTION = p.getProperty( "SHELL_DESCRIPTION" );
+ String SHELL_VERSION = p.getProperty( "SHELL_VERSION" );
+ String SHELL_TAG = p.getProperty( "SHELL_TAG" );
+ String SHELL_SCM_URL = p.getProperty( "SHELL_SCM_URL" );
+ String SHELL_SCM_USERNAME = p.getProperty( "SHELL_SCM_USERNAME" );
+ String SHELL_SCM_PASSWORD = p.getProperty( "SHELL_SCM_PASSWORD" );
+ goToAddShellProjectPage();
+ addProject( SHELL_NAME, SHELL_DESCRIPTION, SHELL_VERSION, SHELL_SCM_URL, SHELL_SCM_USERNAME,
+ SHELL_SCM_PASSWORD, SHELL_TAG, false, null, null, false );
+ assertTextPresent( "Project name already exist" );
+ }
+}
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain