more usage of MockRepositorySessionFactory

This commit is contained in:
Olivier Lamy 2015-10-01 16:21:14 +10:00
parent 4ce3140da9
commit 4ad5e63c64
3 changed files with 15 additions and 42 deletions

View File

@ -21,6 +21,7 @@ package org.apache.archiva.mock;
import org.apache.archiva.metadata.repository.AbstractMetadataRepository; import org.apache.archiva.metadata.repository.AbstractMetadataRepository;
import org.apache.archiva.metadata.repository.MetadataRepository; import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.MetadataResolver;
import org.apache.archiva.metadata.repository.RepositorySession; import org.apache.archiva.metadata.repository.RepositorySession;
import org.apache.archiva.metadata.repository.RepositorySessionFactory; import org.apache.archiva.metadata.repository.RepositorySessionFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -36,15 +37,22 @@ public class MockRepositorySessionFactory
{ {
}; };
private MetadataResolver resolver;
public void setRepository( MetadataRepository repository ) public void setRepository( MetadataRepository repository )
{ {
this.repository = repository; this.repository = repository;
} }
public void setResolver( MetadataResolver resolver )
{
this.resolver = resolver;
}
@Override @Override
public RepositorySession createSession() public RepositorySession createSession()
{ {
return new RepositorySession( repository, null ) return new RepositorySession( repository, resolver )
{ {
@Override @Override
public void close() public void close()

View File

@ -232,6 +232,11 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
<artifactId>archiva-mock</artifactId>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.apache.archiva.redback</groupId> <groupId>org.apache.archiva.redback</groupId>
<artifactId>redback-common-test-resources</artifactId> <artifactId>redback-common-test-resources</artifactId>
@ -308,7 +313,7 @@
<archiva.user.configFileName>${project.build.testOutputDirectory}/repository-archiva.xml</archiva.user.configFileName> <archiva.user.configFileName>${project.build.testOutputDirectory}/repository-archiva.xml</archiva.user.configFileName>
<redback.jdbc.url>${redbackTestJdbcUrl}</redback.jdbc.url> <redback.jdbc.url>${redbackTestJdbcUrl}</redback.jdbc.url>
<redback.jdbc.driver.name>${redbackTestJdbcDriver}</redback.jdbc.driver.name> <redback.jdbc.driver.name>${redbackTestJdbcDriver}</redback.jdbc.driver.name>
<archiva.repositorySessionFactory.id>beer</archiva.repositorySessionFactory.id> <archiva.repositorySessionFactory.id>mock</archiva.repositorySessionFactory.id>
</systemPropertyVariables> </systemPropertyVariables>
<forkMode>${webdav.forkMode}</forkMode> <forkMode>${webdav.forkMode}</forkMode>
</configuration> </configuration>

View File

@ -1,40 +0,0 @@
package org.apache.archiva.metadata.repository;
/*
* 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.
*/
import org.springframework.stereotype.Service;
@Service("repositorySessionFactory#beer")
public class TestRepositorySessionFactory
implements RepositorySessionFactory
{
private MetadataResolver resolver;
@Override
public RepositorySession createSession()
{
return new RepositorySession( new AbstractMetadataRepository() {}, resolver );
}
public void setResolver( MetadataResolver resolver )
{
this.resolver = resolver;
}
}