You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2014/02/02 03:39:42 UTC

svn commit: r1563554 - in /archiva/branches/archiva-1.3.x/archiva-modules/archiva-web: archiva-webapp-test/src/test/java/org/apache/archiva/web/test/ archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/ archiva-webapp/src/main/java/org...

Author: brett
Date: Sun Feb  2 02:39:42 2014
New Revision: 1563554

URL: http://svn.apache.org/r1563554
Log:
ensure remote repository functions work without DMI

Modified:
    archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryTest.java
    archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java
    archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java
    archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml
    archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/deleteRemoteRepository.jsp
    archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRemoteRepository.jsp

Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryTest.java?rev=1563554&r1=1563553&r2=1563554&view=diff
==============================================================================
--- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryTest.java (original)
+++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryTest.java Sun Feb  2 02:39:42 2014
@@ -22,7 +22,6 @@ package org.apache.archiva.web.test;
 import junit.framework.Assert;
 import org.apache.archiva.web.test.parent.AbstractRepositoryTest;
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
 import org.testng.annotations.AfterSuite;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
@@ -34,6 +33,9 @@ import java.io.IOException;
 public class RepositoryTest
 	extends AbstractRepositoryTest
 {
+
+    public static final String DELETE_CONFIGURATION_AND_CONTENTS = "Delete Configuration and Contents";
+
     @BeforeTest
     public void setUp()
     {
@@ -44,10 +46,11 @@ public class RepositoryTest
     public void tearDown()
     {
         goToRepositoriesPage();
-        deleteManagedRepository( "managedrepo1", true, false );
-        deleteManagedRepository( "managedrepo2", true, false );
-        deleteManagedRepository( "managedrepoedit", true, false );
+        deleteManagedRepository( "managedrepo1", false, DELETE_CONFIGURATION_AND_CONTENTS );
+        deleteManagedRepository( "managedrepo2", false, DELETE_CONFIGURATION_AND_CONTENTS );
+        deleteManagedRepository( "managedrepoedit", false, DELETE_CONFIGURATION_AND_CONTENTS );
         deleteRemoteRepository( "remoterepo", false );
+        deleteRemoteRepository( "remoterepoedit", false );
     }
 
     public void testAddManagedRepoValidValues()
@@ -310,19 +313,43 @@ public class RepositoryTest
 	public void testDeleteManagedRepo()
         throws IOException
     {
-        File dir = new File( getRepositoryDir() + "managedrepodelete/" );
+        File dir = new File( getRepositoryDir() + "managedrepodeleteconfig/" );
         if ( dir.exists() )
         {
             FileUtils.deleteDirectory( dir );
         }
-        addManagedRepository( "managedrepodelete", "Managed Repository for Deleting", dir.getAbsolutePath(), "",
+        addManagedRepository( "managedrepodeleteconfig", "Managed Repository for Deleting", dir.getAbsolutePath(), "",
                               "Maven 2.x Repository", "0 0 * * * ?", "", "" );
 
-        deleteManagedRepository( "managedrepodelete", false, true );
+        deleteManagedRepository( "managedrepodeleteconfig", true, "Delete Configuration Only" );
 
         // assert removed, but contents remain
         assertRepositoriesPage();
-        assertTextNotPresent( "managedrepodelete" );
+        assertTextNotPresent( "managedrepodeleteconfig" );
+
+        Assert.assertTrue( dir.exists() && dir.isDirectory() );
+    }
+
+	public void testDeleteManagedRepoCancel()
+        throws IOException
+    {
+        File dir = new File( getRepositoryDir() + "managedrepodeletecancel/" );
+
+        goToRepositoriesPage();
+        if ( !isTextPresent( "managedrepodeletecancel" ) )
+        {
+            if ( dir.exists() )
+            {
+                FileUtils.deleteDirectory( dir );
+            }
+
+            addManagedRepository( "managedrepodeletecancel", "Managed Repository for Deleting", dir.getAbsolutePath(),
+                                  "", "Maven 2.x Repository", "0 0 * * * ?", "", "" );
+        }
+        deleteManagedRepository( "managedrepodeletecancel", true, "Cancel" );
+
+        assertRepositoriesPage();
+        assertTextPresent( "managedrepodeletecancel" );
 
         Assert.assertTrue( dir.exists() && dir.isDirectory() );
     }
@@ -338,9 +365,8 @@ public class RepositoryTest
         addManagedRepository( "managedrepodeletecontents", "Managed Repository for Deleting", dir.getAbsolutePath(), "",
                               "Maven 2.x Repository", "0 0 * * * ?", "", "" );
 
-        deleteManagedRepository( "managedrepodeletecontents", true, true );
+        deleteManagedRepository( "managedrepodeletecontents", true, DELETE_CONFIGURATION_AND_CONTENTS );
 
-        // assert removed, but contents remain
         assertRepositoriesPage();
         assertTextNotPresent( "managedrepodeletecontents" );
 
@@ -357,7 +383,8 @@ public class RepositoryTest
 
 	public void testAddRemoteRepositoryNullIdentifier()
 	{
-		addRemoteRepository( "" , "Remote Repository Sample" , "http://repository.codehaus.org/org/codehaus/mojo/" , "" , "" , "" , "Maven 2.x Repository" );
+		addRemoteRepository( "", "Remote Repository Sample", "http://repository.codehaus.org/org/codehaus/mojo/", "",
+                             "", "", "Maven 2.x Repository" );
 		assertTextPresent( "You must enter a repository identifier." );
 	}
 
@@ -380,6 +407,46 @@ public class RepositoryTest
 		assertTextPresent( "Remote Repository Sample" );
 	}
 
+    public void testDeleteRemoteRepo()
+    {
+        addRemoteRepository( "remoterepodeleteconfirm", "Remote Repository for Deleting",
+                             "https://repository.apache.org/", "", "", "", "Maven 2.x Repository" );
+        assertTextPresent( "Remote Repository for Deleting" );
+
+        deleteRemoteRepository( "remoterepodeleteconfirm", true );
+        assertRepositoriesPage();
+        assertTextNotPresent( "remoterepodeleteconfirm" );
+    }
+
+    public void testDeleteRemoteRepoCancel()
+    {
+        goToRepositoriesPage();
+        if ( !isTextPresent( "remoterepodeletecancel" ) )
+        {
+            addRemoteRepository( "remoterepodeletecancel", "Remote Repository for Deleting",
+                                 "https://repository.apache.org/", "", "", "", "Maven 2.x Repository" );
+            assertTextPresent( "Remote Repository for Deleting" );
+        }
+
+        deleteRemoteRepository( "remoterepodeletecancel", true, "Cancel" );
+        assertRepositoriesPage();
+        assertTextPresent( "remoterepodeletecancel" );
+    }
+
+    public void testEditRemoteRepo()
+    {
+        goToRepositoriesPage();
+        addRemoteRepository( "remoterepoedit", "Remote Repository for Editing",
+                             "https://archiva-repository.apache.org/archiva/repository/all", "", "", "",
+                             "Maven 2.x Repository" );
+        assertTextPresent( "Remote Repository for Editing" );
+
+        editRemoteRepository( "repository.name" , "New Remote Repo Name" );
+        assertRepositoriesPage();
+        assertTextNotPresent( "Remote Repository for Editing" );
+        assertTextPresent( "New Remote Repo Name" );
+    }
+
     // *** BUNDLED REPOSITORY TEST ***
 
     @Test ( dependsOnMethods = { "testWithCorrectUsernamePassword" }, alwaysRun = true )

Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java?rev=1563554&r1=1563553&r2=1563554&view=diff
==============================================================================
--- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java (original)
+++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java Sun Feb  2 02:39:42 2014
@@ -420,6 +420,11 @@ public abstract class AbstractRepository
 	}
 	
 	public void deleteRemoteRepository( String id, boolean validate )
+    {
+        deleteRemoteRepository( id, validate, "Confirm" );
+    }
+
+	public void deleteRemoteRepository( String id, boolean validate, String option )
 	{
 		goToRepositoriesPage();
         String xpath = "//div[@id='contentArea']//a[contains(@href,'confirmDeleteRemoteRepository.action?repoid=" + id + "')]";
@@ -427,14 +432,14 @@ public abstract class AbstractRepository
         {
             clickLinkWithXPath( xpath );
 		assertDeleteRemoteRepositoryPage();
-		clickButtonWithValue( "Confirm" );
+		clickButtonWithValue( option );
         }
 	}
 	
 	public void editRemoteRepository( String fieldName, String value)
 	{
 		goToRepositoriesPage();
-		clickLinkWithXPath( "//div[@id='contentArea']/div/div[8]/div[1]/a[1]" );
+        clickLinkWithXPath( getRepositoryXpath( "remoterepoedit" ) + "//a[contains(text(),'Edit')]" );
 		setFieldValue( fieldName, value );
 		clickButtonWithValue( "Update Repository" );
 	}
@@ -468,21 +473,14 @@ public abstract class AbstractRepository
                 clickButtonWithValue( "Update Repository" );
         }
 	
