Resolve config files via resolve method of context provider

This commit is contained in:
René Pfeuffer
2019-06-03 16:02:04 +02:00
parent 7c50ad07ec
commit da4f3e6691
5 changed files with 34 additions and 29 deletions

View File

@@ -15,7 +15,8 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import static org.mockito.Mockito.when;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.lenient;
public class UpdateStepTestUtil {
@@ -28,7 +29,8 @@ private final SCMContextProvider contextProvider;
this.tempDir = tempDir;
contextProvider = Mockito.mock(SCMContextProvider.class);
storeFactory = new JAXBConfigurationEntryStoreFactory(contextProvider, null, new DefaultKeyGenerator());
when(contextProvider.getBaseDirectory()).thenReturn(tempDir.toFile());
lenient().when(contextProvider.getBaseDirectory()).thenReturn(tempDir.toFile());
lenient().when(contextProvider.resolve(any())).thenAnswer(invocation -> tempDir.resolve(invocation.getArgument(0).toString()));
}
public SCMContextProvider getContextProvider() {

View File

@@ -11,7 +11,6 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import sonia.scm.SCMContextProvider;
import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryPermission;
import sonia.scm.repository.xml.XmlRepositoryDAO;
@@ -19,6 +18,7 @@ import sonia.scm.store.ConfigurationEntryStore;
import sonia.scm.store.ConfigurationEntryStoreFactory;
import sonia.scm.store.InMemoryConfigurationEntryStore;
import sonia.scm.store.InMemoryConfigurationEntryStoreFactory;
import sonia.scm.update.UpdateStepTestUtil;
import javax.xml.bind.JAXBException;
import java.io.IOException;
@@ -46,8 +46,6 @@ class XmlRepositoryV1UpdateStepTest {
Injector injectorMock = MigrationStrategyMock.init();
@Mock
SCMContextProvider contextProvider;
@Mock
XmlRepositoryDAO repositoryDAO;
@Mock
@@ -60,17 +58,15 @@ class XmlRepositoryV1UpdateStepTest {
@Captor
ArgumentCaptor<Path> locationCaptor;
UpdateStepTestUtil testUtil;
XmlRepositoryV1UpdateStep updateStep;
@BeforeEach
void mockScmHome(@TempDirectory.TempDir Path tempDir) {
when(contextProvider.getBaseDirectory()).thenReturn(tempDir.toFile());
}
@BeforeEach
void createUpdateStepFromMocks() {
void createUpdateStepFromMocks(@TempDirectory.TempDir Path tempDir) {
testUtil = new UpdateStepTestUtil(tempDir);
updateStep = new XmlRepositoryV1UpdateStep(
contextProvider,
testUtil.getContextProvider(),
repositoryDAO,
migrationStrategyDao,
injectorMock,