@@ -23,6 +23,9 @@ import org.mockito.kotlin.any
2323import org.mockito.kotlin.argumentCaptor
2424import org.mockito.kotlin.doAnswer
2525import org.mockito.kotlin.doNothing
26+ import org.mockito.kotlin.doReturn
27+ import org.mockito.kotlin.eq
28+ import org.mockito.kotlin.mock
2629import org.mockito.kotlin.spy
2730import org.mockito.kotlin.stub
2831import org.mockito.kotlin.timeout
@@ -31,12 +34,20 @@ import software.amazon.awssdk.services.codewhispererruntime.CodeWhispererRuntime
3134import software.amazon.awssdk.services.codewhispererruntime.model.GenerateCompletionsRequest
3235import software.amazon.awssdk.services.codewhispererruntime.paginators.GenerateCompletionsIterable
3336import software.amazon.awssdk.services.ssooidc.SsoOidcClient
37+ import software.aws.toolkits.core.TokenConnectionSettings
38+ import software.aws.toolkits.core.credentials.ToolkitBearerTokenProvider
39+ import software.aws.toolkits.core.region.AwsRegion
3440import software.aws.toolkits.jetbrains.core.MockClientManagerRule
41+ import software.aws.toolkits.jetbrains.core.credentials.LegacyManagedBearerSsoConnection
3542import software.aws.toolkits.jetbrains.core.credentials.ManagedSsoProfile
3643import software.aws.toolkits.jetbrains.core.credentials.MockCredentialManagerRule
3744import software.aws.toolkits.jetbrains.core.credentials.MockToolkitAuthManagerRule
3845import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
46+ import software.aws.toolkits.jetbrains.core.credentials.pinning.CodeWhispererConnection
47+ import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
3948import software.aws.toolkits.jetbrains.core.credentials.sono.Q_SCOPES
49+ import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenAuthState
50+ import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenProvider
4051import software.aws.toolkits.jetbrains.services.codewhisperer.CodeWhispererTestUtil.codeWhispererRecommendationActionId
4152import software.aws.toolkits.jetbrains.services.codewhisperer.CodeWhispererTestUtil.pythonFileName
4253import software.aws.toolkits.jetbrains.services.codewhisperer.CodeWhispererTestUtil.pythonResponse
@@ -91,6 +102,20 @@ open class CodeWhispererTestBase {
91102
92103 @Before
93104 open fun setUp () {
105+ val mockTokenProviderDelegate: BearerTokenProvider = mock {
106+ on { state() } doReturn BearerTokenAuthState .AUTHORIZED
107+ on { id } doReturn " test_connection_id"
108+ }
109+ val mockConnectionSetting: LegacyManagedBearerSsoConnection = mock {
110+ on { getConnectionSettings() } doReturn
111+ TokenConnectionSettings (ToolkitBearerTokenProvider (mockTokenProviderDelegate), AwsRegion (" us-east-1" , " IAD" , " aws" ))
112+ }
113+ val mockAuth = mock<ToolkitConnectionManager > {
114+ on { activeConnectionForFeature(eq(QConnection .getInstance())) } doReturn mockConnectionSetting
115+ on { connectionStateForFeature(eq(QConnection .getInstance())) } doReturn BearerTokenAuthState .AUTHORIZED
116+ on { connectionStateForFeature(eq(CodeWhispererConnection .getInstance())) } doReturn BearerTokenAuthState .AUTHORIZED
117+ }
118+ projectRule.project.replaceService(ToolkitConnectionManager ::class .java, mockAuth, disposableRule.disposable)
94119 mockClient = mockClientManagerRule.create()
95120 mockClientManagerRule.create<SsoOidcClient >()
96121 val requestCaptor = argumentCaptor<GenerateCompletionsRequest >()
0 commit comments