mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-02 04:39:14 +01:00
merge + refactor getStoreDirectory
This commit is contained in:
@@ -90,7 +90,7 @@ public class AbstractTestBase
|
||||
assertTrue(tempDirectory.mkdirs());
|
||||
contextProvider = MockUtil.getSCMContextProvider(tempDirectory);
|
||||
fileSystem = new DefaultFileSystem();
|
||||
InitialRepositoryLocationResolver initialRepoLocationResolver = new InitialRepositoryLocationResolver(contextProvider,fileSystem);
|
||||
InitialRepositoryLocationResolver initialRepoLocationResolver = new InitialRepositoryLocationResolver(contextProvider);
|
||||
repositoryLocationResolver = new RepositoryLocationResolver(repositoryDAO, initialRepoLocationResolver);
|
||||
postSetUp();
|
||||
}
|
||||
|
||||
@@ -37,9 +37,12 @@ import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import sonia.scm.repository.InitialRepositoryLocationResolver;
|
||||
import sonia.scm.repository.RepositoryDAO;
|
||||
import sonia.scm.repository.RepositoryLocationResolver;
|
||||
import sonia.scm.util.MockUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -60,11 +63,18 @@ public abstract class ManagerTestBase<T extends ModelObject>
|
||||
protected RepositoryLocationResolver locationResolver;
|
||||
|
||||
protected Manager<T> manager;
|
||||
|
||||
|
||||
protected File temp ;
|
||||
|
||||
@Before
|
||||
public void setUp() throws IOException {
|
||||
contextProvider = MockUtil.getSCMContextProvider(tempFolder.newFolder());
|
||||
locationResolver = mock(RepositoryLocationResolver.class);
|
||||
if (temp == null){
|
||||
temp = tempFolder.newFolder();
|
||||
}
|
||||
contextProvider = MockUtil.getSCMContextProvider(temp);
|
||||
InitialRepositoryLocationResolver initialRepositoryLocationResolver = new InitialRepositoryLocationResolver(contextProvider);
|
||||
RepositoryDAO repoDao = mock(RepositoryDAO.class);
|
||||
locationResolver = new RepositoryLocationResolver(repoDao ,initialRepositoryLocationResolver);
|
||||
manager = createManager();
|
||||
manager.init(contextProvider);
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ package sonia.scm.repository;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import sonia.scm.AlreadyExistsException;
|
||||
import sonia.scm.io.DefaultFileSystem;
|
||||
import sonia.scm.store.ConfigurationStoreFactory;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
@@ -60,7 +59,7 @@ public class DummyRepositoryHandler
|
||||
private final Set<String> existingRepoNames = new HashSet<>();
|
||||
|
||||
public DummyRepositoryHandler(ConfigurationStoreFactory storeFactory, RepositoryLocationResolver repositoryLocationResolver) {
|
||||
super(storeFactory, new DefaultFileSystem(), repositoryLocationResolver);
|
||||
super(storeFactory, repositoryLocationResolver);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -41,20 +41,24 @@ import sonia.scm.util.IOUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
public abstract class SimpleRepositoryHandlerTestBase extends AbstractTestBase {
|
||||
|
||||
|
||||
protected PathBasedRepositoryDAO repoDao = mock(PathBasedRepositoryDAO.class);
|
||||
protected Path repoPath;
|
||||
protected Repository repository;
|
||||
|
||||
protected abstract void checkDirectory(File directory);
|
||||
|
||||
protected abstract RepositoryHandler createRepositoryHandler(
|
||||
@@ -65,27 +69,6 @@ public abstract class SimpleRepositoryHandlerTestBase extends AbstractTestBase {
|
||||
createRepository();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateResourcePath() {
|
||||
Repository repository = createRepository();
|
||||
String path = handler.createResourcePath(repository);
|
||||
|
||||
assertNotNull(path);
|
||||
assertTrue(path.trim().length() > 0);
|
||||
assertTrue(path.contains(repository.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDelete() {
|
||||
Repository repository = createRepository();
|
||||
|
||||
handler.delete(repository);
|
||||
|
||||
File directory = new File(baseDirectory, repository.getId());
|
||||
|
||||
assertFalse(directory.exists());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void postSetUp() throws IOException, RepositoryPathNotFoundException {
|
||||
InMemoryConfigurationStoreFactory storeFactory = new InMemoryConfigurationStoreFactory();
|
||||
@@ -101,18 +84,22 @@ public abstract class SimpleRepositoryHandlerTestBase extends AbstractTestBase {
|
||||
}
|
||||
}
|
||||
|
||||
private Repository createRepository() {
|
||||
Repository repository = RepositoryTestData.createHeartOfGold();
|
||||
private void createRepository() {
|
||||
File nativeRepoDirectory = initRepository();
|
||||
|
||||
handler.create(repository);
|
||||
|
||||
File directory = new File(new File(baseDirectory, repository.getId()), InitialRepositoryLocationResolver.REPOSITORIES_NATIVE_DIRECTORY);
|
||||
assertTrue(nativeRepoDirectory.exists());
|
||||
assertTrue(nativeRepoDirectory.isDirectory());
|
||||
checkDirectory(nativeRepoDirectory);
|
||||
}
|
||||
|
||||
assertTrue(directory.exists());
|
||||
assertTrue(directory.isDirectory());
|
||||
checkDirectory(directory);
|
||||
|
||||
return repository;
|
||||
protected File initRepository() {
|
||||
repository = RepositoryTestData.createHeartOfGold();
|
||||
File repoDirectory = new File(baseDirectory, repository.getId());
|
||||
repoPath = repoDirectory.toPath();
|
||||
when(repoDao.getPath(repository)).thenReturn(repoPath);
|
||||
return new File(repoDirectory, AbstractSimpleRepositoryHandler.REPOSITORIES_NATIVE_DIRECTORY);
|
||||
}
|
||||
|
||||
protected File baseDirectory;
|
||||
|
||||
@@ -53,7 +53,7 @@ public abstract class ConfigurationEntryStoreTestBase extends KeyValueStoreTestB
|
||||
protected ConfigurationEntryStore getDataStore(Class type) {
|
||||
StoreParameters params = new StoreParameters()
|
||||
.withType(type)
|
||||
.withName("test")
|
||||
.withName(storeName)
|
||||
.build();
|
||||
return this.createConfigurationStoreFactory().getStore(params);
|
||||
}
|
||||
@@ -62,7 +62,7 @@ public abstract class ConfigurationEntryStoreTestBase extends KeyValueStoreTestB
|
||||
protected ConfigurationEntryStore getDataStore(Class type, Repository repository) {
|
||||
StoreParameters params = new StoreParameters()
|
||||
.withType(type)
|
||||
.withName("test")
|
||||
.withName(repoStoreName)
|
||||
.forRepository(repository)
|
||||
.build();
|
||||
return this.createConfigurationStoreFactory().getStore(params);
|
||||
|
||||
@@ -58,9 +58,11 @@ import java.util.Map;
|
||||
public abstract class KeyValueStoreTestBase extends AbstractTestBase
|
||||
{
|
||||
|
||||
private Repository repository = RepositoryTestData.createHeartOfGold();
|
||||
private DataStore<StoreObject> store;
|
||||
private DataStore<StoreObject> repoStore;
|
||||
protected Repository repository = RepositoryTestData.createHeartOfGold();
|
||||
protected DataStore<StoreObject> store;
|
||||
protected DataStore<StoreObject> repoStore;
|
||||
protected String repoStoreName = "testRepoStore";
|
||||
protected String storeName = "testStore";
|
||||
|
||||
/**
|
||||
* Method description
|
||||
|
||||
Reference in New Issue
Block a user