merge + refactor getStoreDirectory

This commit is contained in:
Mohamed Karray
2018-11-28 15:14:49 +01:00
98 changed files with 1474 additions and 1534 deletions

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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;

View File

@@ -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);

View File

@@ -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