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
22 import org.apache.archiva.web.test.parent.AbstractArtifactManagementTest;
23 import org.testng.annotations.Test;
25 @Test( groups = { "artifactmanagement" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )
26 public class ArtifactManagementTest
27 extends AbstractArtifactManagementTest
31 public void testAddArtifactNullValues()
33 goToAddArtifactPage();
34 clickButtonWithValue( "Submit" );
35 assertTextPresent( "Please add a file to upload." );
36 assertTextPresent( "Invalid version." );
37 assertTextPresent( "You must enter a groupId." );
38 assertTextPresent( "You must enter an artifactId." );
39 assertTextPresent( "You must enter a version" );
40 assertTextPresent( "You must enter a packaging" );
43 @Test(dependsOnMethods = { "testAddArtifactNullValues" } )
44 public void testAddArtifactNoGroupId()
46 addArtifact( " " , getArtifactId(), getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() );
47 assertTextPresent( "You must enter a groupId." );
50 @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } )
51 public void testAddArtifactNoArtifactId()
54 addArtifact( getGroupId() , " ", getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() );
55 assertTextPresent( "You must enter an artifactId." );
58 @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } )
59 public void testAddArtifactNoVersion()
61 addArtifact( getGroupId() , getArtifactId(), " ", getPackaging() , getArtifactFilePath(), getRepositoryId() );
62 assertTextPresent( "You must enter a version." );
65 @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } )
66 public void testAddArtifactInvalidVersion()
68 addArtifact( getGroupId() , getArtifactId(), "asdf", getPackaging() , getArtifactFilePath(), getRepositoryId() );
69 assertTextPresent( "Invalid version." );
72 @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } )
73 public void testAddArtifactNoPackaging()
75 addArtifact( getGroupId() , getArtifactId(), getVersion(), " " , getArtifactFilePath(), getRepositoryId() );
76 assertTextPresent( "You must enter a packaging." );
79 @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } )
80 public void testAddArtifactNoFilePath()
82 addArtifact( getGroupId() , getArtifactId(), getVersion(), getPackaging() , " ", getRepositoryId() );
83 assertTextPresent( "Please add a file to upload." );
86 @Test(groups = "requiresUpload")
87 public void testAddArtifactValidValues()
89 String groupId = getProperty( "VALIDARTIFACT_GROUPID" );
90 String artifactId = getProperty( "VALIDARTIFACT_ARTIFACTID" );
92 addArtifact( groupId , artifactId, getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() );
93 assertTextPresent( "Artifact '" + groupId + ":" + artifactId + ":" + getVersion() + "' was successfully deployed to repository 'internal'" );
96 @Test( groups = "requiresUpload" )
97 public void testDotNetTypes()
99 addArtifact( getGroupId(), "testDotNetTypes", getVersion(), "library", getArtifactFilePath(),
101 assertTextPresent( "Artifact 'test:testDotNetTypes:1.0' was successfully deployed to repository 'internal'" );
102 getSelenium().open( baseUrl + "/browse/" + getGroupId() + "/testDotNetTypes/" + getVersion() );
105 assertTextPresent( "<type>library</type>" );
107 "/archiva/repository/internal/" + getGroupId() + "/testDotNetTypes/" + getVersion() + "/testDotNetTypes-" +
109 assertLinkPresent( ".NET Library" );
110 assertElementPresent( "//a[@href='" + basePath + ".dll']" );
111 assertElementPresent( "//a[@href='" + basePath + ".pom']" );
115 @Test(groups = "requiresUpload")
116 public void testAddArtifactBlockRedeployments()
118 addArtifact( getGroupId() , getArtifactId(), getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() );
119 assertTextPresent( "Overwriting released artifacts in repository '" + getRepositoryId() + "' is not allowed." );
122 @Test(groups = "requiresUpload")
123 public void testDeleteArtifact()
126 String groupId = getProperty( "GROUPID1" );
127 String artifactId = getProperty( "ARTIFACTID1" );
128 String version = getProperty( "VERSION1" );
129 String packaging = getProperty( "PACKAGING1" );
130 String repositoryId = getProperty( "REPOSITORYID1" );
131 // TODO: do this differently as it only works in Firefox's chrome mode
132 addArtifact( groupId , artifactId, version, packaging , getArtifactFilePath(), repositoryId );
133 assertTextPresent( "Artifact 'delete:delete:1.0' was successfully deployed to repository 'internal'" );
135 deleteArtifact( "delete", "delete", "1.0", "internal");
136 assertTextPresent( "Artifact 'delete:delete:1.0' was successfully deleted from repository 'internal'" );
139 public void testDeleteArtifactNoGroupId()
141 deleteArtifact( " ", "delete", "1.0", "internal");
142 assertTextPresent( "You must enter a groupId." );
145 public void testDeleteArtifactNoArtifactId()
147 deleteArtifact( "delete", " ", "1.0", "internal");
148 assertTextPresent( "You must enter an artifactId." );
151 public void testDeleteArtifactNoVersion()
153 deleteArtifact( "delete", "delete", " ", "internal");
154 assertTextPresent( "Invalid version." );
155 assertTextPresent( "You must enter a version." );
158 public void testDeleteArtifactInvalidVersion()
160 deleteArtifact( "delete", "delete", "asdf", "internal");
161 assertTextPresent( "Invalid version." );