To remove the Cargo installations and re-download them next run, use:
- mvn -Pclean-cargo clean
-For the default values in the scripts, to pass all the tests, you need to add an artifact in internal repository.
+Internet Explorer and Safari users must disable their popup blockers. Using *iexplore as
+the browser requires running as an Administrator on Windows 7/Vista, or alternatively you
+can use *iexploreproxy.
Run Selenium tests in src/test/it with Maven and JUnit
- mvn clean install -f junit-pom.xml
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <suiteXmlFiles>
- <suiteXmlFile>src/test/testng/config/testng.xml</suiteXmlFile>
- </suiteXmlFiles>
+ <properties>
+ <!--
+ Use this instead of suiteXmlFiles so that we can add the exclusion, as it is only accepted without suiteXmlFiles
+ -->
+ <property>
+ <name>listener</name>
+ <value>org.apache.archiva.web.test.listener.CaptureScreenShotsListener</value>
+ </property>
+ <property>
+ <name>excludegroups</name>
+ <!-- Exclude on all browsers but Firefox, as it is the only one that Selenium supports file uploads on -->
+ <value>${excluded.groups}</value>
+ </property>
+ </properties>
</configuration>
<executions>
<execution>
<name>browser</name>
<value>${selenium.browser}</value>
</property>
- <property>
+ <property>
<name>baseUrl</name>
<value>${baseUrl}</value>
</property>
</activation>
<properties>
<selenium.browser>*firefox</selenium.browser>
+ <excluded.groups />
</properties>
</profile>
<profile>
</activation>
<properties>
<selenium.browser>*iexplore</selenium.browser>
+ <excluded.groups>requiresUpload</excluded.groups>
</properties>
</profile>
<profile>
</activation>
<properties>
<selenium.browser>*safari</selenium.browser>
+ <excluded.groups>requiresUpload</excluded.groups>
</properties>
</profile>
<profile>
</activation>
<properties>
<selenium.browser>*custom ${browserPath}</selenium.browser>
+ <excluded.groups>requiresUpload</excluded.groups>
</properties>
</profile>
<profile>
<configuration>
<localRepository></localRepository>
+ <webapp>
+ <ui>
+ <appletFindEnabled>false</appletFindEnabled>
+ </ui>
+ </webapp>
</configuration>
SNAPSHOT_ARTIFACTID=archiva-test
SNAPSHOT_VERSION=1.0-SNAPSHOT
SNAPSHOT_PACKAGING=jar
-SNAPSHOT_ARTIFACTFILEPATH=test
+SNAPSHOT_ARTIFACTFILEPATH=src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar
SNAPSHOT_REPOSITORYID=snapshots
# REPOSITORIES
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
-<!--
-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.
--->
-
-<suite name="ArchivaTest" verbose="1">
- <listeners>
- <listener class-name="org.apache.archiva.web.test.listener.CaptureScreenShotsListener"/>
- </listeners>
-
- <test name="AdminTest" enabled="true">
- <groups>
- <run>
- <include name="about" />
- <include name= "login" />
- <include name= "userroles" />
- <include name= "reposcan" />
- <include name= "artifactmanagement" />
- <include name= "search" />
- <include name= "auditlogsreport" />
- <include name= "browse" />
- <include name= "reports" />
- <include name= "virtualrepository" />
- <include name= "networkproxies" />
- <include name= "repository" />
- <include name= "appearance" />
- <include name= "findartifact" />
- <include name= "legacysupport" />
- <include name= "database" />
- </run>
- </groups>
- <packages>
- <package name="org.apache.archiva.web.test" />
- </packages>
- </test>
-</suite>
String username = getProperty( "ADMIN_USERNAME" );
String mail = getProperty( "ADMIN_EMAIL" );
String password = getProperty( "ADMIN_PASSWORD" );
- submitAdminData( fullname, mail, password );
- assertAuthenticatedPage( username );
+ submitAdminData( fullname, mail, password );
+ assertUserLoggedIn( username );
submit();
clickLinkWithText( "Logout" );
}
assertTextPresent( "Please add a file to upload." );
}
- @Test( enabled = false )
+ @Test(groups = "requiresUpload")
public void testAddArtifactValidValues()
{
- // TODO: disable test on non *chrome browsers, there is no way to do file uploads (SEL-63)
addArtifact( getGroupId() , "testAddArtifactValidValues", getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() );
- assertTextPresent( "Artifact 'test:test:1.0' was successfully deployed to repository 'internal'" );
+ assertTextPresent( "Artifact 'test:testAddArtifactValidValues:1.0' was successfully deployed to repository 'internal'" );
}
//MRM-747
- @Test( enabled = false )
+ @Test(groups = "requiresUpload")
public void testAddArtifactBlockRedeployments()
{
- // TODO: disable test on non *chrome browsers, there is no way to do file uploads (SEL-63)
addArtifact( getGroupId() , getArtifactId(), getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() );
assertTextPresent( "Overwriting released artifacts in repository '" + getRepositoryId() + "' is not allowed." );
}
- @Test( enabled = false )
+ @Test(groups = "requiresUpload")
public void testDeleteArtifact()
{
//prep
}
// TODO: add test for adding via WebDAV
- // TODO: disable if not running on *chrome
- @Test (dependsOnMethods = { "testAddArtifactValidValues" }, enabled = false )
+ @Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload")
public void testViewAuditLogsDataFound()
{
goToAuditLogReports();
assertAuditLogsReportPage();
assertTextPresent( "Results" );
assertTextNotPresent( "No audit logs found." );
- assertTextPresent( "test-1.0.jar" );
+ assertTextPresent( "testAddArtifactValidValues-1.0.jar" );
assertTextPresent( "Uploaded File" );
assertTextPresent( "internal" );
assertTextPresent( "admin" );
}
// TODO: add test for adding via WebDAV
- // TODO: disable if not running on *chrome
- @Test (dependsOnMethods = { "testAddArtifactValidValues" }, enabled = false )
+ @Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload")
public void testViewAuditLogsOnlyArtifactIdIsSpecified()
{
goToAuditLogReports();
submit();
assertAuditLogsReportPage();
- assertTextPresent( "Results" );
+ assertTextPresent( "If you specify an artifact ID, you must specify a group ID" );
+ assertTextNotPresent( "Results" );
assertTextNotPresent( "No audit logs found." );
- assertTextPresent( "test-1.0.jar" );
- assertTextPresent( "Uploaded File" );
- assertTextPresent( "internal" );
- assertTextPresent( "admin" );
+ assertTextNotPresent( "testAddArtifactValidValues-1.0.jar" );
+ assertTextNotPresent( "Uploaded File" );
}
// TODO: add test for adding via WebDAV
- // TODO: disable if not running on *chrome
- @Test (dependsOnMethods = { "testAddArtifactValidValues" }, enabled = false )
+ @Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload")
public void testViewAuditLogsForAllRepositories()
{
goToAuditLogReports();
assertAuditLogsReportPage();
assertTextPresent( "Results" );
assertTextNotPresent( "No audit logs found." );
- assertTextPresent( "test-1.0.jar" );
+ assertTextPresent( "testAddArtifactValidValues-1.0.jar" );
assertTextPresent( "Uploaded File" );
assertTextPresent( "internal" );
assertTextPresent( "admin" );
}
- @Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, enabled = false )
+ @Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, groups = "requiresUpload")
public void testViewAuditLogsViewAuditEventsForManageableRepositoriesOnly()
{
String groupId = getProperty( "SNAPSHOT_GROUPID" );
clickLinkWithText( "Logout" );
- login( getProperty( "REPOMANAGER_INTERNAL_USERNAME" ), getUserRolePassword() );
- goToAuditLogReports();
+ login( getProperty( "REPOMANAGER_INTERNAL_USERNAME" ), getUserRoleNewPassword() );
+
+ goToAuditLogReports();
assertAuditLogsReportPage();
-
+
selectValue( "repository", "all" );
submit();
-
+
assertAuditLogsReportPage();
assertTextPresent( "Results" );
assertTextNotPresent( "No audit logs found." );
- assertTextPresent( "test-1.0.jar" );
+ assertTextPresent( "testAddArtifactValidValues-1.0.jar" );
assertTextPresent( "Uploaded File" );
assertTextPresent( "internal" );
assertTextPresent( "admin" );
-
+
assertTextNotPresent( artifactId + "-" + version + "." + packaging );
-
clickLinkWithText( "Logout" );
login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) );
}
}
// MRM-1278
- @Test( enabled = false )
+ @Test(groups = {"requiresUpload"})
public void testCorrectRepositoryInBrowse()
{
- File artifact =
- new File( getBasedir(),
- "/src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar" );
-
String releasesRepo = getProperty( "RELEASES_REPOSITORY" );
// create releases repository first
String snapshotsRepo = getProperty( "SNAPSHOTS_REPOSITORY" );
+ String path = "src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar";
// TODO: do this differently as uploading doesn't work on browsers other than *chrome (below as well)
// upload a snapshot artifact to repository 'releases'
- addArtifact( "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar", artifact.getPath(),
- releasesRepo );
+ addArtifact( "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar", path, releasesRepo );
assertTextPresent( "Artifact 'archiva:archiva-webapp:1.0-SNAPSHOT' was successfully deployed to repository '" + releasesRepo + "'" );
goToBrowsePage();
assertArtifactInfoPage( "1.0-SNAPSHOT/", releasesRepo, "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar" );
// upload a snapshot artifact to repository 'snapshots'
- addArtifact( "continuum", "continuum-core", "1.0-SNAPSHOT", "jar", artifact.getPath(),
- snapshotsRepo );
+ addArtifact( "continuum", "continuum-core", "1.0-SNAPSHOT", "jar", path, snapshotsRepo );
assertTextPresent( "Artifact 'continuum:continuum-core:1.0-SNAPSHOT' was successfully deployed to repository '" + snapshotsRepo + "'" );
goToBrowsePage();
clickButtonWithValue( "Search" );
assertTextPresent( "No results found" );
}
+
+ // TODO: test using file upload on Firefox versions that support getAsBinary (ie, no applet)
}
createUser( username, fullname, getUserEmail(), getUserRolePassword(), true);
deleteUser( username, fullname, getUserEmail() );
- clickLinkWithText( "Logout" );
- login( getAdminUsername() , getAdminPassword() );
+ logout();
+ login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testBasicAddDeleteUser" } )
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
-
- clickLinkWithText("Logout");
- login(username, getUserRolePassword());
+
+ logout();
+ login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
- clickLinkWithText("Logout");
- //assertTextPresent("You are already logged in.");
+ logout();
+ //assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
- clickLinkWithText("Logout");
- login( getAdminUsername() , getAdminPassword() );
+ logout();
+ login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithGuestRole" } )
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
-
- clickLinkWithText("Logout");
- login(username, getUserRolePassword());
+
+ logout();
+ login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
- clickLinkWithText("Logout");
- //assertTextPresent("You are already logged in.");
+ logout();
+ //assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
- clickLinkWithText("Logout");
- login( getAdminUsername() , getAdminPassword() );
+ logout();
+ login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithRegisteredUserRole" } )
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
-
- clickLinkWithText("Logout");
- login(username, getUserRolePassword());
+
+ logout();
+ login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
- clickLinkWithText("Logout");
- //assertTextPresent("You are already logged in.");
+ logout();
+ //assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
- clickLinkWithText("Logout");
- login( getAdminUsername() , getAdminPassword() );
+ logout();
+ login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithSysAdminUserRole" } )
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
-
- clickLinkWithText("Logout");
- login(username, getUserRolePassword());
+
+ logout();
+ login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
- clickLinkWithText("Logout");
- //assertTextPresent("You are already logged in.");
+ logout();
+ //assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
- clickLinkWithText("Logout");
- login( getAdminUsername() , getAdminPassword() );
+ logout();
+ login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithUserAdminUserRole" } )
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
-
- clickLinkWithText("Logout");
- login(username, getUserRolePassword());
+
+ logout();
+ login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
- clickLinkWithText("Logout");
- //assertTextPresent("You are already logged in.");
+ logout();
+ //assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
- clickLinkWithText("Logout");
- login( getAdminUsername() , getAdminPassword() );
+ logout();
+ login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithGlobalRepoManagerRole" } )
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
-
- clickLinkWithText("Logout");
- login(username, getUserRolePassword());
+
+ logout();
+ login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
- clickLinkWithText("Logout");
- //assertTextPresent("You are already logged in.");
+ logout();
+ //assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
- clickLinkWithText("Logout");
- login( getAdminUsername() , getAdminPassword() );
+ logout();
+ login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithGlobalRepoObserverRole" } )
clickLinkWithText( "Edit Roles" );
checkResourceRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
-
- clickLinkWithText("Logout");
- login(username, getUserRolePassword());
+
+ logout();
+ login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
- clickLinkWithText("Logout");
- //assertTextPresent("You are already logged in.");
+ logout();
+ //assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
- clickLinkWithText("Logout");
- login( getAdminUsername() , getAdminPassword() );
+ logout();
+ login( getAdminUsername() , getAdminPassword() );
}
/*@Test (dependsOnMethods = { "testUserWithRepoManagerInternalRole" } )
clickLinkWithText( "Edit Roles" );
checkResourceRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
-
- clickLinkWithText("Logout");
- login(username, getUserRolePassword());
+
+ logout();
+ login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
- clickLinkWithText("Logout");
- //assertTextPresent("You are already logged in.");
+ logout();
+ //assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
- clickLinkWithText("Logout");
- login( getAdminUsername() , getAdminPassword() );
+ logout();
+ login( getAdminUsername() , getAdminPassword() );
}
-
- /*@Test (dependsOnMethods = { "testUserWithRepoObserverInternalRole" } )
- public void testUserWithRepoObserverSnapshotsRole()
- {
- username = getProperty( "REPOOBSERVER_SNAPSHOTS_USERNAME" );
- fullname = getProperty( "REPOOBSERVER_SNAPSHOTS_FULLNAME" );
-
- createUser(username, fullname, getUserEmail(), getUserRolePassword(), true);
- clickLinkWithText( username );
- clickLinkWithText( "Edit Roles" );
- checkResourceRoleWithValue( fullname );
- clickButtonWithValue( "Submit" );
-
- clickLinkWithText("Logout");
- login(username, getUserRolePassword());
- changePassword( getUserRolePassword(), getUserRoleNewPassword());
-
- // this section will be removed if issue from redback after changing password will be fixed.
- getSelenium().goBack();
- clickLinkWithText("Logout");
- //assertTextPresent("You are already logged in.");
-
- login(username, getUserRoleNewPassword());
- assertLeftNavMenuWithRole( fullname );
- clickLinkWithText("Logout");
- login( getAdminUsername() , getAdminPassword() );
- }*/
+
+ /*@Test (dependsOnMethods = { "testUserWithRepoObserverInternalRole" } )
+ public void testUserWithRepoObserverSnapshotsRole()
+ {
+ username = getProperty( "REPOOBSERVER_SNAPSHOTS_USERNAME" );
+ fullname = getProperty( "REPOOBSERVER_SNAPSHOTS_FULLNAME" );
+
+ createUser(username, fullname, getUserEmail(), getUserRolePassword(), true);
+ clickLinkWithText( username );
+ clickLinkWithText( "Edit Roles" );
+ checkResourceRoleWithValue( fullname );
+ clickButtonWithValue( "Submit" );
+
+ clickLinkWithText("Logout");
+ login(username, getUserRolePassword());
+ changePassword( getUserRolePassword(), getUserRoleNewPassword());
+
+ // this section will be removed if issue from redback after changing password will be fixed.
+ getSelenium().goBack();
+ clickLinkWithText("Logout");
+ //assertTextPresent("You are already logged in.");
+
+ login(username, getUserRoleNewPassword());
+ assertLeftNavMenuWithRole( fullname );
+ clickLinkWithText("Logout");
+ login( getAdminUsername() , getAdminPassword() );
+ }*/
}
{
selenium.windowMaximize();
File fileName = new File( targetPath, fileBaseName + ".png" );
- selenium.captureEntirePageScreenshot( fileName.getAbsolutePath(), "" );
+ selenium.captureEntirePageScreenshot( fileName.getAbsolutePath(), "background=#FFFFFF" );
}
catch ( RuntimeException e )
{
package org.apache.archiva.web.test.parent;
import java.io.File;
+import java.io.IOException;
import org.apache.archiva.web.test.XPathExpressionUtil;
submit();
if ( success )
{
- assertAuthenticatedPage( username );
- }
+ assertUserLoggedIn( username );
+ }
else
{
assertLoginPage();
assertTextPresent( "Need an Account? Register!" );
assertTextPresent( "Forgot your Password? Request a password reset." );
}
-
- public void assertAuthenticatedPage( String username )
- {
- assertTextPresent( "Current User" );
- assertTextPresent( "Edit Details" );
- assertTextPresent( "Logout" );
- assertTextNotPresent( "Login" );
- assertTextPresent( username );
- }
-
-
- //User Management
+
+ //User Management
public void goToUserManagementPage()
{
clickLinkWithText( "User Management" );
submitLoginPage( username, password, false, valid, assertReturnPage );
}
+ if ( valid )
+ {
+ assertUserLoggedIn( username );
+ }
}
public void submitLoginPage( String username, String password )
if ( validUsernamePassword )
{
- assertTextPresent( "Current User:" );
- assertTextPresent( username );
- assertLinkPresent( "Edit Details" );
- assertLinkPresent( "Logout" );
+ assertUserLoggedIn( username );
}
else
{
}
}
}
-
- // User Roles
+
+ protected void assertUserLoggedIn( String username )
+ {
+ assertTextPresent( "Current User:" );
+ assertTextPresent( username );
+ assertLinkPresent( "Edit Details" );
+ assertLinkPresent( "Logout" );
+ assertTextNotPresent( "Login" );
+ }
+
+ // User Roles
public void assertUserRoleCheckBoxPresent(String value)
{
getSelenium() .isElementPresent("xpath=//input[@id='addRolesToUser_addNDSelectedRoles' and @name='addNDSelectedRoles' and @value='" + value + "']");
assertPage( "Apache Archiva \\ Find Artifact" );
assertTextPresent( "Find Artifact" );
assertTextPresent( "Search for:" );
- assertElementPresent( "f" );
assertTextPresent( "Checksum:" );
assertElementPresent( "q" );
assertButtonWithValuePresent( "Search" );
- assertTextPresent( "This allows you to search the repository using the checksum of an artifact that you are trying to identify. You can either specify the checksum to look for directly, or scan a local artifact file." );
}
//Appearance
checkField( "generatePom" );
}
- setFieldValue( "artifact", artifactFilePath );
+ String path;
+ if ( artifactFilePath != null && artifactFilePath.trim().length() > 0 )
+ {
+ File f = new File( artifactFilePath );
+ try
+ {
+ path = f.getCanonicalPath();
+ }
+ catch ( IOException e )
+ {
+ path = f.getAbsolutePath();
+ }
+ }
+ else
+ {
+ path = artifactFilePath;
+ }
+
+ setFieldValue( "artifact", path );
setFieldValue( "repositoryId", repositoryId );
clickButtonWithValue( "Submit" );
//TODO
clickButtonWithValue( "Add Repository" );
}
+
+ protected void logout()
+ {
+ clickLinkWithText("Logout");
+ assertTextNotPresent( "Current User:" );
+ assertLinkNotPresent( "Edit Details" );
+ assertLinkNotPresent( "Logout" );
+ assertLinkPresent( "Login" );
+ }
}
package org.apache.archiva.web.test.parent;
-import java.io.File;
-
-public abstract class AbstractArtifactManagementTest
+public abstract class AbstractArtifactManagementTest
extends AbstractArchivaTest
{
public String getArtifactFilePath()
{
- File f = new File( "" );
- String artifactFilePath = f.getAbsolutePath();
- return artifactFilePath + "/src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar" ;
+ return "src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar";
}
public String getRepositoryId()
public void goToDeleteArtifactPage()
{
+ login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) );
clickLinkWithText( "Delete Artifact" );
assertDeleteArtifactPage();
}
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import java.util.Map.Entry;
-
-import org.apache.commons.io.IOUtils;
-import org.testng.Assert;
+import java.util.Properties;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
+import org.apache.commons.io.IOUtils;
+import org.testng.Assert;
/**
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
public void assertLinkPresent( String text )
{
- Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isî't present." );
+ Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isn't present." );
}
public void assertLinkNotPresent( String text )