mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 03:21:12 +07:00
DependencySearchServiceTest - wait for the poison message
GitOrigin-RevId: 45b7cb976df16955911216cd98cfd1b00d3ee643
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0d15b1c0b9
commit
76bb66e270
@@ -3,14 +3,13 @@ package org.jetbrains.idea.reposearch
|
||||
import com.intellij.openapi.util.Disposer
|
||||
import com.intellij.testFramework.ExtensionTestUtil
|
||||
import com.intellij.testFramework.LightPlatformTestCase
|
||||
import com.intellij.testFramework.PlatformTestUtil
|
||||
import com.intellij.testFramework.UsefulTestCase
|
||||
import com.intellij.util.WaitFor
|
||||
import junit.framework.TestCase
|
||||
import org.jetbrains.concurrency.isPending
|
||||
import org.jetbrains.idea.maven.onlinecompletion.model.MavenRepositoryArtifactInfo
|
||||
import java.util.concurrent.CompletableFuture
|
||||
import java.util.concurrent.CopyOnWriteArrayList
|
||||
import java.util.concurrent.ConcurrentLinkedDeque
|
||||
|
||||
class DependencySearchServiceTest : LightPlatformTestCase() {
|
||||
|
||||
@@ -68,15 +67,19 @@ class DependencySearchServiceTest : LightPlatformTestCase() {
|
||||
listOf(
|
||||
testProviderLocal1, testProviderLocal2, testProviderRemote3, testProviderRemote4)
|
||||
}), testRootDisposable, false)
|
||||
val searchParameters = SearchParameters(true, false)
|
||||
val searchParameters = SearchParameters(false, false)
|
||||
|
||||
val result = CopyOnWriteArrayList<RepositoryArtifactData>()
|
||||
val result = ConcurrentLinkedDeque<RepositoryArtifactData>()
|
||||
val promise = dependencySearchService.suggestPrefix("group", "artifact", searchParameters) {
|
||||
result.add(it)
|
||||
}
|
||||
PlatformTestUtil.waitForPromise(promise)
|
||||
val artifactResults = result.filterIsInstance(MavenRepositoryArtifactInfo::class.java)
|
||||
object : WaitFor(2_000) {
|
||||
override fun condition(): Boolean {
|
||||
return result.last() === PoisonedRepositoryArtifactData.INSTANCE
|
||||
}
|
||||
}
|
||||
TestCase.assertTrue(result.last() === PoisonedRepositoryArtifactData.INSTANCE)
|
||||
val artifactResults = result.filterIsInstance(MavenRepositoryArtifactInfo::class.java)
|
||||
UsefulTestCase.assertSameElements(artifactResults.flatMap { it.items.asList() }.map { it.version },
|
||||
"0", "1", "2", "3", "4")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user