in plugins/amazonq/codetransform/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/codemodernizer/CodeWhispererCodeModernizerTestBase.kt [263:358]
open fun setup() {
project = projectRule.project
toolkitConnectionManager = spy(ToolkitConnectionManager.getInstance(project))
val accessToken = DeviceAuthorizationGrantToken(aString(), aString(), aString(), aString(), Instant.MAX, Instant.now())
val provider =
mock<BearerTokenProvider> {
doReturn(accessToken).whenever(it).refresh()
}
val mockBearerProvider =
mock<ToolkitBearerTokenProvider> {
doReturn(provider).whenever(it).delegate
}
val connectionSettingsMock =
mock<TokenConnectionSettings> {
whenever(it.tokenProvider).thenReturn(mockBearerProvider)
}
val toolkitConnection =
mock<AwsBearerTokenConnection> {
doReturn(connectionSettingsMock).whenever(it).getConnectionSettings()
}
doReturn(toolkitConnection).whenever(toolkitConnectionManager).activeConnectionForFeature(any())
project.replaceService(ToolkitConnectionManager::class.java, toolkitConnectionManager, disposableRule.disposable)
telemetryManagerSpy = spy(CodeTransformTelemetryManager.getInstance(project))
project.replaceService(CodeTransformTelemetryManager::class.java, telemetryManagerSpy, disposableRule.disposable)
clientAdaptorSpy = spy(GumbyClient.getInstance(project))
project.replaceService(GumbyClient::class.java, clientAdaptorSpy, disposableRule.disposable)
testSessionStateSpy = spy(CodeModernizerSessionState.getInstance(project))
project.replaceService(CodeModernizerSessionState::class.java, testSessionStateSpy, disposableRule.disposable)
codeModernizerManagerSpy = spy(CodeModernizerManager.getInstance(project))
module = project.modules.firstOrNull() ?: if (projectRule is HeavyJavaCodeInsightTestFixtureRule) {
projectRule.fixture.addModule("module1")
} else {
TODO()
}
val virtualFileMock = Mockito.mock(VirtualFile::class.java)
val summaryFileMock = Mockito.mock(File::class.java)
val logFileMock = Mockito.mock(File::class.java)
doReturn("dummy/path").whenever(virtualFileMock).path
testSessionContextSpy = spy(
CodeModernizerSessionContext(
project,
virtualFileMock,
JavaSdkVersion.JDK_1_8,
JavaSdkVersion.JDK_11,
listOf("EXPLAINABILITY_V1", "SELECTIVE_TRANSFORMATION_V1"),
"test"
)
)
testSessionSpy = spy(CodeModernizerSession(testSessionContextSpy, 0, 0))
doNothing().whenever(testSessionSpy).deleteUploadArtifact(any())
doReturn(Job()).whenever(codeModernizerManagerSpy).launchModernizationJob(any(), any())
testCodeModernizerArtifact =
spy(
CodeModernizerArtifact(
exampleZipPath.toAbsolutePath().toString(),
validManifest,
listOf(
minJDKUpgradePatchResourceFile,
enterpriseApplicationUpgradePatchResourceFile,
testingToolPatchResourceFile,
deprecatedAPIPatchResourceFile
),
exampleDescriptionContent.content,
validTransformationSummary,
summaryFileMock,
validMetrics
),
)
testTransformFailureBuildLog =
spy(
CodeTransformFailureBuildLog(
logFileMock
),
)
// Set up the bottom tool window mocks
testModernizerBottomWindowPanelSpy = spy(CodeModernizerBottomWindowPanelManager(project))
toolWindowMock =
spy(
ToolWindowManager.getInstance(project).registerToolWindow(
RegisterToolWindowTask(
id = CodeModernizerBottomToolWindowFactory.id,
),
),
)
doReturn(toolWindowMock).whenever(codeModernizerManagerSpy).getBottomToolWindow()
doNothing().whenever(codeModernizerManagerSpy).notifyTransformationStopped()
doNothing().whenever(codeModernizerManagerSpy).notifyTransformationStartStopping()
doNothing().whenever(codeModernizerManagerSpy).notifyTransformationFailedToStop()
doReturn(Path("/test/pom.xml")).whenever(emptyPomFileSpy).toNioPath()
validJDK8CustomerSelection = CustomerSelection(emptyPomFileSpy, JavaSdkVersion.JDK_1_8, JavaSdkVersion.JDK_17)
}