Skip to content

Commit 96e00a9

Browse files
committed
a
1 parent 3d1098d commit 96e00a9

File tree

1 file changed

+25
-0
lines changed
  • plugins/amazonq/codewhisperer/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/codewhisperer

1 file changed

+25
-0
lines changed

plugins/amazonq/codewhisperer/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/codewhisperer/CodeWhispererTestBase.kt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ import org.mockito.kotlin.any
2323
import org.mockito.kotlin.argumentCaptor
2424
import org.mockito.kotlin.doAnswer
2525
import org.mockito.kotlin.doNothing
26+
import org.mockito.kotlin.doReturn
27+
import org.mockito.kotlin.eq
28+
import org.mockito.kotlin.mock
2629
import org.mockito.kotlin.spy
2730
import org.mockito.kotlin.stub
2831
import org.mockito.kotlin.timeout
@@ -31,12 +34,20 @@ import software.amazon.awssdk.services.codewhispererruntime.CodeWhispererRuntime
3134
import software.amazon.awssdk.services.codewhispererruntime.model.GenerateCompletionsRequest
3235
import software.amazon.awssdk.services.codewhispererruntime.paginators.GenerateCompletionsIterable
3336
import 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
3440
import software.aws.toolkits.jetbrains.core.MockClientManagerRule
41+
import software.aws.toolkits.jetbrains.core.credentials.LegacyManagedBearerSsoConnection
3542
import software.aws.toolkits.jetbrains.core.credentials.ManagedSsoProfile
3643
import software.aws.toolkits.jetbrains.core.credentials.MockCredentialManagerRule
3744
import software.aws.toolkits.jetbrains.core.credentials.MockToolkitAuthManagerRule
3845
import 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
3948
import 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
4051
import software.aws.toolkits.jetbrains.services.codewhisperer.CodeWhispererTestUtil.codeWhispererRecommendationActionId
4152
import software.aws.toolkits.jetbrains.services.codewhisperer.CodeWhispererTestUtil.pythonFileName
4253
import 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

Comments
 (0)