]> source.dussan.org Git - archiva.git/commitdiff
merge -r909353:909402 from MRM-1025 branch, fixes for Selenium tests
authorBrett Porter <brett@apache.org>
Fri, 12 Feb 2010 13:47:29 +0000 (13:47 +0000)
committerBrett Porter <brett@apache.org>
Fri, 12 Feb 2010 13:47:29 +0000 (13:47 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@909410 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-webapp-test/pom.xml
archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/config/testng.xml [deleted file]
archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArtifactManagementTest.java
archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java
archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java
archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/listener/CaptureScreenShotsListener.java
archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java

index 060823d689c2765e5e150ae1976a9185aeff56f9..a1548bb1d32f0105785daf25fffaca3673aeb035 100644 (file)
         <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>
diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/config/testng.xml b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/config/testng.xml
deleted file mode 100644 (file)
index e8607fb..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?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>
index 1f60076bc913fbe7de55257ba9d522fdbaebe340..4eb22b172d9e1cdf81d270af9359a4c2ede66772 100644 (file)
@@ -83,24 +83,22 @@ public class ArtifactManagementTest
                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
index 0f3dcc6c45572fd70087a6cbf7749d07f516de2c..2b5e4abd902eab5b4427bf87d1e0706155e9b4f1 100644 (file)
@@ -68,8 +68,7 @@ public class AuditLogsReportTest
     }    
     
     // 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();        
@@ -89,8 +88,7 @@ public class AuditLogsReportTest
     }
     
     // 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();        
@@ -110,8 +108,7 @@ public class AuditLogsReportTest
     }
     
     // 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();        
@@ -129,7 +126,7 @@ public class AuditLogsReportTest
         assertTextPresent( "admin" );
     }
     
-    @Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, enabled = false )
+    @Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, groups = "requiresUpload")
     public void testViewAuditLogsViewAuditEventsForManageableRepositoriesOnly()
     {
         String groupId = getProperty( "SNAPSHOT_GROUPID" );
index c9c60ecce05ea90af676bf3782a03d1618c59e0b..a82a8f5849256e24457a9eb8b5ffd39d1aa5e416 100644 (file)
@@ -45,13 +45,9 @@ public class BrowseTest
        }
 
     // 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
@@ -64,10 +60,10 @@ public class BrowseTest
         
         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();
@@ -77,8 +73,7 @@ public class BrowseTest
         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();
index 947d7cbf3bf80038963acafa0dd3a9a3e1aa5365..8ee826394baf70a0fb9e62d6441c268073e62eb4 100644 (file)
@@ -75,7 +75,7 @@ public class CaptureScreenShotsListener
         {
             selenium.windowMaximize();
             File fileName = new File( targetPath, fileBaseName + ".png" );
-            selenium.captureEntirePageScreenshot( fileName.getAbsolutePath(), "" );
+            selenium.captureEntirePageScreenshot( fileName.getAbsolutePath(), "background=#FFFFFF" );
         }
         catch ( RuntimeException e )
         {
index 9209d6f606f92b24d3324aa7e6e44aa402d2cda9..11e7d084c5e6fc59d2594d61920bcd35f236a33f 100644 (file)
@@ -1,6 +1,7 @@
 package org.apache.archiva.web.test.parent;
 
 import java.io.File;
+import java.io.IOException;
 
 import org.apache.archiva.web.test.XPathExpressionUtil;
 
@@ -495,7 +496,25 @@ public abstract class AbstractArchivaTest
             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" );
index cf03765b0fe59e6d3a154cd97c5ad9bd31333c46..29486cd1031cdfb7427d21c6df344d2adaee4ad3 100644 (file)
@@ -1,8 +1,6 @@
 package org.apache.archiva.web.test.parent;
 
-import java.io.File;
-
-public abstract class AbstractArtifactManagementTest 
+public abstract class AbstractArtifactManagementTest
        extends AbstractArchivaTest
 {
        
@@ -32,9 +30,7 @@ public abstract class AbstractArtifactManagementTest
        
        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()