-	public void deleteManagedRepository( String id, boolean deleteContents, boolean validate )
+	public void deleteManagedRepository( String id, boolean validate, String option )
 	{
         String xpath = "//div[@id='contentArea']//a[contains(@href,'confirmDeleteRepository.action?repoid=" + id + "')]";
         if ( validate || isElementPresent( "xpath=" + xpath ) )
         {
             clickLinkWithXPath( xpath );
             assertPage( "Apache Archiva \\ Admin: Delete Managed Repository" );
-            if ( deleteContents )
-            {
-                clickButtonWithValue( "Delete Configuration and Contents" );
-            }
-            else
-            {
-                clickButtonWithValue( "Delete Configuration Only" );
-            }
+            clickButtonWithValue( option );
         }
     }
 	

Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java?rev=1563554&r1=1563553&r2=1563554&view=diff
==============================================================================
--- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java (original)
+++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java Sun Feb  2 02:39:42 2014
@@ -44,6 +44,8 @@ public class DeleteRemoteRepositoryActio
 
     private String repoid;
 
+    private boolean cancel;
+
     public void prepare()
     {
         if ( StringUtils.isNotBlank( repoid ) )
@@ -65,7 +67,11 @@ public class DeleteRemoteRepositoryActio
 
     public String delete()
     {
-        String result = SUCCESS;
+        if ( cancel )
+        {
+            return SUCCESS;
+        }
+
         RemoteRepositoryConfiguration existingRepository = repository;
         if ( existingRepository == null )
         {
@@ -76,7 +82,7 @@ public class DeleteRemoteRepositoryActio
         Configuration configuration = archivaConfiguration.getConfiguration();
         removeRepository( repoid, configuration );
         triggerAuditEvent( repoid, null, AuditEvent.DELETE_REMOTE_REPO );
-        result = saveConfiguration( configuration );
+        String result = saveConfiguration( configuration );
         
         cleanupRepositoryData( existingRepository );
 
@@ -116,4 +122,9 @@ public class DeleteRemoteRepositoryActio
     {
         this.repoid = repoid;
     }
+
+    public void setCancel( String cancel )
+    {
+        this.cancel = StringUtils.isNotEmpty( cancel );
+    }
 }

Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml?rev=1563554&r1=1563553&r2=1563554&view=diff
==============================================================================
--- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml (original)
+++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml Sun Feb  2 02:39:42 2014
@@ -386,6 +386,12 @@
     <action name="editRemoteRepository" class="editRemoteRepositoryAction" method="input">
       <result name="input">/WEB-INF/jsp/admin/editRemoteRepository.jsp</result>
       <result name="error">/WEB-INF/jsp/admin/editRemoteRepository.jsp</result>
+      <interceptor-ref name="configuredPrepareParamsStack"/>
+    </action>
+
+    <action name="editRemoteRepository_commit" class="editRemoteRepositoryAction" method="commit">
+      <result name="input">/WEB-INF/jsp/admin/editRemoteRepository.jsp</result>
+      <result name="error">/WEB-INF/jsp/admin/editRemoteRepository.jsp</result>
       <result name="success" type="redirectAction">repositories</result>
       <interceptor-ref name="configuredPrepareParamsStack"/>
     </action>

Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/deleteRemoteRepository.jsp
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/deleteRemoteRepository.jsp?rev=1563554&r1=1563553&r2=1563554&view=diff
==============================================================================
--- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/deleteRemoteRepository.jsp (original)
+++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/deleteRemoteRepository.jsp Sun Feb  2 02:39:42 2014
@@ -64,8 +64,8 @@
   <s:form method="post" action="deleteRemoteRepository" namespace="/admin" validate="true" theme="simple">
     <s:hidden name="repoid"/>
     <div class="buttons">
-      <s:submit value="Confirm" method="delete"/>
-      <s:submit value="Cancel" method="execute"/>
+      <s:submit value="Confirm" />
+      <s:submit value="Cancel" name="cancel" />
     </div>
   </s:form>
 </div>

Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRemoteRepository.jsp
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRemoteRepository.jsp?rev=1563554&r1=1563553&r2=1563554&view=diff
==============================================================================
--- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRemoteRepository.jsp (original)
+++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRemoteRepository.jsp Sun Feb  2 02:39:42 2014
@@ -35,7 +35,7 @@
 <div id="contentArea">
 
   <s:actionmessage/>
-  <s:form method="post" action="editRemoteRepository!commit" namespace="/admin" validate="false">
+  <s:form method="post" action="editRemoteRepository_commit" namespace="/admin" validate="false">
     <s:hidden name="repository.id"/>
     <%@ include file="/WEB-INF/jsp/admin/include/remoteRepositoryForm.jspf" %>
     <s:submit value="Update Repository"/>