]> source.dussan.org Git - sonarqube.git/commitdiff
[NO-JIRA] Unit test should generate jars in temporary folder
authorZipeng WU <zipeng.wu@sonarsource.com>
Thu, 29 Dec 2022 10:36:56 +0000 (11:36 +0100)
committersonartech <sonartech@sonarsource.com>
Fri, 30 Dec 2022 20:02:50 +0000 (20:02 +0000)
server/sonar-webserver-api/p1.jar [deleted file]
server/sonar-webserver-api/p2.jar [deleted file]
server/sonar-webserver-api/src/test/java/org/sonar/server/plugins/ServerPluginManagerTest.java

diff --git a/server/sonar-webserver-api/p1.jar b/server/sonar-webserver-api/p1.jar
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/server/sonar-webserver-api/p2.jar b/server/sonar-webserver-api/p2.jar
deleted file mode 100644 (file)
index e69de29..0000000
index 4164eb7c3731293d36882f47594ed45676c44a54..bc2aaabb139b9f207503d2d2a7ca5d0509c7409b 100644 (file)
@@ -29,6 +29,7 @@ import org.jetbrains.annotations.NotNull;
 import org.junit.After;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
 import org.sonar.api.Plugin;
 import org.sonar.api.utils.log.LogTester;
 import org.sonar.core.platform.ExplodedPlugin;
@@ -48,6 +49,8 @@ public class ServerPluginManagerTest {
 
   @Rule
   public LogTester logTester = new LogTester();
+  @Rule
+  public TemporaryFolder temp = new TemporaryFolder();
 
   private PluginClassLoader pluginClassLoader = mock(PluginClassLoader.class);
   private PluginJarExploder jarExploder = mock(PluginJarExploder.class);
@@ -61,7 +64,7 @@ public class ServerPluginManagerTest {
   }
 
   @Test
-  public void load_plugins() {
+  public void load_plugins() throws IOException {
     ServerPluginInfo p1 = newPluginInfo("p1");
     ServerPluginInfo p2 = newPluginInfo("p2");
     when(jarLoader.loadPlugins()).thenReturn(Arrays.asList(p1, p2));
@@ -89,11 +92,11 @@ public class ServerPluginManagerTest {
       .allMatch(p -> logTester.logs().contains(String.format("Deploy %s / %s / %s", p.getName(), p.getVersion(), p.getImplementationBuild())));
   }
 
-  private static ServerPluginInfo newPluginInfo(String key) {
+  private ServerPluginInfo newPluginInfo(String key) throws IOException {
     ServerPluginInfo pluginInfo = mock(ServerPluginInfo.class);
     when(pluginInfo.getKey()).thenReturn(key);
     when(pluginInfo.getType()).thenReturn(EXTERNAL);
-    when(pluginInfo.getNonNullJarFile()).thenReturn(getJarFile(key));
+    when(pluginInfo.getNonNullJarFile()).thenReturn(temp.newFile(key + ".jar"));
     when(pluginInfo.getName()).thenReturn(key + "_name");
     Version version = mock(Version.class);
     when(version.getName()).thenReturn(key + "_version");
@@ -102,17 +105,6 @@ public class ServerPluginManagerTest {
     return pluginInfo;
   }
 
-  @NotNull
-  private static File getJarFile(String key) {
-    File file = new File(key + ".jar");
-    try {
-      file.createNewFile();
-    } catch (IOException e) {
-      throw new RuntimeException(e);
-    }
-    return file;
-  }
-
   private static FileAndMd5 newFileAndMd5(File file) {
     return new PluginFilesAndMd5.FileAndMd5(file);
   }