Skip to content

Commit 6401fb1

Browse files
committed
Convert CodeInsightsSettingsFacadeTest and CodeWhispererUtilTest to HeavyPlatformTestCase for 2025.3
- Replace ProjectExtension with HeavyPlatformTestCase base class - Replace @BeforeEach/@TestDisposable with setUp()/testRootDisposable - Replace backtick test names with camelCase and Disposable lambdas with objects for JUnit 3 compatibility - 5 tests passing
1 parent cf4aaa6 commit 6401fb1

File tree

2 files changed

+28
-54
lines changed

2 files changed

+28
-54
lines changed

plugins/amazonq/codewhisperer/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/codewhisperer/util/CodeInsightsSettingsFacadeTest.kt

Lines changed: 20 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,47 +7,34 @@ import com.intellij.codeInsight.CodeInsightSettings
77
import com.intellij.openapi.Disposable
88
import com.intellij.openapi.application.ApplicationManager
99
import com.intellij.openapi.util.Disposer
10-
import com.intellij.testFramework.ProjectExtension
11-
import com.intellij.testFramework.junit5.TestDisposable
10+
import com.intellij.testFramework.HeavyPlatformTestCase
1211
import com.intellij.testFramework.replaceService
1312
import org.assertj.core.api.Assertions.assertThat
14-
import org.junit.jupiter.api.BeforeEach
15-
import org.junit.jupiter.api.Test
16-
import org.junit.jupiter.api.extension.RegisterExtension
1713
import org.mockito.kotlin.spy
1814
import org.mockito.kotlin.times
1915
import org.mockito.kotlin.verify
2016

