[maven] IDEA-364947 make tests extend MavenMultiVersionImportingTestCase

GitOrigin-RevId: f24874903437b4f233fb6e84780a6786877e26b5
This commit is contained in:
Dmitry Kichinsky
2024-12-19 19:07:11 +00:00
committed by intellij-monorepo-bot
parent d1bb2d18d7
commit 74d840ba69
12 changed files with 70 additions and 64 deletions
@@ -1,7 +1,7 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.maven.connectors
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.platform.util.progress.RawProgressReporter
import kotlinx.coroutines.runBlocking
import org.jetbrains.idea.maven.buildtool.MavenLogEventHandler
@@ -12,7 +12,7 @@ import org.jetbrains.idea.maven.server.MavenServerManager
import org.junit.Test
import java.util.*
class MavenConnectorApiTest : MavenMultiVersionImportingTestCaseLegacy() {
class MavenConnectorApiTest : MavenMultiVersionImportingTestCase() {
override fun setUp() {
@@ -89,10 +89,10 @@ class MavenConnectorApiTest : MavenMultiVersionImportingTestCaseLegacy() {
}
private suspend fun getConnector() =
MavenServerManager.getInstance().getConnector(project, projectPath)
MavenServerManager.getInstance().getConnector(project, projectPath.toString())
private suspend fun getEmbedder() =
MavenServerManager.getInstance().createEmbedder(project, true, projectPath)
MavenServerManager.getInstance().createEmbedder(project, true, projectPath.toString())
}
private class MockReporter : RawProgressReporter {
@@ -15,7 +15,7 @@
*/
package org.jetbrains.idea.maven.importing
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.openapi.application.writeAction
import com.intellij.testFramework.UsefulTestCase
import kotlinx.coroutines.runBlocking
@@ -23,7 +23,7 @@ import org.jetbrains.idea.maven.MavenCustomRepositoryHelper
import org.jetbrains.idea.maven.project.MavenProject
import org.junit.Test
class InvalidProjectImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
class InvalidProjectImportingTest : MavenMultiVersionImportingTestCase() {
@Test
fun testSystemDependencyWithoutPath() = runBlocking {
@@ -832,7 +832,7 @@ class InvalidProjectImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
@Test
fun testDoNotReportResolvedPlugins() = runBlocking {
val helper = MavenCustomRepositoryHelper(dir, "plugins")
val helper = MavenCustomRepositoryHelper(dir.toFile(), "plugins")
repositoryPath = helper.getTestDataPath("plugins")
@@ -1,7 +1,7 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.maven.importing
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.openapi.application.readAction
import com.intellij.openapi.application.writeAction
import com.intellij.openapi.module.ModuleManager.Companion.getInstance
@@ -14,8 +14,9 @@ import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.idea.maven.wizards.AbstractMavenModuleBuilder
import org.jetbrains.idea.maven.wizards.MavenJavaModuleBuilder
import org.junit.Test
import java.nio.file.Path
class MavenModuleBuilderSameFolderAsParentTest : MavenMultiVersionImportingTestCaseLegacy() {
class MavenModuleBuilderSameFolderAsParentTest : MavenMultiVersionImportingTestCase() {
private var myBuilder: AbstractMavenModuleBuilder? = null
override fun setUp() {
@@ -25,10 +26,10 @@ class MavenModuleBuilderSameFolderAsParentTest : MavenMultiVersionImportingTestC
setModuleNameAndRoot("module", projectPath)
}
private fun setModuleNameAndRoot(name: String, root: String) {
private fun setModuleNameAndRoot(name: String, root: Path) {
myBuilder!!.name = name
myBuilder!!.moduleFilePath = "$root/$name.iml"
myBuilder!!.setContentEntryPath(root)
myBuilder!!.moduleFilePath = Path.of(root.toString(), "$name.iml").toString()
myBuilder!!.setContentEntryPath(root.toString())
}
private fun setParentProject(pom: VirtualFile) {
@@ -1,7 +1,7 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.maven.importing
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.maven.testFramework.utils.MavenProjectJDKTestFixture
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.WriteAction
@@ -26,9 +26,8 @@ import org.jetbrains.idea.maven.model.MavenId
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.idea.maven.wizards.MavenJavaModuleBuilder
import org.junit.Test
import kotlin.io.path.exists
class MavenModuleBuilderTest : MavenMultiVersionImportingTestCaseLegacy() {
class MavenModuleBuilderTest : MavenMultiVersionImportingTestCase() {
private lateinit var myFixture: MavenProjectJDKTestFixture
private lateinit var myBuilder: MavenJavaModuleBuilder
@@ -41,7 +40,7 @@ class MavenModuleBuilderTest : MavenMultiVersionImportingTestCaseLegacy() {
WriteAction.runAndWait<RuntimeException?>(ThrowableRunnable { myFixture.setUp() })
})
setModuleNameAndRoot("module", projectPath)
setModuleNameAndRoot("module", projectPath.toString())
}
public override fun tearDown() {
@@ -114,8 +113,8 @@ class MavenModuleBuilderTest : MavenMultiVersionImportingTestCaseLegacy() {
assertEquals(1, projects.size)
val project = projects[0]
assertEquals(id, project.mavenId)
assertTrue(projectRoot.toNioPath().resolve("src/main/java/org/foo/App.java").exists())
assertTrue(projectRoot.toNioPath().resolve("src/test/java/org/foo/AppTest.java").exists())
assertTrue(java.nio.file.Files.exists(projectRoot.toNioPath().resolve("src/main/java/org/foo/App.java")))
assertTrue(java.nio.file.Files.exists(projectRoot.toNioPath().resolve("src/test/java/org/foo/AppTest.java")))
assertSources("module", "src/main/java")
assertTestSources("module", "src/test/java")
@@ -125,8 +124,8 @@ class MavenModuleBuilderTest : MavenMultiVersionImportingTestCaseLegacy() {
object : WaitFor(10000) {
override fun condition(): Boolean {
val p = groupId.split('.').joinToString("/")
return projectRoot.toNioPath().resolve("src/main/java/$p/App.java").exists()
&& projectRoot.toNioPath().resolve("src/test/java/$p/AppTest.java").exists()
return java.nio.file.Files.exists(projectRoot.toNioPath().resolve("src/main/java/$p/App.java"))
&& java.nio.file.Files.exists(projectRoot.toNioPath().resolve("src/test/java/$p/AppTest.java"))
}
}
}
@@ -1,14 +1,14 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.maven.importing
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.openapi.module.ModuleManager
import kotlinx.coroutines.runBlocking
import org.jetbrains.idea.maven.project.MavenImportListener
import org.jetbrains.idea.maven.project.MavenProject
import org.junit.Test
class MavenProjectImporterTest : MavenMultiVersionImportingTestCaseLegacy() {
class MavenProjectImporterTest : MavenMultiVersionImportingTestCase() {
@Test
fun `test maven import modules properly named`() = runBlocking {
@@ -1,7 +1,7 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.maven.importing
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.openapi.application.WriteAction
import com.intellij.openapi.roots.ModuleRootManager
import com.intellij.platform.backend.workspace.WorkspaceModel
@@ -10,10 +10,11 @@ import com.intellij.platform.workspace.jps.entities.ModuleId
import com.intellij.testFramework.PsiTestUtil
import kotlinx.coroutines.runBlocking
import org.junit.Test
import java.io.File
import java.io.IOException
import java.nio.file.Files
import java.nio.file.Paths
class StructureImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
class StructureImportingTest : MavenMultiVersionImportingTestCase() {
@Test
fun testInheritProjectJdkForModules() = runBlocking {
importProjectAsync("""
@@ -91,8 +92,7 @@ class StructureImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
createProjectSubDirs("m1/src/main/java",
"m2/src/main/java",
"m3/src/main/jva",
"m4/src/main/java")
"m3/src/main/java")
importProjectAsync()
assertModules("project", "m1", "m2", "m3", "m4")
@@ -167,7 +167,7 @@ class StructureImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
PsiTestUtil.addContentRoot(userModuleWithConflictingRoot, projectRoot)
val anotherContentRoot = createProjectSubFile("m1/user-content")
PsiTestUtil.addContentRoot(userModuleWithConflictingRoot, anotherContentRoot)
assertContentRoots(userModuleWithConflictingRoot.getName(), projectPath, anotherContentRoot.getPath())
assertContentRoots(userModuleWithConflictingRoot.getName(), projectPath.toString(), anotherContentRoot.getPath())
createProjectPom("""
<groupId>test</groupId>
@@ -177,7 +177,7 @@ class StructureImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
importProjectAsync()
assertModules("project", userModuleWithConflictingRoot.getName())
assertContentRoots("project", projectPath)
assertContentRoots("project", projectPath.toString())
assertContentRoots(userModuleWithConflictingRoot.getName(), anotherContentRoot.getPath())
}
@@ -186,7 +186,7 @@ class StructureImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
val userModuleWithConflictingRoot = createModule("userModuleWithConflictingRoot")
PsiTestUtil.removeAllRoots(userModuleWithConflictingRoot, null)
PsiTestUtil.addContentRoot(userModuleWithConflictingRoot, projectRoot)
assertContentRoots(userModuleWithConflictingRoot.getName(), projectPath)
assertContentRoots(userModuleWithConflictingRoot.getName(), projectPath.toString())
val userModuleWithUniqueRoot = createModule("userModuleWithUniqueRoot")
assertContentRoots(userModuleWithUniqueRoot.getName(), "$projectPath/userModuleWithUniqueRoot")
@@ -199,7 +199,7 @@ class StructureImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
importProjectAsync()
assertModules("project", userModuleWithUniqueRoot.getName())
assertContentRoots("project", projectPath)
assertContentRoots("project", projectPath.toString())
assertContentRoots(userModuleWithUniqueRoot.getName(), "$projectPath/userModuleWithUniqueRoot")
}
@@ -640,10 +640,10 @@ class StructureImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
@Test
fun testParentInRemoteRepository() = runBlocking {
val pathToJUnit = "asm/asm-parent/3.0"
val parentDir = File(repositoryPath, pathToJUnit)
val parentDir = Paths.get(repositoryPath, pathToJUnit)
removeFromLocalRepository(pathToJUnit)
assertFalse(parentDir.exists())
assertFalse(Files.exists(parentDir))
createProjectPom("""
<groupId>test</groupId>
@@ -659,10 +659,10 @@ class StructureImportingTest : MavenMultiVersionImportingTestCaseLegacy() {
importProjectAsync()
assertModules("project")
assertTrue(parentDir.exists())
assertTrue(Files.exists(parentDir))
assertEquals("asm-parent", projectsTree.rootProjects[0].parentId!!.artifactId)
assertTrue(File(parentDir, "asm-parent-3.0.pom").exists())
assertTrue(Files.exists(parentDir.resolve("asm-parent-3.0.pom")))
}
@Test
@@ -1,16 +1,17 @@
// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.idea.maven.importing
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.openapi.application.writeAction
import com.intellij.openapi.fileEditor.FileDocumentManager
import com.intellij.openapi.vfs.LocalFileSystem
import com.intellij.testFramework.PsiTestUtil
import kotlinx.coroutines.runBlocking
import org.junit.Test
import java.io.File
import java.nio.file.Files
import java.nio.file.Path
class WorkingWithOpenProjectTest : MavenMultiVersionImportingTestCaseLegacy() {
class WorkingWithOpenProjectTest : MavenMultiVersionImportingTestCase() {
override fun setUp() = runBlocking {
super.setUp()
@@ -29,13 +30,13 @@ class WorkingWithOpenProjectTest : MavenMultiVersionImportingTestCaseLegacy() {
@Test
fun testShouldNotFailOnAddingNewContentRootWithAPomFile() = runBlocking {
val newRootDir = File(dir, "newRoot")
newRootDir.mkdirs()
val newRootDir = Path.of(dir.toString(), "newRoot")
Files.createDirectories(newRootDir)
val pomFile = File(newRootDir, "pom.xml")
pomFile.createNewFile()
val pomFile = newRootDir.resolve("pom.xml")
Files.createFile(pomFile)
val root = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(newRootDir)
val root = LocalFileSystem.getInstance().refreshAndFindFileByNioFile(newRootDir)
PsiTestUtil.addContentRoot(getModule("project"), root!!) // should not throw an exception
@@ -1,12 +1,12 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.maven.project.actions
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.testFramework.TestActionEvent
import kotlinx.coroutines.runBlocking
import org.junit.Test
class RemoveManagedFilesActionTest : MavenMultiVersionImportingTestCaseLegacy() {
class RemoveManagedFilesActionTest : MavenMultiVersionImportingTestCase() {
@Test
fun testUnlinkMavenProjectsOnlyVisibleForRootProjects() = runBlocking {
val parentFile = createProjectPom("""
@@ -1,7 +1,7 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.maven.project.importing
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.WriteAction
import com.intellij.openapi.application.writeAction
@@ -9,21 +9,24 @@ import com.intellij.openapi.command.WriteCommandAction
import com.intellij.openapi.externalSystem.autoimport.ExternalSystemProjectTracker
import com.intellij.openapi.util.ThrowableComputable
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.io.toCanonicalPath
import com.intellij.openapi.vfs.VfsUtil
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.vfs.writeText
import com.intellij.util.concurrency.annotations.RequiresBackgroundThread
import com.intellij.util.concurrency.annotations.RequiresEdt
import com.intellij.util.io.createDirectories
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.junit.Test
import java.io.File
import java.io.IOException
import java.nio.file.Path
import java.nio.file.Paths
class MavenProjectsManagerAutoImportTest : MavenMultiVersionImportingTestCase() {
class MavenProjectsManagerAutoImportTest : MavenMultiVersionImportingTestCaseLegacy() {
override fun setUp() {
super.setUp()
initProjectsManager(true)
@@ -35,8 +38,10 @@ class MavenProjectsManagerAutoImportTest : MavenMultiVersionImportingTestCaseLeg
waitForImportWithinTimeout {
updateSettingsXml("<localRepository>\${env.$envVar}/tmpRepo</localRepository>")
}
val repo = File("$temp/tmpRepo").getCanonicalFile()
assertEquals(repo.path, mavenGeneralSettings.getEffectiveRepositoryPath().toString())
val repoPath = Path.of(temp, "tmpRepo")
repoPath.createDirectories()
val repo = repoPath.toRealPath().toCanonicalPath()
assertEquals(repo, mavenGeneralSettings.effectiveRepositoryPath.toCanonicalPath())
importProjectAsync("""
<groupId>test</groupId>
<artifactId>project</artifactId>
@@ -50,7 +55,7 @@ class MavenProjectsManagerAutoImportTest : MavenMultiVersionImportingTestCaseLeg
</dependencies>
""".trimIndent())
assertModuleLibDep("project", "Maven: junit:junit:4.0",
"jar://" + FileUtil.toSystemIndependentName(repo.path) + "/junit/junit/4.0/junit-4.0.jar!/")
"jar://$repo/junit/junit/4.0/junit-4.0.jar!/")
}
@Test
@@ -201,7 +206,7 @@ class MavenProjectsManagerAutoImportTest : MavenMultiVersionImportingTestCaseLeg
assertUnorderedPathsAreEqual(parentNode.sources, listOf(FileUtil.toSystemDependentName("$projectPath/\${prop}")))
assertUnorderedPathsAreEqual(childNode.sources, listOf(FileUtil.toSystemDependentName("$projectPath/m/\${prop}")))
waitForImportWithinTimeout {
mavenGeneralSettings.setUserSettingsFile(File(dir, "settings.xml").path)
mavenGeneralSettings.setUserSettingsFile(Paths.get(dir.toString(), "settings.xml").toString())
}
assertUnorderedPathsAreEqual(parentNode.sources, listOf(FileUtil.toSystemDependentName("$projectPath/value1")))
assertUnorderedPathsAreEqual(childNode.sources, listOf(FileUtil.toSystemDependentName("$projectPath/m/value1")))
@@ -214,22 +219,22 @@ class MavenProjectsManagerAutoImportTest : MavenMultiVersionImportingTestCaseLeg
<artifactId>project</artifactId>
<version>1</version>
""".trimIndent())
val repo1 = File(dir, "localRepo1")
val repo1 = Path.of(dir.toString(), "localRepo1")
waitForImportWithinTimeout {
updateSettingsXml("""
<localRepository>
${repo1.path}</localRepository>
${repo1.toString()}</localRepository>
""".trimIndent())
}
assertEquals(repo1, mavenGeneralSettings.getEffectiveRepositoryPath().toFile())
val repo2 = File(dir, "localRepo2")
assertEquals(repo1, mavenGeneralSettings.effectiveRepositoryPath)
val repo2 = Path.of(dir.toString(), "localRepo2")
waitForImportWithinTimeout {
updateSettingsXml("""
<localRepository>
${repo2.path}</localRepository>
${repo2.toString()}</localRepository>
""".trimIndent())
}
assertEquals(repo2, mavenGeneralSettings.getEffectiveRepositoryPath().toFile())
assertEquals(repo2, mavenGeneralSettings.effectiveRepositoryPath)
}
@Test
@@ -3,7 +3,7 @@ package org.jetbrains.idea.maven.search
import com.intellij.ide.actions.searcheverywhere.FileSearchEverywhereContributor
import com.intellij.ide.actions.searcheverywhere.SearchEverywhereContributor
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.mock.MockProgressIndicator
import com.intellij.openapi.actionSystem.ActionPlaces
import com.intellij.openapi.actionSystem.AnActionEvent
@@ -18,7 +18,7 @@ import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import org.junit.Test
class MavenSearchTest : MavenMultiVersionImportingTestCaseLegacy() {
class MavenSearchTest : MavenMultiVersionImportingTestCase() {
@Test
fun `test searching POM files by module name`() = runBlocking {
createProjectPom("""<groupId>test</groupId>
@@ -1,7 +1,7 @@
// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.idea.maven.wizards
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCaseLegacy
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
import com.intellij.openapi.vfs.VfsUtil
import kotlinx.coroutines.runBlocking
import org.jetbrains.idea.maven.model.MavenArchetype
@@ -10,7 +10,7 @@ import org.jetbrains.idea.maven.project.MavenProject
import org.junit.Assert
import org.junit.Test
class MavenModuleBuilderHelperTest : MavenMultiVersionImportingTestCaseLegacy() {
class MavenModuleBuilderHelperTest : MavenMultiVersionImportingTestCase() {
@Test
fun testGenerateFromArchetype() = runBlocking {
@@ -207,7 +207,7 @@ abstract class MavenMultiVersionImportingTestCase : MavenImportingTestCase() {
protected fun assertRelativeContentRoots(moduleName: String, vararg expectedRelativeRoots: String?) {
val expectedRoots = expectedRelativeRoots
.map { root -> projectPath.resolve(if ("" == root) "" else "/$root").toCanonicalPath() }
.map { root -> projectPath.resolve(root).toCanonicalPath() }
.toTypedArray<String>()
assertContentRoots(moduleName, *expectedRoots)
}