@@ -12,7 +12,6 @@ import com.intellij.testFramework.runInEdtAndWait
1212import org.assertj.core.api.Assertions.assertThat
1313import org.junit.After
1414import org.junit.Before
15- import org.junit.Ignore
1615import org.junit.Rule
1716import org.junit.Test
1817import org.junit.jupiter.api.assertThrows
@@ -25,7 +24,6 @@ import org.mockito.kotlin.mock
2524import org.mockito.kotlin.stub
2625import org.mockito.kotlin.times
2726import org.mockito.kotlin.verify
28- import org.mockito.kotlin.whenever
2927import software.amazon.awssdk.services.codewhispererruntime.CodeWhispererRuntimeClient
3028import software.amazon.awssdk.services.codewhispererruntime.model.ArtifactType
3129import software.amazon.awssdk.services.codewhispererruntime.model.CodeAnalysisFindingsSchema
@@ -55,11 +53,9 @@ import software.amazon.awssdk.services.codewhispererruntime.model.SuggestionStat
5553import software.amazon.awssdk.services.codewhispererruntime.paginators.GenerateCompletionsIterable
5654import software.amazon.awssdk.services.codewhispererruntime.paginators.ListAvailableCustomizationsIterable
5755import software.amazon.awssdk.services.ssooidc.SsoOidcClient
58- import software.aws.toolkits.core.TokenConnectionSettings
5956import software.aws.toolkits.core.utils.test.aString
6057import software.aws.toolkits.jetbrains.core.MockClientManagerRule
6158import software.aws.toolkits.jetbrains.core.credentials.AwsBearerTokenConnection
62- import software.aws.toolkits.jetbrains.core.credentials.DefaultToolkitConnectionManager
6359import software.aws.toolkits.jetbrains.core.credentials.ManagedSsoProfile
6460import software.aws.toolkits.jetbrains.core.credentials.MockCredentialManagerRule
6561import software.aws.toolkits.jetbrains.core.credentials.MockToolkitAuthManagerRule
@@ -88,7 +84,6 @@ import software.aws.toolkits.telemetry.CodewhispererCompletionType
8884import software.aws.toolkits.telemetry.CodewhispererSuggestionState
8985import software.aws.toolkits.telemetry.CodewhispererTriggerType
9086
91- @Ignore
9287class CodeWhispererClientAdaptorTest {
9388 val projectRule = JavaCodeInsightTestFixtureRule ()
9489 val disposableRule = DisposableRule ()
@@ -98,13 +93,12 @@ class CodeWhispererClientAdaptorTest {
9893
9994 @Rule
10095 @JvmField
101- val ruleChain = RuleChain (projectRule, mockCredentialRule, mockClientManagerRule, disposableRule)
96+ val ruleChain = RuleChain (projectRule, mockCredentialRule, mockClientManagerRule, authManagerRule, disposableRule)
10297
10398 private lateinit var bearerClient: CodeWhispererRuntimeClient
10499 private lateinit var ssoClient: SsoOidcClient
105100
106101 private lateinit var sut: CodeWhispererClientAdaptorImpl
107- private lateinit var connectionManager: ToolkitConnectionManager
108102 private var isTelemetryEnabledDefault: Boolean = false
109103
110104 @Before
@@ -122,15 +116,8 @@ class CodeWhispererClientAdaptorTest {
122116 on { listFeatureEvaluations(any<ListFeatureEvaluationsRequest >()) } doReturn listFeatureEvaluationsResponse
123117 }
124118
125- val mockConnection = mock<AwsBearerTokenConnection >()
126- whenever(mockConnection.getConnectionSettings()) doReturn mock<TokenConnectionSettings >()
127-
128- connectionManager = mock {
129- on {
130- activeConnectionForFeature(any())
131- } doReturn authManagerRule.createConnection(ManagedSsoProfile (" us-east-1" , aString(), listOf (" scopes" ))) as AwsBearerTokenConnection
132- }
133- projectRule.project.replaceService(ToolkitConnectionManager ::class .java, connectionManager, disposableRule.disposable)
119+ val conn = authManagerRule.createConnection(ManagedSsoProfile (" us-east-1" , " url" , Q_SCOPES ))
120+ ToolkitConnectionManager .getInstance(projectRule.project).switchConnection(conn)
134121
135122 isTelemetryEnabledDefault = AwsSettings .getInstance().isTelemetryEnabled
136123 }
@@ -147,24 +134,15 @@ class CodeWhispererClientAdaptorTest {
147134
148135 @Test
149136 fun `should throw if there is no valid credential, otherwise return codewhispererRuntimeClient` () {
150- val connectionManager = DefaultToolkitConnectionManager ()
151- projectRule.project.replaceService(ToolkitConnectionManager ::class .java, DefaultToolkitConnectionManager (), disposableRule.disposable)
152-
153- assertThat(ToolkitConnectionManager .getInstance(projectRule.project).activeConnectionForFeature(QConnection .getInstance())).isNull()
154- assertThrows<Exception >(" attempt to get bearer client while there is no valid credential" ) {
155- sut.bearerClient()
156- }
137+ val connectionManager = ToolkitConnectionManager .getInstance(projectRule.project)
157138
158- val qConnection = authManagerRule.createConnection(ManagedSsoProfile (" us-east-1" , aString(), Q_SCOPES ))
159- connectionManager.switchConnection(qConnection)
160139 assertThat(connectionManager.activeConnectionForFeature(QConnection .getInstance()))
161140 .isNotNull
162- .isEqualTo(qConnection)
163141 assertThat(sut.bearerClient())
164142 .isNotNull
165143 .isInstanceOf(CodeWhispererRuntimeClient ::class .java)
166144
167- logoutFromSsoConnection(projectRule.project, qConnection as AwsBearerTokenConnection )
145+ logoutFromSsoConnection(projectRule.project, connectionManager.activeConnectionForFeature( QConnection .getInstance()) as AwsBearerTokenConnection )
168146 assertThat(connectionManager.activeConnectionForFeature(QConnection .getInstance())).isNull()
169147 assertThrows<Exception >(" attempt to get bearer client while there is no valid credential" ) {
170148 sut.bearerClient()
0 commit comments