[TestFramework] cleanup: re-use ModuleAssertion in assertion utils

GitOrigin-RevId: aa11d3e68fa8b7382ad1d12de281a374828cca2a
This commit is contained in:
Sergei Vorobyov
2025-05-28 19:20:06 +00:00
committed by intellij-monorepo-bot
parent d753828d96
commit 7b62c265ab
3 changed files with 14 additions and 24 deletions
@@ -6,12 +6,10 @@ import com.intellij.openapi.project.Project
import com.intellij.platform.backend.workspace.workspaceModel
import com.intellij.platform.testFramework.assertion.collectionAssertion.CollectionAssertions
import com.intellij.platform.workspace.jps.entities.ModuleEntity
import com.intellij.platform.workspace.jps.entities.ModuleId
import com.intellij.platform.workspace.storage.EntityStorage
import com.intellij.platform.workspace.storage.impl.url.toVirtualFileUrl
import com.intellij.platform.workspace.storage.url.VirtualFileUrl
import com.intellij.platform.workspace.storage.url.VirtualFileUrlManager
import org.junit.jupiter.api.Assertions
import java.nio.file.Path
object ContentRootAssertions {
@@ -33,10 +31,10 @@ object ContentRootAssertions {
@JvmStatic
fun assertContentRoots(project: Project, moduleName: String, expectedRoots: List<Path>) {
val workspaceModel = project.workspaceModel
val storage = workspaceModel.currentSnapshot
val virtualFileUrlManager = workspaceModel.getVirtualFileUrlManager()
assertContentRoots(virtualFileUrlManager, storage, moduleName, expectedRoots)
val virtualFileUrlManager = project.workspaceModel.getVirtualFileUrlManager()
ModuleAssertions.assertModuleEntity(project, moduleName) { module ->
assertContentRoots(virtualFileUrlManager, module, expectedRoots)
}
}
@JvmStatic
@@ -46,12 +44,9 @@ object ContentRootAssertions {
@JvmStatic
fun assertContentRoots(virtualFileUrlManager: VirtualFileUrlManager, storage: EntityStorage, moduleName: String, expectedRoots: List<Path>) {
val moduleId = ModuleId(moduleName)
val moduleEntity = storage.resolve(moduleId)
Assertions.assertNotNull(moduleEntity) {
"The module '$moduleName' doesn't exist"
ModuleAssertions.assertModuleEntity(storage, moduleName) { module ->
assertContentRoots(virtualFileUrlManager, module, expectedRoots)
}
assertContentRoots(virtualFileUrlManager, moduleEntity!!, expectedRoots)
}
@JvmStatic
@@ -56,8 +56,9 @@ object ModuleAssertions {
assertContainsUnordered(expectedNames, actualNames)
}
fun assertModuleEntity(project: Project, name: String, assertion: (ModuleEntity) -> Unit) =
fun assertModuleEntity(project: Project, name: String, assertion: (ModuleEntity) -> Unit) {
assertModuleEntity(project.workspaceModel.currentSnapshot, name, assertion)
}
fun assertModuleEntity(storage: EntityStorage, name: String, assertion: (ModuleEntity) -> Unit) {
storage.entities<ModuleEntity>()
@@ -6,15 +6,12 @@ import com.intellij.openapi.project.Project
import com.intellij.platform.backend.workspace.workspaceModel
import com.intellij.platform.testFramework.assertion.collectionAssertion.CollectionAssertions.assertEqualsUnordered
import com.intellij.platform.workspace.jps.entities.ModuleEntity
import com.intellij.platform.workspace.jps.entities.ModuleId
import com.intellij.platform.workspace.jps.entities.SourceRootEntity
import com.intellij.platform.workspace.storage.EntityStorage
import com.intellij.platform.workspace.storage.impl.url.toVirtualFileUrl
import com.intellij.platform.workspace.storage.url.VirtualFileUrl
import com.intellij.platform.workspace.storage.url.VirtualFileUrlManager
import org.junit.jupiter.api.Assertions
import java.nio.file.Path
import java.util.ArrayList
object SourceRootAssertions {
@@ -57,10 +54,10 @@ object SourceRootAssertions {
expectedRoots: List<Path>,
messageSupplier: (() -> String)? = null,
) {
val workspaceModel = project.workspaceModel
val storage = workspaceModel.currentSnapshot
val virtualFileUrlManager = workspaceModel.getVirtualFileUrlManager()
assertSourceRoots(virtualFileUrlManager, storage, moduleName, filter, expectedRoots, messageSupplier)
val virtualFileUrlManager = project.workspaceModel.getVirtualFileUrlManager()
ModuleAssertions.assertModuleEntity(project, moduleName) { module ->
assertSourceRoots(virtualFileUrlManager, module, filter, expectedRoots, messageSupplier)
}
}
@JvmStatic
@@ -84,12 +81,9 @@ object SourceRootAssertions {
expectedRoots: List<Path>,
messageSupplier: (() -> String)? = null,
) {
val moduleId = ModuleId(moduleName)
val moduleEntity = storage.resolve(moduleId)
Assertions.assertNotNull(moduleEntity) {
"The module '$moduleName' doesn't exist"
ModuleAssertions.assertModuleEntity(storage, moduleName) { module ->
assertSourceRoots(virtualFileUrlManager, module, filter, expectedRoots, messageSupplier)
}
assertSourceRoots(virtualFileUrlManager, moduleEntity!!, filter, expectedRoots, messageSupplier)
}
@JvmStatic