aboutsummaryrefslogtreecommitdiffstats
path: root/archiva-modules
diff options
context:
space:
mode:
authorOlivier Lamy <olamy@apache.org>2011-11-03 14:31:06 +0000
committerOlivier Lamy <olamy@apache.org>2011-11-03 14:31:06 +0000
commit35043074476f5c7982cb767575b52354f9263b6b (patch)
treecc254c14de11be80a582cb8524b07e1483fb8598 /archiva-modules
parenteeed38179f8c0743156a9447449f696c572490d7 (diff)
downloadarchiva-35043074476f5c7982cb767575b52354f9263b6b.tar.gz
archiva-35043074476f5c7982cb767575b52354f9263b6b.zip
fix archiva-xmlrpc-services unit tests
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1197142 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-modules')
-rw-r--r--archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/resources/spring-context.xml2
-rw-r--r--archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java26
-rw-r--r--archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml47
-rw-r--r--archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java116
-rw-r--r--archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/resources/META-INF/redback/redback-core.xml247
-rw-r--r--archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/resources/spring-context.xml21
6 files changed, 436 insertions, 23 deletions
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/resources/spring-context.xml b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/resources/spring-context.xml
index ffaf75ffa..8e55004c2 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/resources/spring-context.xml
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/resources/spring-context.xml
@@ -68,4 +68,6 @@
<constructor-arg ref="jcr-config"/>
</bean>
+
+
</beans> \ No newline at end of file
diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
index 2ae481a94..f4c99b2fe 100644
--- a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
+++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
@@ -63,6 +63,7 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -158,6 +159,11 @@ public class DefaultManagedRepositoryAdmin
List<ManagedRepositoryConfiguration> managedRepoConfigs =
getArchivaConfiguration().getConfiguration().getManagedRepositories();
+ if ( managedRepoConfigs == null )
+ {
+ return Collections.emptyList();
+ }
+
List<ManagedRepository> managedRepos = new ArrayList<ManagedRepository>( managedRepoConfigs.size() );
for ( ManagedRepositoryConfiguration repoConfig : managedRepoConfigs )
@@ -739,4 +745,24 @@ public class DefaultManagedRepositoryAdmin
{
this.repositoryTaskScheduler = repositoryTaskScheduler;
}
+
+ public PlexusSisuBridge getPlexusSisuBridge()
+ {
+ return plexusSisuBridge;
+ }
+
+ public void setPlexusSisuBridge( PlexusSisuBridge plexusSisuBridge )
+ {
+ this.plexusSisuBridge = plexusSisuBridge;
+ }
+
+ public MavenIndexerUtils getMavenIndexerUtils()
+ {
+ return mavenIndexerUtils;
+ }
+
+ public void setMavenIndexerUtils( MavenIndexerUtils mavenIndexerUtils )
+ {
+ this.mavenIndexerUtils = mavenIndexerUtils;
+ }
}
diff --git a/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml b/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml
index e6e29b310..45efa378f 100644
--- a/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml
+++ b/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml
@@ -106,6 +106,42 @@
<artifactId>archiva-configuration</artifactId>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-core</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.redback</groupId>
+ <artifactId>redback-keys-memory</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.redback</groupId>
+ <artifactId>redback-rbac-cached</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.redback</groupId>
+ <artifactId>redback-rbac-memory</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.redback</groupId>
+ <artifactId>redback-users-memory</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<pluginManagement>
@@ -119,6 +155,17 @@
</excludes>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <appserver.base>${project.build.directory}/appserver-base</appserver.base>
+ <plexus.home>${project.build.directory}/appserver-base</plexus.home>
+ <java.io.tmpdir>${project.build.testOutputDirectory}</java.io.tmpdir>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
</build>
diff --git a/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java b/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java
index ff2cb54fd..0ed7cdc39 100644
--- a/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java
+++ b/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java
@@ -29,6 +29,17 @@ import org.apache.archiva.admin.repository.proxyconnector.DefaultProxyConnectorA
import org.apache.archiva.admin.repository.remote.DefaultRemoteRepositoryAdmin;
import org.apache.archiva.audit.AuditEvent;
import org.apache.archiva.audit.AuditListener;
+import org.apache.archiva.common.plexusbridge.MavenIndexerUtils;
+import org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
+import org.apache.archiva.configuration.ArchivaConfiguration;
+import org.apache.archiva.configuration.Configuration;
+import org.apache.archiva.configuration.FileTypes;
+import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.archiva.configuration.RemoteRepositoryConfiguration;
+import org.apache.archiva.configuration.RepositoryGroupConfiguration;
+import org.apache.archiva.configuration.RepositoryScanningConfiguration;
+import org.apache.archiva.consumers.InvalidRepositoryContentConsumer;
+import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
import org.apache.archiva.metadata.model.ArtifactMetadata;
import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.RepositorySession;
@@ -36,7 +47,13 @@ import org.apache.archiva.metadata.repository.RepositorySessionFactory;
import org.apache.archiva.metadata.repository.filter.Filter;
import org.apache.archiva.metadata.repository.filter.IncludesFilter;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
+import org.apache.archiva.model.ArtifactReference;
+import org.apache.archiva.repository.RepositoryContentFactory;
+import org.apache.archiva.repository.content.ManagedDefaultRepositoryContent;
+import org.apache.archiva.repository.content.ManagedLegacyRepositoryContent;
+import org.apache.archiva.repository.content.PathParser;
import org.apache.archiva.repository.events.RepositoryListener;
+import org.apache.archiva.repository.layout.LayoutException;
import org.apache.archiva.repository.scanner.RepositoryContentConsumers;
import org.apache.archiva.scheduler.repository.RepositoryArchivaTaskScheduler;
import org.apache.archiva.scheduler.repository.RepositoryTask;
@@ -46,31 +63,18 @@ import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository;
import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.FileFilterUtils;
-import org.apache.archiva.configuration.ArchivaConfiguration;
-import org.apache.archiva.configuration.Configuration;
-import org.apache.archiva.configuration.FileTypes;
-import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
-import org.apache.archiva.configuration.RemoteRepositoryConfiguration;
-import org.apache.archiva.configuration.RepositoryGroupConfiguration;
-import org.apache.archiva.configuration.RepositoryScanningConfiguration;
-import org.apache.archiva.consumers.InvalidRepositoryContentConsumer;
-import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
-import org.apache.archiva.model.ArtifactReference;
-import org.apache.archiva.repository.RepositoryContentFactory;
-import org.apache.archiva.repository.content.ManagedDefaultRepositoryContent;
-import org.apache.archiva.repository.content.ManagedLegacyRepositoryContent;
-import org.apache.archiva.repository.content.PathParser;
-import org.apache.archiva.repository.layout.LayoutException;
import org.codehaus.plexus.redback.role.RoleManager;
import org.codehaus.plexus.registry.Registry;
import org.easymock.MockControl;
import org.easymock.classextension.MockClassControl;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import javax.inject.Inject;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -170,6 +174,12 @@ public class AdministrationServiceImplTest
private DefaultRepositoryGroupAdmin repositoryGroupAdmin;
+ @Inject
+ PlexusSisuBridge plexusSisuBridge;
+
+ @Inject
+ MavenIndexerUtils mavenIndexerUtils;
+
@Before
public void setUp()
throws Exception
@@ -182,6 +192,8 @@ public class AdministrationServiceImplTest
configControl = MockClassControl.createControl( Configuration.class );
config = (Configuration) configControl.getMock();
+
+
repositoryTaskSchedulerControl = MockClassControl.createControl( RepositoryArchivaTaskScheduler.class );
repositoryTaskScheduler = (RepositoryArchivaTaskScheduler) repositoryTaskSchedulerControl.getMock();
@@ -236,6 +248,14 @@ public class AdministrationServiceImplTest
managedRepositoryAdmin.setRepositorySessionFactory( repositorySessionFactory );
managedRepositoryAdmin.setAuditListeners( Arrays.asList( auditListener ) );
managedRepositoryAdmin.setRoleManager( roleManager );
+ managedRepositoryAdmin.setMavenIndexerUtils( mavenIndexerUtils );
+ managedRepositoryAdmin.setPlexusSisuBridge( plexusSisuBridge );
+ archivaConfigControl.reset();
+ archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1, 3 );
+ configControl.expectAndReturn( config.getManagedRepositories(), new ArrayList( 0 ) );
+ archivaConfigControl.replay();
+ configControl.replay();
+ managedRepositoryAdmin.initialize();
RepositoryCommonValidator repositoryCommonValidator = new RepositoryCommonValidator();
repositoryCommonValidator.setArchivaConfiguration( archivaConfig );
@@ -266,6 +286,18 @@ public class AdministrationServiceImplTest
Collections.singletonList( listener ), repositoryStatisticsManager,
repositoryMerger, auditListener, managedRepositoryAdmin,
remoteRepositoryAdmin, proxyConnectorAdmin, repositoryGroupAdmin );
+
+
+ }
+
+ @After
+ public void shutdown()
+ throws Exception
+ {
+ //archivaConfigControl.reset();
+ //archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1 );
+ //configControl.expectAndReturn( config.getManagedRepositories(), new ArrayList( 0 ), 1 );
+ //managedRepositoryAdmin.shutdown();
}
/* Tests for repository consumers */
@@ -305,7 +337,9 @@ public class AdministrationServiceImplTest
// test enable "check-metadata" consumer
recordRepoConsumers();
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getRepositoryScanning(), repoScanning, 1, 5 );
archivaConfig.save( config );
@@ -406,7 +440,9 @@ public class AdministrationServiceImplTest
{
ManagedRepositoryConfiguration managedRepo = createManagedRepo( "default", "default-repo" );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( managedRepo ), 1, 5 );
ManagedDefaultRepositoryContent repoContent = new ManagedDefaultRepositoryContent();
@@ -458,8 +494,9 @@ public class AdministrationServiceImplTest
PathParser parser = (PathParser) pathParserControl.getMock();
ManagedRepositoryConfiguration managedRepo = createManagedRepo( "legacy", "legacy-repo" );
-
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( managedRepo ), 1, 5 );
ManagedLegacyRepositoryContent repoContent = new ManagedLegacyRepositoryContent();
@@ -520,7 +557,9 @@ public class AdministrationServiceImplTest
{
ManagedRepositoryConfiguration managedRepo = createManagedRepo( "default", "default-repo" );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( managedRepo ), 1, 5 );
ManagedDefaultRepositoryContent repoContent = new ManagedDefaultRepositoryContent();
@@ -569,7 +608,9 @@ public class AdministrationServiceImplTest
public void testDeleteArtifacRepositoryDoesNotExist()
throws Exception
{
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Collections.emptyList() );
archivaConfigControl.replay();
@@ -594,7 +635,9 @@ public class AdministrationServiceImplTest
public void testExecuteRepoScannerRepoExistsAndNotBeingScanned()
throws Exception
{
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList(
createManagedRepo( "internal", "default", "Internal Repository", true, false ) ), 1, 5 );
@@ -630,8 +673,10 @@ public class AdministrationServiceImplTest
public void testExecuteRepoScannerRepoExistsButBeingScanned()
throws Exception
{
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList(
createManagedRepo( "internal", "default", "Internal Repository", true, false ) ), 1, 5 );
@@ -661,7 +706,9 @@ public class AdministrationServiceImplTest
public void testExecuteRepoScannerRepoDoesNotExist()
throws Exception
{
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Collections.emptyList(), 1, 5 );
archivaConfigControl.replay();
@@ -690,7 +737,9 @@ public class AdministrationServiceImplTest
managedRepos.add( createManagedRepo( "internal", "default", "Internal Repository", true, false ) );
managedRepos.add( createManagedRepo( "snapshots", "default", "Snapshots Repository", false, true ) );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), managedRepos );
archivaConfigControl.replay();
@@ -718,7 +767,9 @@ public class AdministrationServiceImplTest
remoteRepos.add(
createRemoteRepository( "dummy", "Dummy Remote Repository", "legacy", "http://dummy.com/dummy" ) );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getRemoteRepositories(), remoteRepos );
archivaConfigControl.replay();
@@ -739,7 +790,9 @@ public class AdministrationServiceImplTest
@Test
public void testDeleteInvalidRepositoryContent()
{
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Collections.emptyList(), 1, 5 );
archivaConfigControl.replay();
@@ -765,7 +818,9 @@ public class AdministrationServiceImplTest
ManagedRepositoryConfiguration managedRepo = createManagedRepo( "default", "default-repo" );
assertTrue( new File( managedRepo.getLocation(), "org" ).exists() );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1, 3 );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( managedRepo ), 1, 5 );
metadataRepository.removeRepository( "internal" );
@@ -789,7 +844,9 @@ public class AdministrationServiceImplTest
public void testMergeRepositoryWithInvalidRepository()
throws Exception
{
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Collections.emptyList(), 1, 2 );
archivaConfigControl.replay();
@@ -812,8 +869,10 @@ public class AdministrationServiceImplTest
public void testMergeWithNoStagingRepository()
throws Exception
{
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1, 5 );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(),
Arrays.asList( createManagedRepo( "repo", "default", "repo", true, false ) ), 1,
4 );
@@ -853,7 +912,9 @@ public class AdministrationServiceImplTest
RepositoryTask task = new RepositoryTask();
task.setScanAll( true );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1, 5 );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( merge, staging ), 1, 5 );
metadataRepositoryControl.expectAndReturn( metadataRepository.getArtifacts( staging.getId() ), sources );
@@ -921,7 +982,9 @@ public class AdministrationServiceImplTest
repo.setLocation( "target/test-repository/one" );
ManagedRepositoryConfiguration staging = createStagingRepo( repo );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( repo, staging ), 1, 5 );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1, 5 );
metadataRepositoryControl.expectAndReturn( metadataRepository.getArtifacts( staging.getId() ), sources );
@@ -984,8 +1047,10 @@ public class AdministrationServiceImplTest
remoteRepoMap.put( "repo1", remoteRepo );
repoGroupMap.put( "repo1", repoGroup );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositoriesAsMap(), managedRepoMap );
configControl.expectAndReturn( config.getRemoteRepositoriesAsMap(), remoteRepoMap );
configControl.expectAndReturn( config.getRepositoryGroupsAsMap(), repoGroupMap );
@@ -1051,7 +1116,7 @@ public class AdministrationServiceImplTest
assertFalse( new File( releaseLocation ).isDirectory() );
assertFalse( new File( stageLocation ).isDirectory() );
boolean success = service.addManagedRepository( repoId, layout, name,
- "${appserver.base}/test-repository/" + projId + ".releases",
+ appserverBase + "/test-repository/" + projId + ".releases",
true, true, false, true, "0 15 3 * * ? *", 1, 1, true );
assertTrue( success );
assertTrue( new File( releaseLocation ).isDirectory() );
@@ -1085,8 +1150,10 @@ public class AdministrationServiceImplTest
remoteRepoMap.put( "repo1", remoteRepo );
repoGroupMap.put( "repo1", repoGroup );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositoriesAsMap(), managedRepoMap );
configControl.expectAndReturn( config.getRemoteRepositoriesAsMap(), remoteRepoMap );
configControl.expectAndReturn( config.getRepositoryGroupsAsMap(), repoGroupMap );
@@ -1097,7 +1164,7 @@ public class AdministrationServiceImplTest
try
{
service.addManagedRepository( repoId, layout, name,
- "${appserver.base}/test-repository/" + projId + ".releases", true, true,
+ "target/test-repository/" + projId + ".releases", true, true,
false, true, "0 15 3 * * ? *", 1, 1, true );
fail( "An exception should have been thrown! Repository ID is not valid." );
}
@@ -1132,8 +1199,10 @@ public class AdministrationServiceImplTest
remoteRepoMap.put( "repo1", remoteRepo );
repoGroupMap.put( "repo1", repoGroup );
+ archivaConfigControl.reset();
archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ configControl.reset();
configControl.expectAndReturn( config.getManagedRepositoriesAsMap(), managedRepoMap );
configControl.expectAndReturn( config.getRemoteRepositoriesAsMap(), remoteRepoMap );
configControl.expectAndReturn( config.getRepositoryGroupsAsMap(), repoGroupMap );
@@ -1144,7 +1213,7 @@ public class AdministrationServiceImplTest
try
{
service.addManagedRepository( repoId, layout, name,
- "${appserver.base}/test-repository/" + projId + ".releases", true, true,
+ "target/test-repository/" + projId + ".releases", true, true,
false, true, "0 15 3 * * ? *", 1, 1, true );
fail( "An exception should have been thrown! Repository name is not valid." );
}
@@ -1181,11 +1250,12 @@ public class AdministrationServiceImplTest
remoteRepoMap.put( "repo1", remoteRepo );
repoGroupMap.put( "repo1", repoGroup );
- archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
- archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+ archivaConfigControl.reset();
+ archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1, 3 );
- configControl.expectAndReturn( config.getManagedRepositoriesAsMap(), managedRepoMap );
- configControl.expectAndReturn( config.getRemoteRepositoriesAsMap(), remoteRepoMap );
+ configControl.reset();
+ configControl.expectAndReturn( config.getManagedRepositoriesAsMap(), managedRepoMap, 0, 3 );
+ configControl.expectAndReturn( config.getRemoteRepositoriesAsMap(), remoteRepoMap, 1, 3 );
configControl.expectAndReturn( config.getRepositoryGroupsAsMap(), repoGroupMap );
registryControl.expectAndReturn( registry.getString( "appserver.base", "${appserver.base}" ), appserverBase );
registryControl.expectAndReturn( registry.getString( "appserver.home", "${appserver.home}" ), appserverBase );
diff --git a/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/resources/META-INF/redback/redback-core.xml b/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/resources/META-INF/redback/redback-core.xml
new file mode 100644
index 000000000..751ac5c8e
--- /dev/null
+++ b/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/resources/META-INF/redback/redback-core.xml
@@ -0,0 +1,247 @@
+<!--
+ ~ 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.
+ -->
+
+<redback-role-model>
+ <modelVersion>1.0.0</modelVersion>
+ <applications>
+ <application>
+ <id>System</id>
+ <description>Roles that apply system-wide, across all of the applications</description>
+ <version>1.0.0</version>
+ <resources>
+ <resource>
+ <id>global</id>
+ <name>*</name>
+ <permanent>true</permanent>
+ <description>global resource implies full access for authorization</description>
+ </resource>
+ <resource>
+ <id>username</id>
+ <name>${username}</name>
+ <permanent>true</permanent>
+ <description>replaced with the username of the principal at authorization check time</description>
+ </resource>
+ </resources>
+ <operations>
+ <operation>
+ <id>configuration-edit</id>
+ <name>configuration-edit</name>
+ <description>edit configuration</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>user-management-user-create</id>
+ <name>user-management-user-create</name>
+ <description>create user</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>user-management-user-edit</id>
+ <name>user-management-user-edit</name>
+ <description>edit user</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>user-management-user-role</id>
+ <name>user-management-user-role</name>
+ <description>user roles</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>user-management-user-delete</id>
+ <name>user-management-user-delete</name>
+ <description>delete user</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>user-management-user-list</id>
+ <name>user-management-user-list</name>
+ <description>list users</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>user-management-role-grant</id>
+ <name>user-management-role-grant</name>
+ <description>grant role</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>user-management-role-drop</id>
+ <name>user-management-role-drop</name>
+ <description>drop role</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>user-management-rbac-admin</id>
+ <name>user-management-rbac-admin</name>
+ <description>administer rbac</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>guest-access</id>
+ <name>guest-access</name>
+ <description>access guest</description>
+ <permanent>true</permanent>
+ </operation>
+ <operation>
+ <id>user-management-manage-data</id>
+ <name>user-management-manage-data</name>
+ <description>manage data</description>
+ <permanent>true</permanent>
+ </operation>
+ </operations>
+ <roles>
+ <role>
+ <id>system-administrator</id>
+ <name>System Administrator</name>
+ <permanent>true</permanent>
+ <assignable>true</assignable>
+ <permissions>
+ <permission>
+ <id>edit-redback-configuration</id>
+ <name>Edit Redback Configuration</name>
+ <operation>configuration-edit</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ <permission>
+ <id>manage-rbac-setup</id>
+ <name>User RBAC Management</name>
+ <operation>user-management-rbac-admin</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ <permission>
+ <id>manage-rbac-data</id>
+ <name>RBAC Manage Data</name>
+ <operation>user-management-manage-data</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ </permissions>
+ <childRoles>
+ <childRole>user-administrator</childRole>
+ </childRoles>
+ </role>
+ <role>
+ <id>user-administrator</id>
+ <name>User Administrator</name>
+ <permanent>true</permanent>
+ <assignable>true</assignable>
+ <permissions>
+ <permission>
+ <id>drop-roles-for-anyone</id>
+ <name>Drop Roles for Anyone</name>
+ <operation>user-management-role-drop</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ <permission>
+ <id>grant-roles-for-anyone</id>
+ <name>Grant Roles for Anyone</name>
+ <operation>user-management-role-grant</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ <permission>
+ <id>user-create</id>
+ <name>Create Users</name>
+ <operation>user-management-user-create</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ <permission>
+ <id>user-delete</id>
+ <name>Delete Users</name>
+ <operation>user-management-user-delete</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ <permission>
+ <id>user-edit</id>
+ <name>Edit Users</name>
+ <operation>user-management-user-edit</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ <permission>
+ <id>access-users-roles</id>
+ <name>Access Users Roles</name>
+ <operation>user-management-user-role</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ <permission>
+ <id>access-user-list</id>
+ <name>Access User List</name>
+ <operation>user-management-user-list</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ </permissions>
+ </role>
+ <role>
+ <id>edit-users-list</id>
+ <name>edit users list</name>
+ <permanent>true</permanent>
+ <assignable>true</assignable>
+ <permissions>
+ <permission>
+ <id>access-user-list</id>
+ <name>Access User List</name>
+ <operation>user-management-user-list</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ </permissions>
+ </role>
+ <role>
+ <id>registered-user</id>
+ <name>Registered User</name>
+ <permanent>true</permanent>
+ <assignable>true</assignable>
+ <permissions>
+ <permission>
+ <id>edit-user-by-username</id>
+ <name>Edit User Data by Username</name>
+ <operation>user-management-user-edit</operation>
+ <resource>username</resource>
+ <permanent>true</permanent>
+ </permission>
+ </permissions>
+ </role>
+ <role>
+ <id>guest</id>
+ <name>Guest</name>
+ <permanent>true</permanent>
+ <assignable>true</assignable>
+ <permissions>
+ <permission>
+ <id>guest-permission</id>
+ <name>Guest Permission</name>
+ <operation>guest-access</operation>
+ <resource>global</resource>
+ <permanent>true</permanent>
+ </permission>
+ </permissions>
+ </role>
+ </roles>
+ </application>
+ </applications>
+</redback-role-model> \ No newline at end of file
diff --git a/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/resources/spring-context.xml b/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/resources/spring-context.xml
index 86208a3b0..4a73047ac 100644
--- a/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/resources/spring-context.xml
+++ b/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/resources/spring-context.xml
@@ -27,4 +27,25 @@
http://www.springframework.org/schema/context/spring-context-3.0.xsd"
default-lazy-init="true">
+ <bean id="jcr-config" class="org.apache.archiva.metadata.repository.jcr.ArchivaJcrRepositoryConfig" factory-method="create">
+ <constructor-arg value="${appserver.base}/conf/repository.xml"/>
+ <constructor-arg value="${appserver.base}/data/jcr"/>
+ </bean>
+
+ <bean id="jcr-repository" class="org.apache.jackrabbit.core.RepositoryImpl" destroy-method="shutdown" lazy-init="true">
+ <constructor-arg ref="jcr-config"/>
+ </bean>
+
+ <bean name="scheduler" class="org.codehaus.redback.components.scheduler.DefaultScheduler">
+ <property name="properties">
+ <props>
+ <prop key="org.quartz.scheduler.instanceName">scheduler1</prop>
+ <prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
+ <prop key="org.quartz.threadPool.threadCount">2</prop>
+ <prop key="org.quartz.threadPool.threadPriority">4</prop>
+ <prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
+ </props>
+ </property>
+ </bean>
+
</beans> \ No newline at end of file