Skip to content

Commit 6e9279a

Browse files
authored
Stabilize refreshActionClearsCacheAndUpdatesConnectionState (#2786)
1 parent 2b8a78a commit 6e9279a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

jetbrains-core/tst/software/aws/toolkits/jetbrains/core/credentials/RefreshConnectionActionTest.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import software.aws.toolkits.core.utils.test.aString
1515
import software.aws.toolkits.jetbrains.core.AwsResourceCacheTest.Companion.dummyResource
1616
import software.aws.toolkits.jetbrains.core.MockResourceCacheRule
1717
import java.util.concurrent.ConcurrentHashMap
18+
import java.util.concurrent.CountDownLatch
19+
import java.util.concurrent.TimeUnit
1820

1921
class RefreshConnectionActionTest {
2022
@Rule
@@ -31,19 +33,23 @@ class RefreshConnectionActionTest {
3133
fun refreshActionClearsCacheAndUpdatesConnectionState() {
3234
resourceCache.addEntry(projectRule.project, dummyResource(), aString())
3335

36+
val latch = CountDownLatch(1)
3437
val states = ConcurrentHashMap.newKeySet<ConnectionState>()
3538
projectRule.project.messageBus.connect()
3639
.subscribe(
3740
AwsConnectionManager.CONNECTION_SETTINGS_STATE_CHANGED,
3841
object : ConnectionSettingsStateChangeNotifier {
3942
override fun settingsStateChanged(newState: ConnectionState) {
4043
states.add(newState)
44+
latch.countDown()
4145
}
4246
}
4347
)
4448

4549
sut.actionPerformed(testAction())
4650

51+
assertThat(latch.await(5, TimeUnit.SECONDS)).isTrue
52+
4753
assertThat(resourceCache.size()).isZero()
4854
assertThat(states).hasAtLeastOneElementOfType(ConnectionState.ValidatingConnection::class.java)
4955
}

0 commit comments

Comments
 (0)