21-
class CodeInsightsSettingsFacadeTest {
17+
class CodeInsightsSettingsFacadeTest : HeavyPlatformTestCase() {
2218
private lateinit var settings: CodeInsightSettings
2319
private lateinit var sut: CodeInsightsSettingsFacade
2420

25-
@TestDisposable
26-
private lateinit var disposable: Disposable
27-
28-
companion object {
29-
@JvmField
30-
@RegisterExtension
31-
val projectExtension = ProjectExtension()
32-
}
33-
34-
@BeforeEach
35-
fun setUp() {
21+
override fun setUp() {
22+
super.setUp()
3623
sut = spy(CodeInsightsSettingsFacade())
3724
settings = spy { CodeInsightSettings() }
3825

3926
ApplicationManager.getApplication().replaceService(
4027
CodeInsightSettings::class.java,
4128
settings,
42-
disposable
29+
testRootDisposable
4330
)
4431
}
4532

46-
@Test
47-
fun `disableCodeInsightUntil should revert when parent is disposed`() {
48-
val myFakePopup = Disposable {}.also {
49-
Disposer.register(disposable, it)
33+
fun testDisableCodeInsightUntilShouldRevertWhenParentIsDisposed() {
34+
val myFakePopup = object : Disposable {
35+
override fun dispose() {}
5036
}
37+
Disposer.register(testRootDisposable, myFakePopup)
5138

5239
// assume users' enable the following two codeinsight functionalities
5340
settings.TAB_EXITS_BRACKETS_AND_QUOTES = true
@@ -71,14 +58,13 @@ class CodeInsightsSettingsFacadeTest {
7158
assertThat(settings.AUTO_POPUP_COMPLETION_LOOKUP).isTrue
7259
}
7360

74-
@Test
75-
fun `revertAll should revert back all changes made by codewhisperer`() {
61+
fun testRevertAllShouldRevertBackAllChangesMadeByCodewhisperer() {
7662
settings.TAB_EXITS_BRACKETS_AND_QUOTES = true
7763
assertThat(settings.TAB_EXITS_BRACKETS_AND_QUOTES).isTrue
7864
settings.AUTOCOMPLETE_ON_CODE_COMPLETION = true
7965
assertThat(settings.AUTO_POPUP_COMPLETION_LOOKUP).isTrue
8066

81-
sut.disableCodeInsightUntil(disposable)
67+
sut.disableCodeInsightUntil(testRootDisposable)
8268

8369
assertThat(settings.TAB_EXITS_BRACKETS_AND_QUOTES).isFalse
8470
assertThat(settings.AUTO_POPUP_COMPLETION_LOOKUP).isFalse
@@ -91,14 +77,16 @@ class CodeInsightsSettingsFacadeTest {
9177
assertThat(settings.AUTO_POPUP_COMPLETION_LOOKUP).isTrue
9278
}
9379

94-
@Test
95-
fun `disableCodeInsightUntil should always flush pending reverts before making next changes`() {
96-
val myFakePopup = Disposable {}.also {
97-
Disposer.register(disposable, it)
80+
fun testDisableCodeInsightUntilShouldAlwaysFlushPendingRevertsBeforeMakingNextChanges() {
81+
val myFakePopup = object : Disposable {
82+
override fun dispose() {}
9883
}
99-
val myAnotherFakePopup = Disposable {}.also {
100-
Disposer.register(disposable, it)
84+
Disposer.register(testRootDisposable, myFakePopup)
85+
86+
val myAnotherFakePopup = object : Disposable {
87+
override fun dispose() {}
10188
}
89+
Disposer.register(testRootDisposable, myAnotherFakePopup)
10290

10391
// assume users' enable the following two codeinsight functionalities
10492
settings.TAB_EXITS_BRACKETS_AND_QUOTES = true
@@ -129,8 +117,7 @@ class CodeInsightsSettingsFacadeTest {
129117
assertThat(settings.AUTO_POPUP_COMPLETION_LOOKUP).isTrue
130118
}
131119

132-
@Test
133-
fun `dispose should call revertAll to revert all changes made by CodeWhisperer`() {
120+
fun testDisposeShouldCallRevertAllToRevertAllChangesMadeByCodeWhisperer() {
134121
sut.dispose()
135122
verify(sut).revertAll()
136123
}

plugins/amazonq/codewhisperer/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/codewhisperer/util/CodeWhispererUtilTest.kt

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,13 @@
33

44
package software.aws.toolkits.jetbrains.services.codewhisperer.util
55

6-
import com.intellij.openapi.Disposable
76
import com.intellij.openapi.application.ApplicationManager
8-
import com.intellij.testFramework.ProjectExtension
9-
import com.intellij.testFramework.junit5.TestDisposable
7+
import com.intellij.testFramework.HeavyPlatformTestCase
108
import com.intellij.testFramework.replaceService
119
import io.mockk.every
1210
import io.mockk.mockk
1311
import io.mockk.mockkStatic
1412
import io.mockk.verify
15-
import org.junit.jupiter.api.Test
16-
import org.junit.jupiter.api.extension.RegisterExtension
1713
import software.aws.toolkits.core.utils.test.aString
1814
import software.aws.toolkits.jetbrains.core.credentials.ManagedBearerSsoConnection
1915
import software.aws.toolkits.jetbrains.core.credentials.ReauthSource
@@ -22,24 +18,15 @@ import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
2218
import software.aws.toolkits.jetbrains.core.credentials.reauthConnectionIfNeeded
2319
import software.aws.toolkits.jetbrains.core.region.MockRegionProviderExtension
2420

25-
class CodeWhispererUtilTest {
26-
companion object {
27-
@JvmField
28-
@RegisterExtension
29-
val projectExtension = ProjectExtension()
30-
}
31-
32-
@JvmField
33-
@RegisterExtension
34-
val mockRegionProviderExtension = MockRegionProviderExtension()
21+
class CodeWhispererUtilTest : HeavyPlatformTestCase() {
22+
private val mockRegionProviderExtension = MockRegionProviderExtension()
3523

36-
@Test
37-
fun `reconnectCodeWhisperer respects connection settings`(@TestDisposable disposable: Disposable) {
24+
fun testReconnectCodeWhispererRespectsConnectionSettings() {
3825
mockkStatic(::reauthConnectionIfNeeded)
3926
val mockConnectionManager = mockk<ToolkitConnectionManager>(relaxed = true)
4027
val mockConnection = mockk<ManagedBearerSsoConnection>()
41-
projectExtension.project.replaceService(ToolkitConnectionManager::class.java, mockConnectionManager, disposable)
42-
ApplicationManager.getApplication().replaceService(ToolkitAuthManager::class.java, mockk(relaxed = true), disposable)
28+
project.replaceService(ToolkitConnectionManager::class.java, mockConnectionManager, testRootDisposable)
29+
ApplicationManager.getApplication().replaceService(ToolkitAuthManager::class.java, mockk(relaxed = true), testRootDisposable)
4330
val startUrl = aString()
4431
val region = mockRegionProviderExtension.createAwsRegion().id
4532
val scopes = listOf(aString(), aString())
@@ -49,10 +36,10 @@ class CodeWhispererUtilTest {
4936
every { mockConnection.region } returns region
5037
every { mockConnection.scopes } returns scopes
5138

52-
CodeWhispererUtil.reconnectCodeWhisperer(projectExtension.project)
39+
CodeWhispererUtil.reconnectCodeWhisperer(project)
5340

5441
verify {
55-
reauthConnectionIfNeeded(projectExtension.project, mockConnection, isReAuth = true, reauthSource = ReauthSource.CODEWHISPERER)
42+
reauthConnectionIfNeeded(project, mockConnection, isReAuth = true, reauthSource = ReauthSource.CODEWHISPERER)
5643
}
5744
}
5845
}

0 commit comments

Comments
 (0)