From fae3de7b6c641aec5550af14a7a0f57abeaae7c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Wed, 19 Jun 2019 09:31:56 +0200 Subject: [PATCH] Extract update step test util --- .../sonia/scm/update/UpdateStepTestUtil.java | 20 +------------------ .../group/XmlGroupV1UpdateStepTest.java | 5 ++++- .../update/user/XmlUserV1UpdateStepTest.java | 15 ++++++++++++-- 3 files changed, 18 insertions(+), 22 deletions(-) rename {scm-webapp/src/test => scm-test/src/main}/java/sonia/scm/update/UpdateStepTestUtil.java (71%) diff --git a/scm-webapp/src/test/java/sonia/scm/update/UpdateStepTestUtil.java b/scm-test/src/main/java/sonia/scm/update/UpdateStepTestUtil.java similarity index 71% rename from scm-webapp/src/test/java/sonia/scm/update/UpdateStepTestUtil.java rename to scm-test/src/main/java/sonia/scm/update/UpdateStepTestUtil.java index 8326e6d255..7b4487f1a5 100644 --- a/scm-webapp/src/test/java/sonia/scm/update/UpdateStepTestUtil.java +++ b/scm-test/src/main/java/sonia/scm/update/UpdateStepTestUtil.java @@ -3,11 +3,6 @@ package sonia.scm.update; import com.google.common.io.Resources; import org.mockito.Mockito; import sonia.scm.SCMContextProvider; -import sonia.scm.security.AssignedPermission; -import sonia.scm.security.DefaultKeyGenerator; -import sonia.scm.store.ConfigurationEntryStore; -import sonia.scm.store.ConfigurationEntryStoreFactory; -import sonia.scm.store.JAXBConfigurationEntryStoreFactory; import java.io.IOException; import java.net.URL; @@ -20,15 +15,13 @@ import static org.mockito.Mockito.lenient; public class UpdateStepTestUtil { -private final SCMContextProvider contextProvider; + private final SCMContextProvider contextProvider; private final Path tempDir; - private final ConfigurationEntryStoreFactory storeFactory; public UpdateStepTestUtil(Path tempDir) { this.tempDir = tempDir; contextProvider = Mockito.mock(SCMContextProvider.class); - storeFactory = new JAXBConfigurationEntryStoreFactory(contextProvider, null, new DefaultKeyGenerator()); lenient().when(contextProvider.getBaseDirectory()).thenReturn(tempDir.toFile()); lenient().when(contextProvider.resolve(any())).thenAnswer(invocation -> tempDir.resolve(invocation.getArgument(0).toString())); } @@ -37,10 +30,6 @@ private final SCMContextProvider contextProvider; return contextProvider; } - public ConfigurationEntryStoreFactory getStoreFactory() { - return storeFactory; - } - public void copyConfigFile(String fileName) throws IOException { Path configDir = tempDir.resolve("config"); Files.createDirectories(configDir); @@ -53,13 +42,6 @@ private final SCMContextProvider contextProvider; copyTestDatabaseFile(configDir, fileName, targetFileName); } - public ConfigurationEntryStore getStoreForConfigFile(String name) { - return storeFactory - .withType(AssignedPermission.class) - .withName(name) - .build(); - } - public Path getFile(String name) { return tempDir.resolve("config").resolve(name); } diff --git a/scm-webapp/src/test/java/sonia/scm/update/group/XmlGroupV1UpdateStepTest.java b/scm-webapp/src/test/java/sonia/scm/update/group/XmlGroupV1UpdateStepTest.java index 6dee5fd5c1..caa7f68fea 100644 --- a/scm-webapp/src/test/java/sonia/scm/update/group/XmlGroupV1UpdateStepTest.java +++ b/scm-webapp/src/test/java/sonia/scm/update/group/XmlGroupV1UpdateStepTest.java @@ -11,6 +11,8 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import sonia.scm.group.Group; import sonia.scm.group.xml.XmlGroupDAO; +import sonia.scm.security.DefaultKeyGenerator; +import sonia.scm.store.JAXBConfigurationEntryStoreFactory; import sonia.scm.update.UpdateStepTestUtil; import javax.xml.bind.JAXBException; @@ -44,7 +46,8 @@ class XmlGroupV1UpdateStepTest { @BeforeEach void mockScmHome(@TempDirectory.TempDir Path tempDir) { testUtil = new UpdateStepTestUtil(tempDir); - updateStep = new XmlGroupV1UpdateStep(testUtil.getContextProvider(), groupDAO, testUtil.getStoreFactory()); + JAXBConfigurationEntryStoreFactory storeFactory = new JAXBConfigurationEntryStoreFactory(testUtil.getContextProvider(), null, new DefaultKeyGenerator()); + updateStep = new XmlGroupV1UpdateStep(testUtil.getContextProvider(), groupDAO, storeFactory); } @Nested diff --git a/scm-webapp/src/test/java/sonia/scm/update/user/XmlUserV1UpdateStepTest.java b/scm-webapp/src/test/java/sonia/scm/update/user/XmlUserV1UpdateStepTest.java index 19d37d542d..de3ab3cead 100644 --- a/scm-webapp/src/test/java/sonia/scm/update/user/XmlUserV1UpdateStepTest.java +++ b/scm-webapp/src/test/java/sonia/scm/update/user/XmlUserV1UpdateStepTest.java @@ -10,6 +10,9 @@ import org.mockito.Captor; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import sonia.scm.security.AssignedPermission; +import sonia.scm.security.DefaultKeyGenerator; +import sonia.scm.store.ConfigurationEntryStore; +import sonia.scm.store.JAXBConfigurationEntryStoreFactory; import sonia.scm.update.UpdateStepTestUtil; import sonia.scm.user.User; import sonia.scm.user.xml.XmlUserDAO; @@ -43,7 +46,8 @@ class XmlUserV1UpdateStepTest { @BeforeEach void mockScmHome(@TempDirectory.TempDir Path tempDir) { testUtil = new UpdateStepTestUtil(tempDir); - updateStep = new XmlUserV1UpdateStep(testUtil.getContextProvider(), userDAO, testUtil.getStoreFactory()); + JAXBConfigurationEntryStoreFactory storeFactory = new JAXBConfigurationEntryStoreFactory(testUtil.getContextProvider(), null, new DefaultKeyGenerator()); + updateStep = new XmlUserV1UpdateStep(testUtil.getContextProvider(), userDAO, storeFactory); } @Nested @@ -63,7 +67,7 @@ class XmlUserV1UpdateStepTest { void shouldCreateNewPermissionsForV1AdminUser() throws JAXBException { updateStep.doUpdate(); Optional assignedPermission = - testUtil.getStoreForConfigFile("security") + getStoreForConfigFile("security") .getAll() .values() .stream() @@ -116,6 +120,13 @@ class XmlUserV1UpdateStepTest { "", ""); } + + private ConfigurationEntryStore getStoreForConfigFile(String name) { + return new JAXBConfigurationEntryStoreFactory(testUtil.getContextProvider(), null, new DefaultKeyGenerator()) + .withType(AssignedPermission.class) + .withName(name) + .build(); + } } @Test