3
3
4
4
package software.aws.toolkits.jetbrains.settings
5
5
6
+ import com.intellij.openapi.Disposable
6
7
import com.intellij.openapi.application.ApplicationManager
7
- import com.intellij.testFramework.DisposableRule
8
- import com.intellij.testFramework.ProjectRule
8
+ import com.intellij.testFramework.ApplicationExtension
9
+ import com.intellij.testFramework.junit5.TestDisposable
9
10
import com.intellij.testFramework.replaceService
10
11
import org.assertj.core.api.Assertions.assertThat
11
- import org.junit.Rule
12
12
import org.junit.jupiter.api.BeforeEach
13
13
import org.junit.jupiter.api.Test
14
+ import org.junit.jupiter.api.extension.ExtendWith
14
15
import org.mockito.kotlin.argumentCaptor
15
16
import org.mockito.kotlin.inOrder
16
17
import org.mockito.kotlin.mock
@@ -20,34 +21,27 @@ import software.aws.toolkits.core.telemetry.TelemetryPublisher
20
21
import software.aws.toolkits.jetbrains.services.telemetry.NoOpPublisher
21
22
import software.aws.toolkits.jetbrains.services.telemetry.TelemetryService
22
23
24
+ @ExtendWith(ApplicationExtension ::class )
23
25
class AwsSettingsTest {
24
26
private class TestTelemetryService (
25
27
publisher : TelemetryPublisher = NoOpPublisher (),
26
28
batcher : TelemetryBatcher
27
29
) : TelemetryService(publisher, batcher)
28
30
29
- @Rule
30
- @JvmField
31
- val projectRule = ProjectRule ()
32
-
33
- @Rule
34
- @JvmField
35
- val disposableRule = DisposableRule ()
36
-
37
31
private lateinit var telemetryService: TelemetryService
38
32
private lateinit var batcher: TelemetryBatcher
39
33
private lateinit var awsSettings: DefaultAwsSettings
40
34
private lateinit var awsConfiguration: AwsConfiguration
41
35
42
36
@BeforeEach
43
- fun setup () {
37
+ fun setup (@TestDisposable disposable : Disposable ) {
44
38
batcher = mock()
45
39
telemetryService = spy(TestTelemetryService (batcher = batcher))
46
40
awsSettings = spy(DefaultAwsSettings ())
47
41
awsConfiguration = spy(AwsConfiguration ())
48
42
awsSettings.loadState(awsConfiguration)
49
- ApplicationManager .getApplication().replaceService(TelemetryService ::class .java, telemetryService, disposableRule. disposable)
50
- ApplicationManager .getApplication().replaceService(AwsSettings ::class .java, awsSettings, disposableRule. disposable)
43
+ ApplicationManager .getApplication().replaceService(TelemetryService ::class .java, telemetryService, disposable)
44
+ ApplicationManager .getApplication().replaceService(AwsSettings ::class .java, awsSettings, disposable)
51
45
}
52
46
53
47
@Test
0 commit comments