1 package org.apache.archiva.web.test;
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
24 import org.apache.archiva.web.test.parent.AbstractBrowseTest;
25 import org.testng.annotations.Test;
27 @Test( groups = { "browse" }, dependsOnMethods = { "testAddArtifactNullValues" } )
28 public class BrowseTest
29 extends AbstractBrowseTest
32 public void testBrowseArtifact()
38 public void testClickArtifactFromBrowse()
42 clickLinkWithText( getProperty( "ARTIFACT_ARTIFACTID" ) + "/" );
43 assertPage( "Apache Archiva \\ Browse Repository" );
44 assertTextPresent( "Artifacts" );
48 @Test(groups = {"requiresUpload"})
49 public void testCorrectRepositoryInBrowse()
51 String releasesRepo = getProperty( "RELEASES_REPOSITORY" );
53 // create releases repository first
54 goToRepositoriesPage();
55 clickLinkWithText( "Add" );
56 addManagedRepository( getProperty( "RELEASES_REPOSITORY" ), "Releases Repository",
57 new File( getBasedir(), "target/repository/releases" ).getPath(), "", "Maven 2.x Repository",
58 "0 0 * * * ?", "", "" );
59 assertTextPresent( "Releases Repository" );
61 String snapshotsRepo = getProperty( "SNAPSHOTS_REPOSITORY" );
63 String path = "src/test/resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar";
64 // TODO: do this differently as uploading doesn't work on browsers other than *chrome (below as well)
65 // upload a snapshot artifact to repository 'releases'
66 addArtifact( "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar", path, releasesRepo );
67 assertTextPresent( "Artifact 'archiva:archiva-webapp:1.0-SNAPSHOT' was successfully deployed to repository '" + releasesRepo + "'" );
71 assertGroupsPage( "archiva/" );
72 assertArtifactsPage( "archiva-webapp/" );
73 assertArtifactInfoPage( "1.0-SNAPSHOT/", releasesRepo, "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar" );
75 // upload a snapshot artifact to repository 'snapshots'
76 addArtifact( "continuum", "continuum-core", "1.0-SNAPSHOT", "jar", path, snapshotsRepo );
77 assertTextPresent( "Artifact 'continuum:continuum-core:1.0-SNAPSHOT' was successfully deployed to repository '" + snapshotsRepo + "'" );
81 assertGroupsPage( "continuum/" );
82 assertArtifactsPage( "continuum-core/" );
83 assertArtifactInfoPage( "1.0-SNAPSHOT/", snapshotsRepo, "continuum", "continuum-core", "1.0-SNAPSHOT", "jar" );
86 private void assertArtifactInfoPage( String version, String artifactInfoRepositoryId, String artifactInfoGroupId,
87 String artifactInfoArtifactId, String artifactInfoVersion, String artifactInfoPackaging )
89 clickLinkWithText( version );
90 assertPage( "Apache Archiva \\ Browse Repository" );
91 assertTextPresent( artifactInfoRepositoryId );
92 assertTextPresent( artifactInfoGroupId );
93 assertTextPresent( artifactInfoArtifactId );
94 assertTextPresent( artifactInfoVersion );
95 assertTextPresent( artifactInfoPackaging );
98 private void assertArtifactsPage( String artifactId )
100 clickLinkWithText( artifactId );
101 assertPage( "Apache Archiva \\ Browse Repository" );
102 assertTextPresent( "Versions" );
105 private void assertGroupsPage( String groupId )
107 clickLinkWithText( groupId );
108 assertPage( "Apache Archiva \\ Browse Repository" );
109 assertTextPresent( "Artifacts" );