[maven][test][eel][IDEA-361665] minimize the amount of io.File in maven tests

GitOrigin-RevId: 9d3cd32ce92faa72969477ef49ad3dcd6d6ddc55
This commit is contained in:
Alexander.Glukhov
2025-02-19 23:23:41 +00:00
committed by intellij-monorepo-bot
parent 65508eb09d
commit f673d46b5f
4 changed files with 21 additions and 15 deletions
@@ -247,7 +247,7 @@ class ReimportingTest : MavenMultiVersionImportingTestCase() {
fun testMoveModuleWithSystemScopedDependency() = runBlocking {
zipFile {
file("a.txt")
}.generate(Paths.get(projectPath.toString(), "lib.jar").toFile())
}.generate(projectPath.resolve("lib.jar").toFile())
updateModulePom("m1", generatePomWithSystemDependency("../lib.jar"))
importProjectAsync()
@@ -21,6 +21,7 @@ import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.idea.maven.server.MavenServerManager
import org.jetbrains.idea.maven.wizards.MavenProjectImportProvider
import java.nio.file.Path
import kotlin.io.path.createDirectories
class MavenMultiProjectImportTest : ProjectWizardTestCase<AbstractProjectWizard?>() {
override fun runInDispatchThread() = false
@@ -66,7 +67,7 @@ class MavenMultiProjectImportTest : ProjectWizardTestCase<AbstractProjectWizard?
private fun createPomXml(dir: String, @Language(value = "XML", prefix = "<project>", suffix = "</project>") xml: String): VirtualFile? {
val projectDir = myDir!!.resolve(dir)
projectDir.toFile().mkdirs()
projectDir.createDirectories()
val pom = projectDir.resolve("pom.xml")
pom.write(MavenTestCaseLegacy.createPomXml(xml))
return LocalFileSystem.getInstance().refreshAndFindFileByNioFile(pom)
@@ -5,13 +5,17 @@ import com.intellij.build.SyncViewManager
import com.intellij.build.events.BuildEvent
import com.intellij.build.events.MessageEvent
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.openapi.util.io.toCanonicalPath
import com.intellij.testFramework.replaceService
import com.intellij.util.ExceptionUtil
import com.intellij.util.io.ZipUtil
import com.sun.net.httpserver.HttpExchange
import com.sun.net.httpserver.HttpServer
import kotlinx.coroutines.runBlocking
import org.jetbrains.idea.maven.project.*
import org.jetbrains.idea.maven.project.BundledMaven3
import org.jetbrains.idea.maven.project.MavenInSpecificPath
import org.jetbrains.idea.maven.project.MavenWorkspaceSettingsComponent
import org.jetbrains.idea.maven.project.MavenWrapper
import org.junit.Test
import java.io.IOException
import java.net.HttpURLConnection
@@ -46,7 +50,7 @@ class MavenDistributionResolveTest : MavenMultiVersionImportingTestCase() {
importProjectAsync()
val connector = MavenServerManager.getInstance().getConnector(project, projectRoot.path)
assertEquals(
MavenDistributionsCache.resolveEmbeddedMavenHome().mavenHome.toFile().canonicalPath, connector.mavenDistribution.mavenHome.toFile().canonicalPath)
MavenDistributionsCache.resolveEmbeddedMavenHome().mavenHome.toCanonicalPath(), connector.mavenDistribution.mavenHome.toCanonicalPath())
assertContainsOnce<MessageEvent> { it.kind == MessageEvent.Kind.WARNING && it.message == "Cannot install wrapped maven, set Bundled Maven" }
}
@@ -60,7 +64,7 @@ class MavenDistributionResolveTest : MavenMultiVersionImportingTestCase() {
importProjectAsync()
val connector = MavenServerManager.getInstance().getConnector(project, projectRoot.path)
assertEquals(
MavenDistributionsCache.resolveEmbeddedMavenHome().mavenHome.toFile().canonicalPath, connector.mavenDistribution.mavenHome.toFile().canonicalPath)
MavenDistributionsCache.resolveEmbeddedMavenHome().mavenHome.toCanonicalPath(), connector.mavenDistribution.mavenHome.toCanonicalPath())
createProjectPom("<groupId>test</groupId>" +
"<artifactId>project</artifactId>" +
"<version>2</version>")
@@ -93,7 +97,7 @@ class MavenDistributionResolveTest : MavenMultiVersionImportingTestCase() {
MavenWorkspaceSettingsComponent.getInstance(project).settings.getGeneralSettings().mavenHomeType = BundledMaven3
importProjectAsync()
val connector = MavenServerManager.getInstance().getConnector(project, projectRoot.path)
assertFalse(connector.mavenDistribution.mavenHome.toFile().absolutePath.contains(".wrapper"))
assertFalse(connector.mavenDistribution.mavenHome.absolutePathString().contains(".wrapper"))
assertNotContains<BuildEvent> { it.message == "Running maven wrapper" }
}
}
@@ -108,7 +112,7 @@ class MavenDistributionResolveTest : MavenMultiVersionImportingTestCase() {
importProjectAsync()
val connector = MavenServerManager.getInstance().getConnector(project, projectRoot.path)
assertEquals(
MavenDistributionsCache.resolveEmbeddedMavenHome().mavenHome.toFile().canonicalPath, connector.mavenDistribution.mavenHome.toFile().canonicalPath)
MavenDistributionsCache.resolveEmbeddedMavenHome().mavenHome.toCanonicalPath(), connector.mavenDistribution.mavenHome.toCanonicalPath())
//assertContainsOnce<MessageEvent> { it.kind == MessageEvent.Kind.WARNING && it.description!= null && it.description!!.contains("is not correct maven home, reverting to embedded") }
}
@@ -6,14 +6,15 @@ import com.intellij.maven.testFramework.MavenTestCase
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.progress.runBlockingMaybeCancellable
import com.intellij.openapi.util.ThrowableComputable
import com.intellij.openapi.util.io.toCanonicalPath
import com.intellij.testFramework.PlatformTestUtil
import com.intellij.testFramework.common.ThreadUtil
import com.intellij.testFramework.runInEdtAndWait
import com.intellij.util.ReflectionUtil
import com.intellij.util.WaitFor
import com.intellij.util.io.createDirectories
import kotlinx.coroutines.runBlocking
import org.jetbrains.idea.maven.project.MavenWorkspaceSettingsComponent
import java.io.File
import java.util.concurrent.*
import java.util.concurrent.atomic.AtomicReference
@@ -99,14 +100,14 @@ class MavenServerManagerTest : MavenTestCase() {
}
fun testShouldDropConnectorForMultiplyDirs() = runBlocking {
val topDir = projectRoot.toNioPath().toFile()
val first = File(topDir, "first/.mvn")
val second = File(topDir, "second/.mvn")
assertTrue(first.mkdirs())
assertTrue(second.mkdirs())
val connectorFirst = MavenServerManager.getInstance().getConnector(project, first.absolutePath)
val topDir = projectRoot.toNioPath()
val first = topDir.resolve("first/.mvn")
val second = topDir.resolve("second/.mvn")
first.createDirectories()
second.createDirectories()
val connectorFirst = MavenServerManager.getInstance().getConnector(project, first.toCanonicalPath())
ensureConnected(connectorFirst)
val connectorSecond = MavenServerManager.getInstance().getConnector(project, second.absolutePath)
val connectorSecond = MavenServerManager.getInstance().getConnector(project, second.toCanonicalPath())
assertSame(connectorFirst, connectorSecond)
MavenServerManager.getInstance().shutdownConnector(connectorFirst, true)
assertEmpty(MavenServerManager.getInstance().getAllConnectors())