more usage of MockRepositorySessionFactory

This commit is contained in:
Olivier Lamy 2015-10-01 15:39:41 +10:00
parent 56f8b575d4
commit 87ff9f5d3d
5 changed files with 22 additions and 63 deletions

View File

@ -150,6 +150,11 @@
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
<artifactId>archiva-mock</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
@ -165,7 +170,7 @@
<redback.jdbc.url>${redbackTestJdbcUrl}</redback.jdbc.url>
<redback.jdbc.driver.name>${redbackTestJdbcDriver}</redback.jdbc.driver.name>
<archiva.user.configFileName>${project.build.directory}/archiva.xml</archiva.user.configFileName>
<archiva.repositorySessionFactory.id>test</archiva.repositorySessionFactory.id>
<archiva.repositorySessionFactory.id>mock</archiva.repositorySessionFactory.id>
</systemPropertyVariables>
</configuration>
</plugin>

View File

@ -30,7 +30,7 @@ import org.apache.archiva.configuration.FileType;
import org.apache.archiva.configuration.FileTypes;
import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
import org.apache.archiva.consumers.functors.ConsumerWantsFilePredicate;
import org.apache.archiva.metadata.repository.TestRepositorySessionFactory;
import org.apache.archiva.mock.MockRepositorySessionFactory;
import org.apache.commons.io.FileUtils;
import org.custommonkey.xmlunit.XMLAssert;
import org.junit.After;
@ -58,7 +58,7 @@ public class RepositoryPurgeConsumerTest
{
super.setUp();
TestRepositorySessionFactory factory = applicationContext.getBean( TestRepositorySessionFactory.class );
MockRepositorySessionFactory factory = applicationContext.getBean( MockRepositorySessionFactory.class );
factory.setRepository( metadataRepository );
}

View File

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

View File

@ -32,10 +32,19 @@ import org.springframework.stereotype.Service;
public class MockRepositorySessionFactory
implements RepositorySessionFactory
{
private MetadataRepository repository = new AbstractMetadataRepository()
{
};
public void setRepository( MetadataRepository repository )
{
this.repository = repository;
}
@Override
public RepositorySession createSession()
{
return new RepositorySession( null, null )
return new RepositorySession( repository, null )
{
@Override
public void close()
@ -52,9 +61,7 @@ public class MockRepositorySessionFactory
@Override
public MetadataRepository getRepository()
{
return new AbstractMetadataRepository()
{
};
return repository;
}
};
}

View File

@ -22,7 +22,6 @@ package org.apache.archiva.metadata.repository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.config.AbstractFactoryBean;
import org.springframework.stereotype.Service;
import java.util.Properties;
@ -30,7 +29,6 @@ import java.util.Properties;
* @author Olivier Lamy
* @since 2.0.2
*/
//@Service("repositorySessionFactoryBean#default")
public class RepositorySessionFactoryBean
extends AbstractFactoryBean<RepositorySessionFactory>
{
@ -67,7 +65,9 @@ public class RepositorySessionFactoryBean
{
RepositorySessionFactory repositorySessionFactory =
getBeanFactory().getBean( "repositorySessionFactory#" + id, RepositorySessionFactory.class );
logger.info( "create RepositorySessionFactory instance of {}", repositorySessionFactory.getClass().getName() );
logger.info( "create RepositorySessionFactory with id {} instance of {}", //
id, //
repositorySessionFactory.getClass().getName() );
return repositorySessionFactory;
}