Author: oching
Date: Fri Nov 20 03:31:19 2009
New Revision: 882399
URL: http://svn.apache.org/viewvc?rev=882399&view=rev
Log:
[MRM-1278] Wrong repository displayed in Archiva browse
o added selenium test that uploads SNAPSHOT artifacts in releases and snapshots
repositories and checks artifact info page for correct artifact information
o refactored upload artifact methos in AbstractManagementTest, moved them over
to AbstractArchivaTest to avoid repetition in other tests that uses it
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/VirtualRepositoryTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties?rev=882399&r1=882398&r2=882399&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
Fri Nov 20 03:31:19 2009
@@ -95,3 +95,7 @@
NETWORKPROXY_PORT=8080
NETWORKPROXY_USERNAME=admin
NETWORKPROXY_PASSWORD=admin123
+
+# Browse - MRM-1278 test
+SNAPSHOTS_REPOSITORY=snapshots
+RELEASES_REPOSITORY=releases
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java?rev=882399&r1=882398&r2=882399&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java
Fri Nov 20 03:31:19 2009
@@ -19,6 +19,8 @@
* under the License.
*/
+import java.io.File;
+
import org.apache.archiva.web.test.parent.AbstractBrowseTest;
import org.testng.annotations.Test;
@@ -42,4 +44,72 @@
assertTextPresent( "Artifacts" );
}
+ // MRM-1278
+ 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"
);
+
//"src/test/it-resources/foo-bar-1.0-20091110.181459-4.jar" );
+
+ String releasesRepo = getProperty( "RELEASES_REPOSITORY" );
+
+ // create releases repository first
+ goToRepositoriesPage();
+ clickLinkWithText( "Add" );
+ addManagedRepository( getProperty( "RELEASES_REPOSITORY" ), "Releases
Repository",
+ new File( getBasedir(),
"target/repository/releases" ).getPath(), "", "Maven 2.x Repository",
+ "0 0 * * * ?", "", "" );
+ assertTextPresent( "Releases Repository" );
+
+ String snapshotsRepo = getProperty( "SNAPSHOTS_REPOSITORY" );
+
+ // upload a snapshot artifact to repository 'releases'
+ addArtifact( "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar",
artifact.getPath(),
+ releasesRepo );
+ assertTextPresent( "Artifact 'archiva:archiva-webapp:1.0-SNAPSHOT' was
successfully deployed to repository '" + releasesRepo + "'" );
+
+ goToBrowsePage();
+ assertBrowsePage();
+ assertGroupsPage( "archiva/" );
+ assertArtifactsPage( "archiva-webapp/" );
+ 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 );
+ assertTextPresent( "Artifact 'continuum:continuum-core:1.0-SNAPSHOT'
was successfully deployed to repository '" + snapshotsRepo + "'" );
+
+ goToBrowsePage();
+ assertBrowsePage();
+ assertGroupsPage( "continuum/" );
+ assertArtifactsPage( "continuum-core/" );
+ assertArtifactInfoPage( "1.0-SNAPSHOT/", snapshotsRepo, "continuum",
"continuum-core", "1.0-SNAPSHOT", "jar" );
+ }
+
+ private void assertArtifactInfoPage( String version, String
artifactInfoRepositoryId, String artifactInfoGroupId,
+ String artifactInfoArtifactId, String
artifactInfoVersion, String artifactInfoPackaging )
+ {
+ clickLinkWithText( version );
+ assertPage( "Apache Archiva \\ Browse Repository" );
+ assertTextPresent( artifactInfoRepositoryId );
+ assertTextPresent( artifactInfoGroupId );
+ assertTextPresent( artifactInfoArtifactId );
+ assertTextPresent( artifactInfoVersion );
+ assertTextPresent( artifactInfoPackaging );
+ }
+
+ private void assertArtifactsPage( String artifactId )
+ {
+ clickLinkWithText( artifactId );
+ assertPage( "Apache Archiva \\ Browse Repository" );
+ assertTextPresent( "Versions" );
+ }
+
+ private void assertGroupsPage( String groupId )
+ {
+ clickLinkWithText( groupId );
+ assertPage( "Apache Archiva \\ Browse Repository" );
+ assertTextPresent( "Artifacts" );
+ }
}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java?rev=882399&r1=882398&r2=882399&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java
Fri Nov 20 03:31:19 2009
@@ -30,18 +30,18 @@
public void testAddManagedRepoValidValues()
{
goToRepositoriesPage();
- clickLinkWithText( "Add" );
+ clickLinkWithLocator(
"//d...@id='contentArea']/div/div/a...@href='/archiva/admin/addRepository.action']"
);
addManagedRepository( "managedrepo1", "Managed Repository
Sample 1" , getRepositoryDir() + "repository/" , "", "Maven 2.x Repository", "0
0 * * * ?", "", "" );
clickButtonWithValue( "Save" );
- assertTextPresent( "Managed Repository Sample 1" );
-
+ assertTextPresent( "Managed Repository Sample 1" );
+ assertRepositoriesPage();
}
-
+
@Test(dependsOnMethods = { "testAddManagedRepoValidValues" } )
public void testAddManagedRepoInvalidValues()
- {
- //goToRepositoriesPage();
- clickLinkWithText( "Add" );
+ {
+ assertRepositoriesPage();
+ clickLinkWithLocator(
"//d...@id='contentArea']/div/div/a...@href='/archiva/admin/addRepository.action']"
);
addManagedRepository( "", "" , "" , "", "Maven 2.x Repository",
"", "", "" );
assertTextPresent( "You must enter a repository identifier." );
assertTextPresent( "You must enter a repository name." );
@@ -51,8 +51,7 @@
@Test(dependsOnMethods = { "testAddManagedRepoInvalidValues" } )
public void testAddManagedRepoNoIdentifier()
- {
- //goToRepositoriesPage();
+ {
addManagedRepository( "", "name" , "/home" , "/.index", "Maven
2.x Repository", "0 0 * * * ?", "", "" );
assertTextPresent( "You must enter a repository identifier." );
}
@@ -104,11 +103,10 @@
//assertTextNotPresent( "managedrepo" );
}
- @Test(dependsOnMethods = { "testAddManagedRepoValidValues" } )
+ @Test(dependsOnMethods = { "testAddRemoteRepoValidValues" } )
public void testAddRemoteRepoNullValues()
- {
- //goToRepositoriesPage();
- clickLinkWithLocator( "//d...@id='contentArea']/div/div[5]/a" );
+ {
+ clickLinkWithLocator(
"//d...@id='contentArea']/div/div/a...@href='/archiva/admin/addRemoteRepository.action']"
);
addRemoteRepository( "" , "" , "" , "" , "" , "" , "Maven 2.x
Repository" );
assertTextPresent( "You must enter a repository identifier." );
assertTextPresent( "You must enter a repository name." );
@@ -136,11 +134,10 @@
assertTextPresent( "You must enter a url." );
}
- @Test(dependsOnMethods = { "testAddManagedRepoValidValues" } )
+ @Test(dependsOnMethods = { "testDeleteManageRepo" } )
public void testAddRemoteRepoValidValues()
- {
- goToRepositoriesPage();
- clickLinkWithLocator( "//d...@id='contentArea']/div/div[5]/a" );
+ {
+ clickLinkWithLocator(
"//d...@id='contentArea']/div/div/a...@href='/archiva/admin/addRemoteRepository.action']"
);
addRemoteRepository( "remoterepo" , "Remote Repository Sample"
, "http://repository.codehaus.org/org/codehaus/mojo/" , "" , "" , "" , "Maven
2.x Repository" );
assertTextPresent( "Remote Repository Sample" );
}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/VirtualRepositoryTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/VirtualRepositoryTest.java?rev=882399&r1=882398&r2=882399&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/VirtualRepositoryTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/VirtualRepositoryTest.java
Fri Nov 20 03:31:19 2009
@@ -40,7 +40,7 @@
assertTextPresent( "testing" );
}
- //@Test(dependsOnMethods = { "testAddRepositoryValidValue" } )
+ @Test(dependsOnMethods = { "testAddRepositoryGroupValidValue" } )
public void testAddRepositoryToRepositoryGroup()
{
addRepositoryToRepositoryGroup( "testing", "internal" );
@@ -51,15 +51,17 @@
@Test(dependsOnMethods = { "testAddRepositoryToRepositoryGroup" } )
public void testDeleteRepositoryOfRepositoryGroup()
- {
+ {
deleteRepositoryInRepositoryGroups();
assertTextPresent( "Repository Groups" );
assertTextNotPresent( "No Repository Groups Defined." );
+ waitPage();
}
@Test(dependsOnMethods = { "testDeleteRepositoryOfRepositoryGroup" } )
public void testDeleteRepositoryGroup()
- {
+ {
+ assertRepositoryGroupsPage();
deleteRepositoryGroup( "testing" );
assertTextPresent( "No Repository Groups Defined." );
}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java?rev=882399&r1=882398&r2=882399&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
Fri Nov 20 03:31:19 2009
@@ -449,25 +449,86 @@
setFieldValue( "organisationLogo" , logoUrl );
clickButtonWithValue( "Save" );
}
-
- //Upload Artifact
- public void goToUploadArtifactPage()
- {
- clickLinkWithText( "Upload Artifact" );
- assertUploadArtifactPage();
- }
-
- public void assertUploadArtifactPage()
- {
- //assertPage( "Apache Archiva \\ Upload Artifact" );
- String uploadArtifact = "Upload Artifact,Group Id*,Artifact
Id*,Version*,Packaging*,Classifier,Generate Maven 2 POM,Artifact File*,POM
File,Repository Id";
- String[] arrayUploadArtifact = uploadArtifact.split( "," );
- for ( String uploadartifact : arrayUploadArtifact )
- assertTextPresent( uploadartifact );
- String uploadElements =
"groupId,artifactId,version,packaging,classifier,generatePom,artifact,pom,repositoryId";
- String[] arrayUploadElements = uploadElements.split( "," );
- for ( String uploadelements : arrayUploadElements )
- assertElementPresent( uploadelements );
- assertButtonWithValuePresent( "Submit" );
- }
+
+ // Upload Artifact
+ public void goToAddArtifactPage()
+ {
+ clickLinkWithText( "Upload Artifact" );
+ assertAddArtifactPage();
+ }
+
+ public void assertAddArtifactPage()
+ {
+ assertPage( "Apache Archiva \\ Upload Artifact" );
+ assertTextPresent( "Upload Artifact" );
+
+ String artifact =
+ "Upload Artifact,Group Id*:,Artifact
Id*:,Version*:,Packaging*:,Classifier:,Generate Maven 2 POM,Artifact File*:,POM
File:,Repository Id:";
+ String[] arrayArtifact = artifact.split( "," );
+ for ( String arrayartifact : arrayArtifact )
+ assertTextPresent( arrayartifact );
+
+ String artifactElements =
+
"upload_groupId,upload_artifactId,upload_version,upload_packaging,upload_classifier,upload_generatePom,upload_artifact,upload_pom,upload_repositoryId,upload_0";
+ String[] arrayArtifactElements = artifactElements.split( "," );
+ for ( String artifactelements : arrayArtifactElements )
+ assertElementPresent( artifactelements );
+ }
+
+ public void addArtifact( String groupId, String artifactId, String
version, String packaging,
+ String artifactFilePath, String repositoryId )
+ {
+ addArtifact( groupId, artifactId, version, packaging, true,
artifactFilePath, repositoryId );
+ }
+
+ public void addArtifact( String groupId, String artifactId, String
version, String packaging, boolean generatePom,
+ String artifactFilePath, String repositoryId )
+ {
+ goToAddArtifactPage();
+ setFieldValue( "groupId", groupId );
+ setFieldValue( "artifactId", artifactId );
+ setFieldValue( "version", version );
+ setFieldValue( "packaging", packaging );
+
+ if ( generatePom )
+ {
+ checkField( "generatePom" );
+ }
+
+ setFieldValue( "artifact", artifactFilePath );
+ setFieldValue( "repositoryId", repositoryId );
+
+ clickButtonWithValue( "Submit" );
+ }
+
+ public void goToRepositoriesPage()
+ {
+ clickLinkWithText( "Repositories" );
+ assertRepositoriesPage();
+ }
+
+ public void assertRepositoriesPage()
+ {
+ assertPage( "Apache Archiva \\ Administration - Repositories" );
+ assertTextPresent( "Administration - Repositories" );
+ assertTextPresent( "Managed Repositories" );
+ assertTextPresent( "Remote Repositories" );
+ }
+
+ public void addManagedRepository( String identifier, String name, String
directory, String indexDirectory, String type, String cron,
+ String daysOlder, String
retentionCount )
+ {
+ //goToRepositoriesPage();
+ //clickLinkWithText( "Add" );
+ setFieldValue( "repository.id" , identifier );
+ setFieldValue( "repository.name" , name );
+ setFieldValue( "repository.location" , directory );
+ setFieldValue( "repository.indexDir" , indexDirectory );
+ selectValue( "repository.layout", type );
+ setFieldValue( "repository.refreshCronExpression" , cron );
+ setFieldValue( "repository.daysOlder" , daysOlder );
+ setFieldValue( "repository.retentionCount" , retentionCount );
+ //TODO
+ clickButtonWithValue( "Add Repository" );
+ }
}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java?rev=882399&r1=882398&r2=882399&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java
Fri Nov 20 03:31:19 2009
@@ -43,42 +43,12 @@
return repositoryId;
}
- public void goToAddArtifactPage()
- {
- clickLinkWithText( "Upload Artifact" );
- assertAddArtifactPage();
- }
-
public void goToDeleteArtifactPage()
{
clickLinkWithText( "Delete Artifact" );
assertDeleteArtifactPage();
}
- public void addArtifact( String groupId, String artifactId, String
version, String packaging, String artifactFilePath, String repositoryId )
- {
- addArtifact(groupId, artifactId, version, packaging, true,
artifactFilePath, repositoryId);
- }
-
- public void addArtifact( String groupId, String artifactId, String
version, String packaging, boolean generatePom, String artifactFilePath, String
repositoryId)
- {
- goToAddArtifactPage();
- setFieldValue( "groupId" , groupId );
- setFieldValue( "artifactId" , artifactId );
- setFieldValue( "version" , version );
- setFieldValue( "packaging" , packaging );
-
- if ( generatePom )
- {
- checkField( "generatePom" );
- }
-
- setFieldValue( "artifact" , artifactFilePath );
- setFieldValue( "repositoryId" , repositoryId );
-
- clickButtonWithValue( "Submit" );
- }
-
public void deleteArtifact( String groupId, String artifactId, String
version, String repositoryId )
{
goToDeleteArtifactPage();
@@ -89,22 +59,6 @@
clickButtonWithValue( "Submit" ) ;
}
- public void assertAddArtifactPage()
- {
- assertPage( "Apache Archiva \\ Upload Artifact" );
- assertTextPresent( "Upload Artifact" );
-
- String artifact = "Upload Artifact,Group Id*:,Artifact
Id*:,Version*:,Packaging*:,Classifier:,Generate Maven 2 POM,Artifact File*:,POM
File:,Repository Id:";
- String[] arrayArtifact = artifact.split( "," );
- for ( String arrayartifact : arrayArtifact )
- assertTextPresent( arrayartifact );
-
- String artifactElements =
"upload_groupId,upload_artifactId,upload_version,upload_packaging,upload_classifier,upload_generatePom,upload_artifact,upload_pom,upload_repositoryId,upload_0";
- String[] arrayArtifactElements = artifactElements.split( "," );
- for ( String artifactelements : arrayArtifactElements )
- assertElementPresent( artifactelements );
- }
-
public void assertDeleteArtifactPage()
{
assertPage( "Apache Archiva \\ Delete Artifact" );
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java?rev=882399&r1=882398&r2=882399&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java
Fri Nov 20 03:31:19 2009
@@ -212,23 +212,6 @@
clickButtonWithValue( "Delete" );
}
- ///////////////////////////////
- // repositories
- ///////////////////////////////
- public void goToRepositoriesPage()
- {
- clickLinkWithText( "Repositories" );
- assertRepositoriesPage();
- }
-
- public void assertRepositoriesPage()
- {
- assertPage( "Apache Archiva \\ Administration - Repositories" );
- assertTextPresent( "Administration - Repositories" );
- assertTextPresent( "Managed Repositories" );
- assertTextPresent( "Remote Repositories" );
- }
-
// remote repositories
public void assertAddRemoteRepository()
{
@@ -283,23 +266,6 @@
clickButtonWithValue( "Update Repository" );
}
- // managed repositories
- public void addManagedRepository( String identifier, String name,
String directory, String indexDirectory, String type, String cron, String
daysOlder, String retentionCount )
- {
- //goToRepositoriesPage();
- //clickLinkWithText( "Add" );
- setFieldValue( "repository.id" , identifier );
- setFieldValue( "repository.name" , name );
- setFieldValue( "repository.location" , directory );
- setFieldValue( "repository.indexDir" , indexDirectory );
- selectValue( "repository.layout", type );
- setFieldValue( "repository.refreshCronExpression" , cron );
- setFieldValue( "repository.daysOlder" , daysOlder );
- setFieldValue( "repository.retentionCount" , retentionCount );
- //TODO
- clickButtonWithValue( "Add Repository" );
- }
-
public void editManagedRepository( String fieldName, String value )
{
//goToRepositoriesPage();