Author: olamy
Date: Tue Sep 6 21:07:30 2011
New Revision: 1165848
URL: http://svn.apache.org/viewvc?rev=1165848&view=rev
Log:
[MRM-1508] api to managed repository group : use it in webapp fix unit tests
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesActionTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/SortRepositoriesActionTest.java
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java?rev=1165848&r1=1165847&r2=1165848&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java
Tue Sep 6 21:07:30 2011
@@ -115,8 +115,6 @@ public class RepositoriesAction
public void prepare()
throws RepositoryAdminException
{
- Configuration config = archivaConfiguration.getConfiguration();
-
remoteRepositories = new ArrayList<RemoteRepository>(
getRemoteRepositoryAdmin().getRemoteRepositories() );
managedRepositories = new ArrayList<ManagedRepository>(
getManagedRepositoryAdmin().getManagedRepositories() );
repositoryToGroupMap =
getRepositoryGroupAdmin().getRepositoryToGroupMap();
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesActionTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesActionTest.java?rev=1165848&r1=1165847&r2=1165848&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesActionTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesActionTest.java
Tue Sep 6 21:07:30 2011
@@ -22,15 +22,20 @@ package org.apache.maven.archiva.web.act
import com.meterware.servletunit.ServletRunner;
import com.meterware.servletunit.ServletUnitClient;
import com.opensymphony.xwork2.Action;
+import org.apache.archiva.admin.repository.group.DefaultRepositoryGroupAdmin;
+import
org.apache.archiva.admin.repository.managed.DefaultManagedRepositoryAdmin;
import org.apache.archiva.admin.repository.remote.DefaultRemoteRepositoryAdmin;
import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.RepositorySession;
import
org.apache.archiva.metadata.repository.memory.TestRepositorySessionFactory;
import org.apache.archiva.metadata.repository.stats.RepositoryStatistics;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.struts2.StrutsSpringTestCase;
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
import org.codehaus.redback.integration.interceptor.SecureActionException;
import org.easymock.MockControl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.util.Arrays;
@@ -43,14 +48,41 @@ import static org.mockito.Mockito.when;
public class RepositoriesActionTest
extends StrutsSpringTestCase
{
+ private Logger log = LoggerFactory.getLogger( getClass() );
+
private RepositoriesAction action;
+ ArchivaConfiguration originalArchivaConfiguration;
+
protected void setUp()
throws Exception
{
+
super.setUp();
+
action = (RepositoriesAction) getActionProxy( "/admin/index.action"
).getAction();
+ originalArchivaConfiguration =
+ ( (DefaultRepositoryGroupAdmin) action.getRepositoryGroupAdmin()
).getArchivaConfiguration();
+ // some other test are modifying archivaConfiguration with a mocked
instance : this test need the real one
+ // so use the real one from spring, backup the mock and restore it at
the end (tearDown)
+ ArchivaConfiguration real = applicationContext.getBean(
ArchivaConfiguration.class );
+ ( (DefaultRepositoryGroupAdmin) action.getRepositoryGroupAdmin()
).setArchivaConfiguration( real );
+ ( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin()
).setArchivaConfiguration( real );
+ ( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin()
).setArchivaConfiguration( real );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ ( (DefaultRepositoryGroupAdmin) action.getRepositoryGroupAdmin()
).setArchivaConfiguration(
+ originalArchivaConfiguration );
+ ( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin()
).setArchivaConfiguration(
+ originalArchivaConfiguration );
+ ( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin()
).setArchivaConfiguration(
+ originalArchivaConfiguration );
}
@Override
@@ -62,47 +94,55 @@ public class RepositoriesActionTest
public void testGetRepositories()
throws Exception
{
- MockControl control = MockControl.createControl(
MetadataRepository.class );
- MetadataRepository metadataRepository = (MetadataRepository)
control.getMock();
- control.expectAndReturn( metadataRepository.getMetadataFacets(
"internal", RepositoryStatistics.FACET_ID ),
- Arrays.asList( "20091125.123456.678" ) );
- control.expectAndReturn(
- metadataRepository.getMetadataFacet( "internal",
RepositoryStatistics.FACET_ID, "20091125.123456.678" ),
- new RepositoryStatistics() );
- control.expectAndReturn( metadataRepository.getMetadataFacets(
"snapshots", RepositoryStatistics.FACET_ID ),
- Arrays.asList( "20091112.012345.012" ) );
- control.expectAndReturn(
- metadataRepository.getMetadataFacet( "snapshots",
RepositoryStatistics.FACET_ID, "20091112.012345.012" ),
- new RepositoryStatistics() );
- control.replay();
-
- RepositorySession session = mock( RepositorySession.class );
- when( session.getRepository() ).thenReturn( metadataRepository );
- TestRepositorySessionFactory factory =
- applicationContext.getBean( "repositorySessionFactory#test",
TestRepositorySessionFactory.class );
- factory.setRepositorySession( session );
-
- ServletRunner sr = new ServletRunner();
- ServletUnitClient sc = sr.newClient();
-
- action.setServletRequest( sc.newInvocation(
"http://localhost/admin/repositories.action" ).getRequest() );
-
- action.prepare();
- String result = action.execute();
- assertEquals( Action.SUCCESS, result );
-
- // TODO: for some reason servletunit is not populating the port of the
servlet request
- assertEquals( "http://localhost:0/repository", action.getBaseUrl() );
-
- assertNotNull( action.getManagedRepositories() );
- assertNotNull( action.getRemoteRepositories() );
- assertNotNull( action.getRepositoryStatistics() );
-
- assertEquals( 2, action.getManagedRepositories().size() );
- assertEquals( 2, action.getRemoteRepositories().size() );
- assertEquals( 2, action.getRepositoryStatistics().size() );
-
- control.verify();
+ try
+ {
+ MockControl control = MockControl.createControl(
MetadataRepository.class );
+ MetadataRepository metadataRepository = (MetadataRepository)
control.getMock();
+ control.expectAndReturn( metadataRepository.getMetadataFacets(
"internal", RepositoryStatistics.FACET_ID ),
+ Arrays.asList( "20091125.123456.678" ) );
+ control.expectAndReturn(
+ metadataRepository.getMetadataFacet( "internal",
RepositoryStatistics.FACET_ID, "20091125.123456.678" ),
+ new RepositoryStatistics() );
+ control.expectAndReturn( metadataRepository.getMetadataFacets(
"snapshots", RepositoryStatistics.FACET_ID ),
+ Arrays.asList( "20091112.012345.012" ) );
+ control.expectAndReturn( metadataRepository.getMetadataFacet(
"snapshots", RepositoryStatistics.FACET_ID,
+
"20091112.012345.012" ),
+ new RepositoryStatistics() );
+ control.replay();
+
+ RepositorySession session = mock( RepositorySession.class );
+ when( session.getRepository() ).thenReturn( metadataRepository );
+ TestRepositorySessionFactory factory =
+ applicationContext.getBean( "repositorySessionFactory#test",
TestRepositorySessionFactory.class );
+ factory.setRepositorySession( session );
+
+ ServletRunner sr = new ServletRunner();
+ ServletUnitClient sc = sr.newClient();
+
+ action.setServletRequest( sc.newInvocation(
"http://localhost/admin/repositories.action" ).getRequest() );
+
+ action.prepare();
+ String result = action.execute();
+ assertEquals( Action.SUCCESS, result );
+
+ // TODO: for some reason servletunit is not populating the port of
the servlet request
+ assertEquals( "http://localhost:0/repository", action.getBaseUrl()
);
+
+ assertNotNull( action.getManagedRepositories() );
+ assertNotNull( action.getRemoteRepositories() );
+ assertNotNull( action.getRepositoryStatistics() );
+
+ assertEquals( 2, action.getManagedRepositories().size() );
+ assertEquals( 2, action.getRemoteRepositories().size() );
+ assertEquals( 2, action.getRepositoryStatistics().size() );
+
+ control.verify();
+ }
+ catch ( Exception e )
+ {
+ log.error( e.getMessage(), e );
+ throw e;
+ }
}
public void testSecureActionBundle()
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/SortRepositoriesActionTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/SortRepositoriesActionTest.java?rev=1165848&r1=1165847&r2=1165848&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/SortRepositoriesActionTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/SortRepositoriesActionTest.java
Tue Sep 6 21:07:30 2011
@@ -19,6 +19,7 @@ package org.apache.maven.archiva.web.act
* under the License.
*/
+import com.opensymphony.xwork2.Action;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.RepositoryGroupConfiguration;
@@ -27,28 +28,26 @@ import org.codehaus.redback.integration.
import org.codehaus.redback.integration.interceptor.SecureActionException;
import org.easymock.MockControl;
-import com.opensymphony.xwork2.Action;
-
/**
* SortRepositoriesActionTest
- *
- * @version
*/
-public class SortRepositoriesActionTest
+public class SortRepositoriesActionTest
extends StrutsSpringTestCase
{
private static final String REPO_GROUP_ID = "repo-group-ident";
-
+
private static final String REPO1_ID = "managed-repo-ident-1";
-
+
private static final String REPO2_ID = "managed-repo-ident-2";
-
+
private static final String REPO3_ID = "managed-repo-ident-3";
-
+
private MockControl archivaConfigurationControl;
private ArchivaConfiguration archivaConfiguration;
-
+
+ private ArchivaConfiguration originalArchivaConfiguration;
+
private SortRepositoriesAction action;
@Override
@@ -61,52 +60,59 @@ public class SortRepositoriesActionTest
throws Exception
{
super.setUp();
-
- //action = (SortRepositoriesAction) lookup( Action.class.getName(),
"sortRepositoriesAction" );
-
action = (SortRepositoriesAction) getActionProxy(
"/admin/sortDownRepositoryFromGroup.action" ).getAction();
archivaConfigurationControl = MockControl.createControl(
ArchivaConfiguration.class );
archivaConfiguration = (ArchivaConfiguration)
archivaConfigurationControl.getMock();
+ originalArchivaConfiguration = action.archivaConfiguration;
action.setArchivaConfiguration( archivaConfiguration );
}
-
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ action.archivaConfiguration = originalArchivaConfiguration;
+ }
+
public void testSecureActionBundle()
throws SecureActionException
{
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( new Configuration() );
archivaConfigurationControl.replay();
-
+
SecureActionBundle bundle = action.getSecureActionBundle();
assertTrue( bundle.requiresAuthentication() );
assertEquals( 1, bundle.getAuthorizationTuples().size() );
}
-
+
public void testSortDownFirstRepository()
throws Exception
{
Configuration configuration = createInitialConfiguration();
-
+
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( configuration, 4 );
archivaConfiguration.save( configuration );
archivaConfigurationControl.replay();
-
- RepositoryGroupConfiguration repoGroup =
(RepositoryGroupConfiguration) configuration.getRepositoryGroups().get( 0 );
+
+ RepositoryGroupConfiguration repoGroup =
+ (RepositoryGroupConfiguration)
configuration.getRepositoryGroups().get( 0 );
java.util.List<String> repositories = repoGroup.getRepositories();
-
+
assertEquals( 3, repositories.size() );
assertEquals( REPO1_ID, repositories.get( 0 ) );
assertEquals( REPO2_ID, repositories.get( 1 ) );
assertEquals( REPO3_ID, repositories.get( 2 ) );
-
+
// sort down first repo
action.setRepoGroupId( repoGroup.getId() );
action.setTargetRepo( REPO1_ID );
-
+
String result = action.sortDown();
assertEquals( Action.SUCCESS, result );
-
+
repoGroup = (RepositoryGroupConfiguration)
configuration.getRepositoryGroups().get( 0 );
repositories = repoGroup.getRepositories();
assertEquals( 3, repositories.size() );
@@ -114,32 +120,33 @@ public class SortRepositoriesActionTest
assertEquals( REPO1_ID, repositories.get( 1 ) );
assertEquals( REPO3_ID, repositories.get( 2 ) );
}
-
+
public void testSortDownLastRepository()
throws Exception
{
Configuration configuration = createInitialConfiguration();
-
+
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( configuration, 4 );
archivaConfiguration.save( configuration );
archivaConfigurationControl.replay();
-
- RepositoryGroupConfiguration repoGroup =
(RepositoryGroupConfiguration) configuration.getRepositoryGroups().get( 0 );
+
+ RepositoryGroupConfiguration repoGroup =
+ (RepositoryGroupConfiguration)
configuration.getRepositoryGroups().get( 0 );
java.util.List<String> repositories = repoGroup.getRepositories();
-
+
assertEquals( 3, repositories.size() );
assertEquals( REPO1_ID, repositories.get( 0 ) );
assertEquals( REPO2_ID, repositories.get( 1 ) );
assertEquals( REPO3_ID, repositories.get( 2 ) );
-
+
// sort down last repo
action.setRepoGroupId( repoGroup.getId() );
action.setTargetRepo( REPO3_ID );
-
+
String result = action.sortDown();
assertEquals( Action.SUCCESS, result );
-
+
repoGroup = (RepositoryGroupConfiguration)
configuration.getRepositoryGroups().get( 0 );
repositories = repoGroup.getRepositories();
assertEquals( 3, repositories.size() );
@@ -147,32 +154,33 @@ public class SortRepositoriesActionTest
assertEquals( REPO2_ID, repositories.get( 1 ) );
assertEquals( REPO3_ID, repositories.get( 2 ) );
}
-
+
public void testSortUpLastRepository()
throws Exception
{
Configuration configuration = createInitialConfiguration();
-
+
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( configuration, 4 );
archivaConfiguration.save( configuration );
archivaConfigurationControl.replay();
-
- RepositoryGroupConfiguration repoGroup =
(RepositoryGroupConfiguration) configuration.getRepositoryGroups().get( 0 );
+
+ RepositoryGroupConfiguration repoGroup =
+ (RepositoryGroupConfiguration)
configuration.getRepositoryGroups().get( 0 );
java.util.List<String> repositories = repoGroup.getRepositories();
-
+
assertEquals( 3, repositories.size() );
assertEquals( REPO1_ID, repositories.get( 0 ) );
assertEquals( REPO2_ID, repositories.get( 1 ) );
assertEquals( REPO3_ID, repositories.get( 2 ) );
-
+
// sort up last repo
action.setRepoGroupId( repoGroup.getId() );
action.setTargetRepo( REPO3_ID );
-
+
String result = action.sortUp();
assertEquals( Action.SUCCESS, result );
-
+
repoGroup = (RepositoryGroupConfiguration)
configuration.getRepositoryGroups().get( 0 );
repositories = repoGroup.getRepositories();
assertEquals( 3, repositories.size() );
@@ -180,32 +188,33 @@ public class SortRepositoriesActionTest
assertEquals( REPO3_ID, repositories.get( 1 ) );
assertEquals( REPO2_ID, repositories.get( 2 ) );
}
-
+
public void testSortUpFirstRepository()
throws Exception
{
Configuration configuration = createInitialConfiguration();
-
+
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( configuration, 4 );
archivaConfiguration.save( configuration );
archivaConfigurationControl.replay();
-
- RepositoryGroupConfiguration repoGroup =
(RepositoryGroupConfiguration) configuration.getRepositoryGroups().get( 0 );
+
+ RepositoryGroupConfiguration repoGroup =
+ (RepositoryGroupConfiguration)
configuration.getRepositoryGroups().get( 0 );
java.util.List<String> repositories = repoGroup.getRepositories();
-
+
assertEquals( 3, repositories.size() );
assertEquals( REPO1_ID, repositories.get( 0 ) );
assertEquals( REPO2_ID, repositories.get( 1 ) );
assertEquals( REPO3_ID, repositories.get( 2 ) );
-
+
// sort up first repo
action.setRepoGroupId( repoGroup.getId() );
action.setTargetRepo( REPO1_ID );
-
+
String result = action.sortUp();
assertEquals( Action.SUCCESS, result );
-
+
repoGroup = (RepositoryGroupConfiguration)
configuration.getRepositoryGroups().get( 0 );
repositories = repoGroup.getRepositories();
assertEquals( 3, repositories.size() );
@@ -213,19 +222,19 @@ public class SortRepositoriesActionTest
assertEquals( REPO2_ID, repositories.get( 1 ) );
assertEquals( REPO3_ID, repositories.get( 2 ) );
}
-
+
private Configuration createInitialConfiguration()
{
Configuration config = new Configuration();
-
+
RepositoryGroupConfiguration repoGroup = new
RepositoryGroupConfiguration();
repoGroup.setId( REPO_GROUP_ID );
repoGroup.addRepository( REPO1_ID );
repoGroup.addRepository( REPO2_ID );
repoGroup.addRepository( REPO3_ID );
-
+
config.addRepositoryGroup( repoGroup );
-
+
return config;
}
}