@@ -15,6 +15,8 @@ import com.intellij.openapi.project.Project
1515import com.intellij.openapi.vfs.VirtualFile
1616import com.intellij.openapi.vfs.newvfs.events.VFileContentChangeEvent
1717import com.intellij.openapi.vfs.newvfs.events.VFileEvent
18+ import com.intellij.testFramework.ApplicationRule
19+ import com.intellij.testFramework.LightVirtualFile
1820import com.intellij.util.messages.MessageBus
1921import com.intellij.util.messages.MessageBusConnection
2022import io.mockk.every
@@ -24,6 +26,7 @@ import io.mockk.mockkObject
2426import io.mockk.mockkStatic
2527import io.mockk.runs
2628import io.mockk.slot
29+ import io.mockk.spyk
2730import io.mockk.verify
2831import kotlinx.coroutines.test.runTest
2932import org.assertj.core.api.Assertions.assertThat
@@ -34,6 +37,7 @@ import org.eclipse.lsp4j.DidSaveTextDocumentParams
3437import org.eclipse.lsp4j.jsonrpc.messages.ResponseMessage
3538import org.eclipse.lsp4j.services.TextDocumentService
3639import org.junit.Before
40+ import org.junit.Rule
3741import org.junit.Test
3842import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLanguageServer
3943import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService
@@ -44,6 +48,10 @@ import java.util.concurrent.Callable
4448import java.util.concurrent.CompletableFuture
4549
4650class TextDocumentServiceHandlerTest {
51+ @Rule
52+ @JvmField
53+ val application = ApplicationRule ()
54+
4755 private lateinit var project: Project
4856 private lateinit var mockFileEditorManager: FileEditorManager
4957 private lateinit var mockLanguageServer: AmazonQLanguageServer
@@ -57,7 +65,7 @@ class TextDocumentServiceHandlerTest {
5765 mockTextDocumentService = mockk<TextDocumentService >()
5866 mockLanguageServer = mockk<AmazonQLanguageServer >()
5967
60- mockApplication = mockk <Application >()
68+ mockApplication = spyk <Application >(ApplicationManager .getApplication() )
6169 mockkStatic(ApplicationManager ::class )
6270 every { ApplicationManager .getApplication() } returns mockApplication
6371 every { mockApplication.executeOnPooledThread(any<Callable <* >>()) } answers {
@@ -311,18 +319,19 @@ class TextDocumentServiceHandlerTest {
311319
312320 val mockFileType = mockk<FileType > {
313321 every { name } returns fileTypeName
322+ every { isBinary } returns false
314323 }
315324
316- return mockk <VirtualFile > {
325+ return spyk <VirtualFile >( LightVirtualFile ( " test.java " )) {
317326 every { url } returns uri.path
318327 every { toNioPath() } returns path
319328 every { isDirectory } returns false
320329 every { fileSystem } returns mockk {
321330 every { protocol } returns " file"
322331 }
323- every { this @mockk .inputStream } returns inputStream
332+ every { this @spyk .inputStream } returns inputStream
324333 every { fileType } returns mockFileType
325- every { this @mockk .modificationStamp } returns modificationStamp
334+ every { this @spyk .modificationStamp } returns modificationStamp
326335 }
327336 }
328337
0 commit comments