11package io.snyk.plugin.analytics
22
3+ import com.intellij.openapi.application.Application
4+ import com.intellij.openapi.application.ApplicationManager
35import com.intellij.openapi.project.Project
46import com.intellij.openapi.vfs.VirtualFile
57import io.mockk.every
@@ -14,6 +16,7 @@ import io.snyk.plugin.getOS
1416import io.snyk.plugin.pluginSettings
1517import io.snyk.plugin.services.SnykApplicationSettingsStateService
1618import io.snyk.plugin.toVirtualFile
19+ import io.snyk.plugin.ui.toolwindow.SnykPluginDisposable
1720import junit.framework.TestCase.assertEquals
1821import junit.framework.TestCase.assertNotNull
1922import org.junit.After
@@ -29,16 +32,22 @@ class AnalyticsScanListenerTest {
2932 private val projectMock: Project = mockk()
3033 private val settings = SnykApplicationSettingsStateService ()
3134 private val languageServerWrapper: LanguageServerWrapper = mockk()
35+ private val applicationMock: Application = mockk(relaxed = true )
3236
3337 @Before
3438 fun setUp () {
3539 unmockkAll()
3640
41+ mockkStatic(ApplicationManager ::class )
42+ every { ApplicationManager .getApplication() } returns applicationMock
43+ every { applicationMock.getService(SnykPluginDisposable ::class .java) } returns mockk(relaxed = true )
44+
3745 mockkStatic(" io.snyk.plugin.UtilsKt" )
3846 every { pluginSettings() } returns settings
3947
4048 mockkObject(LanguageServerWrapper .Companion )
4149 every { LanguageServerWrapper .getInstance() } returns languageServerWrapper
50+ every { languageServerWrapper.notAuthenticated() } returns false
4251 justRun { languageServerWrapper.sendReportAnalyticsCommand(any()) }
4352
4453 mockkStatic(" snyk.PluginInformationKt" )
@@ -104,6 +113,6 @@ class AnalyticsScanListenerTest {
104113 fun `testScanListener scanningContainerFinished should call language server to report analytics` () {
105114 cut.snykScanListener.scanningContainerFinished(mockk(relaxed = true ))
106115
107- verify { languageServerWrapper.sendReportAnalyticsCommand(any()) }
116+ verify(timeout = 3000 ) { languageServerWrapper.sendReportAnalyticsCommand(any()) }
108117 }
109118}
0 commit comments