[maven] IDEA-389543 convert MavenProjectsTreeIgnoresTest and MavenProjectsTreeReadingPluginTest to junit 5

GitOrigin-RevId: 895f1cbf74cb2c16bae0f673f32ce645af8a6f0c
This commit is contained in:
Dmitry Kichinsky
2026-06-13 19:47:47 +00:00
committed by intellij-monorepo-bot
parent b11b86588d
commit da2c52ac21
2 changed files with 77 additions and 24 deletions
@@ -3,55 +3,79 @@ package org.jetbrains.idea.maven.project.importing
import com.intellij.openapi.util.text.StringUtil
import kotlinx.coroutines.runBlocking
import org.jetbrains.idea.maven.fixtures.MavenVersionArguments
import org.jetbrains.idea.maven.fixtures.MyLoggingListener
import org.jetbrains.idea.maven.fixtures.createModulePom
import org.jetbrains.idea.maven.fixtures.mavenImportingFixture
import org.jetbrains.idea.maven.fixtures.testRootDisposable
import org.jetbrains.idea.maven.fixtures.tree
import org.jetbrains.idea.maven.fixtures.updateAll
import org.jetbrains.idea.maven.project.MavenProject
import org.jetbrains.idea.maven.project.MavenProjectsTree
import org.junit.Test
import com.intellij.testFramework.junit5.TestApplication
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNotNull
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Test
import org.junit.jupiter.params.ParameterizedClass
import org.junit.jupiter.params.provider.ArgumentsSource
import org.junit.jupiter.api.BeforeEach
class MavenProjectsTreeIgnoresTest : MavenProjectsTreeTestCase() {
@TestApplication
@ParameterizedClass
@ArgumentsSource(MavenVersionArguments::class)
class MavenProjectsTreeIgnoresTest(mavenVersion: String, modelVersion: String) {
private val maven by mavenImportingFixture(
mavenVersion = mavenVersion,
modelVersion = modelVersion
)
private var myLog = ""
private var myRoots: List<MavenProject>? = null
override fun setUp() = runBlocking {
super.setUp()
project.messageBus.connect(getTestRootDisposable()).subscribe(MavenProjectsTree.Listener.TOPIC, MyLoggingListener())
val m1 = createModulePom("m1",
@BeforeEach
fun setUp(): Unit = runBlocking {
maven.project.messageBus.connect(maven.testRootDisposable).subscribe(MavenProjectsTree.Listener.TOPIC, MyLoggingListener())
val m1 = maven.createModulePom("m1",
"""
<groupId>test</groupId>
<artifactId>m1</artifactId>
<version>1</version>
""".trimIndent())
val m2 = createModulePom("m2",
val m2 = maven.createModulePom("m2",
"""
<groupId>test</groupId>
<artifactId>m2</artifactId>
<version>1</version>
""".trimIndent())
updateAll(m1, m2)
myRoots = tree.rootProjects
maven.updateAll(m1, m2)
myRoots = maven.tree.rootProjects
}
@Test
fun testSendingNotifications() = runBlocking {
tree.setIgnoredState(listOf(myRoots!![0]), true)
maven.tree.setIgnoredState(listOf(myRoots!![0]), true)
assertEquals("ignored: m1 ", myLog)
myLog = ""
tree.ignoredFilesPaths = listOf(myRoots!![1].path)
maven.tree.ignoredFilesPaths = listOf(myRoots!![1].path)
assertEquals("ignored: m2 unignored: m1 ", myLog)
myLog = ""
tree.ignoredFilesPatterns = listOf("*")
maven.tree.ignoredFilesPatterns = listOf("*")
assertEquals("ignored: m1 ", myLog)
myLog = ""
tree.ignoredFilesPatterns = emptyList()
maven.tree.ignoredFilesPatterns = emptyList()
assertEquals("unignored: m1 ", myLog)
myLog = ""
}
@Test
fun testDoNotSendNotificationsIfNothingChanged() = runBlocking {
tree.setIgnoredState(listOf(myRoots!![0]), true)
maven.tree.setIgnoredState(listOf(myRoots!![0]), true)
assertEquals("ignored: m1 ", myLog)
myLog = ""
tree.setIgnoredState(listOf(myRoots!![0]), true)
maven.tree.setIgnoredState(listOf(myRoots!![0]), true)
assertEquals("", myLog)
}
@@ -2,20 +2,49 @@
package org.jetbrains.idea.maven.project.importing
import kotlinx.coroutines.runBlocking
import org.jetbrains.idea.maven.fixtures.MavenVersionArguments
import org.jetbrains.idea.maven.fixtures.MyLoggingListener
import org.jetbrains.idea.maven.fixtures.createModulePom
import org.jetbrains.idea.maven.fixtures.createProjectPom
import org.jetbrains.idea.maven.fixtures.mavenEmbedderWrappers
import org.jetbrains.idea.maven.fixtures.mavenGeneralSettings
import org.jetbrains.idea.maven.fixtures.mavenImportingFixture
import org.jetbrains.idea.maven.fixtures.log
import org.jetbrains.idea.maven.fixtures.rawProgressReporter
import org.jetbrains.idea.maven.fixtures.resolve
import org.jetbrains.idea.maven.fixtures.testRootDisposable
import org.jetbrains.idea.maven.fixtures.tree
import org.jetbrains.idea.maven.fixtures.updateAll
import org.jetbrains.idea.maven.model.MavenExplicitProfiles
import org.jetbrains.idea.maven.project.MavenProjectsTree
import org.junit.Test
import com.intellij.testFramework.junit5.TestApplication
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNotNull
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Test
import org.junit.jupiter.params.ParameterizedClass
import org.junit.jupiter.params.provider.ArgumentsSource
class MavenProjectsTreeReadingPluginTest : MavenProjectsTreeTestCase() {
@TestApplication
@ParameterizedClass
@ArgumentsSource(MavenVersionArguments::class)
class MavenProjectsTreeReadingPluginTest(mavenVersion: String, modelVersion: String) {
private val maven by mavenImportingFixture(
mavenVersion = mavenVersion,
modelVersion = modelVersion
)
@Test
fun testDoNotUpdateChildAfterParentWasResolved() = runBlocking {
createProjectPom("""
maven.createProjectPom("""
<groupId>test</groupId>
<artifactId>parent</artifactId>
<version>1</version>
""".trimIndent())
val child = createModulePom("child",
val child = maven.createModulePom("child",
"""
<groupId>test</groupId>
<artifactId>child</artifactId>
@@ -27,11 +56,11 @@ class MavenProjectsTreeReadingPluginTest : MavenProjectsTreeTestCase() {
</parent>
""".trimIndent())
val listener = MyLoggingListener()
project.messageBus.connect(getTestRootDisposable()).subscribe(MavenProjectsTree.Listener.TOPIC, listener)
updateAll(projectPom, child)
val parentProject = tree.findProject(projectPom)!!
maven.project.messageBus.connect(maven.testRootDisposable).subscribe(MavenProjectsTree.Listener.TOPIC, listener)
maven.updateAll(maven.projectPom, child)
val parentProject = maven.tree.findProject(maven.projectPom)!!
resolve(project, parentProject, mavenGeneralSettings)
maven.resolve(maven.project, parentProject, maven.mavenGeneralSettings)
assertEquals(
log()
@@ -39,7 +68,7 @@ class MavenProjectsTreeReadingPluginTest : MavenProjectsTreeTestCase() {
.add("deleted")
.add("resolved", "parent"),
listener.log)
tree.updateAll(listOf(projectPom, child), false, mavenGeneralSettings, MavenExplicitProfiles.NONE, mavenEmbedderWrappers, rawProgressReporter)
maven.tree.updateAll(listOf(maven.projectPom, child), false, maven.mavenGeneralSettings, MavenExplicitProfiles.NONE, maven.mavenEmbedderWrappers, maven.rawProgressReporter)
assertEquals(
log()
.add("updated", "parent", "child")