44package software.aws.toolkits.jetbrains.core.gettingstarted
55
66import com.intellij.configurationStore.getPersistentStateComponentStorageLocation
7- import com.intellij.testFramework.ProjectRule
7+ import com.intellij.testFramework.HeavyPlatformTestCase
88import io.mockk.every
9- import io.mockk.junit5.MockKExtension
109import io.mockk.mockkObject
1110import io.mockk.verify
1211import kotlinx.coroutines.ExperimentalCoroutinesApi
13- import org.junit.jupiter.api.AfterEach
14- import org.junit.jupiter.api.Test
15- import org.junit.jupiter.api.extension.ExtendWith
16- import org.junit.jupiter.api.extension.RegisterExtension
1712import software.aws.toolkits.core.utils.deleteIfExists
1813import software.aws.toolkits.core.utils.touch
1914import software.aws.toolkits.jetbrains.core.credentials.MockCredentialManagerExtension
2015import software.aws.toolkits.jetbrains.core.gettingstarted.editor.GettingStartedPanel
2116import software.aws.toolkits.jetbrains.settings.GettingStartedSettings
2217
2318@ExperimentalCoroutinesApi
24- @ExtendWith(MockKExtension ::class )
25- class GettingStartedOnStartupTest {
26- companion object {
27- @JvmField
28- @RegisterExtension
29- val projectExtension = ProjectRule ()
30- }
31-
32- @JvmField
33- @RegisterExtension
34- val credManagerExtension = MockCredentialManagerExtension ()
35-
19+ class GettingStartedOnStartupTest : HeavyPlatformTestCase () {
20+ private val credManagerExtension = MockCredentialManagerExtension ()
3621 private val sut = GettingStartedOnStartup ()
3722
38- @AfterEach
39- fun afterEach () {
40- GettingStartedSettings .getInstance().shouldDisplayPage = true
41- getPersistentStateComponentStorageLocation(GettingStartedSettings ::class .java)?.deleteIfExists()
23+ override fun tearDown () {
24+ try {
25+ GettingStartedSettings .getInstance().shouldDisplayPage = true
26+ getPersistentStateComponentStorageLocation(GettingStartedSettings ::class .java)?.deleteIfExists()
27+ } finally {
28+ super .tearDown()
29+ }
4230 }
4331
44- @Test
45- fun `does not show screen if aws settings exist and has credentials` () {
32+ fun `test does not show screen if aws settings exist and has credentials` () {
4633 mockkObject(GettingStartedPanel .Companion )
4734 every { GettingStartedPanel .openPanel(any()) } returns Unit
4835 val fp = getPersistentStateComponentStorageLocation(GettingStartedSettings ::class .java) ? : error(
4936 " could not determine persistent storage for GettingStartedSettings"
5037 )
5138 try {
5239 fp.touch()
53- sut.runActivity(projectExtension. project)
40+ sut.runActivity(project)
5441 } finally {
5542 fp.deleteIfExists()
5643 }
5744
5845 verify(exactly = 0 ) {
59- GettingStartedPanel .openPanel(projectExtension. project)
46+ GettingStartedPanel .openPanel(project)
6047 }
6148 }
6249
63- @Test
64- fun `does not show screen if has previously shown screen` () {
50+ fun `test does not show screen if has previously shown screen` () {
6551 mockkObject(GettingStartedPanel .Companion )
6652 every { GettingStartedPanel .openPanel(any()) } returns Unit
6753 GettingStartedSettings .getInstance().shouldDisplayPage = false
68- sut.runActivity(projectExtension. project)
54+ sut.runActivity(project)
6955
7056 verify(exactly = 0 ) {
71- GettingStartedPanel .openPanel(projectExtension. project)
57+ GettingStartedPanel .openPanel(project)
7258 }
7359 }
7460
75- @Test
76- fun `shows screen if aws settings exist and no credentials` () {
61+ fun `test shows screen if aws settings exist and no credentials` () {
7762 mockkObject(GettingStartedPanel .Companion )
7863 every { GettingStartedPanel .openPanel(any()) } returns Unit
7964 credManagerExtension.clear()
@@ -82,24 +67,23 @@ class GettingStartedOnStartupTest {
8267 )
8368 try {
8469 fp.touch()
85- sut.runActivity(projectExtension. project)
70+ sut.runActivity(project)
8671 } finally {
8772 fp.deleteIfExists()
8873 }
8974
9075 verify {
91- GettingStartedPanel .openPanel(projectExtension. project, any(), any())
76+ GettingStartedPanel .openPanel(project, any(), any())
9277 }
9378 }
9479
95- @Test
96- fun `shows screen on first install` () {
80+ fun `test shows screen on first install` () {
9781 mockkObject(GettingStartedPanel .Companion )
9882 every { GettingStartedPanel .openPanel(any()) } returns Unit
99- sut.runActivity(projectExtension. project)
83+ sut.runActivity(project)
10084
10185 verify {
102- GettingStartedPanel .openPanel(projectExtension. project, any(), any())
86+ GettingStartedPanel .openPanel(project, any(), any())
10387 }
10488 }
10589}
0 commit comments