@@ -15,6 +15,7 @@ import org.junit.After
1515import org.junit.Before
1616import org.junit.Rule
1717import org.junit.Test
18+ import org.junit.jupiter.api.assertThrows
1819import org.mockito.kotlin.any
1920import org.mockito.kotlin.argThat
2021import org.mockito.kotlin.argumentCaptor
@@ -68,10 +69,12 @@ import software.aws.toolkits.core.TokenConnectionSettings
6869import software.aws.toolkits.core.utils.test.aString
6970import software.aws.toolkits.jetbrains.core.MockClientManagerRule
7071import software.aws.toolkits.jetbrains.core.credentials.AwsBearerTokenConnection
72+ import software.aws.toolkits.jetbrains.core.credentials.DefaultToolkitConnectionManager
7173import software.aws.toolkits.jetbrains.core.credentials.ManagedSsoProfile
7274import software.aws.toolkits.jetbrains.core.credentials.MockCredentialManagerRule
7375import software.aws.toolkits.jetbrains.core.credentials.MockToolkitAuthManagerRule
7476import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
77+ import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
7578import software.aws.toolkits.jetbrains.core.credentials.sono.SONO_REGION
7679import software.aws.toolkits.jetbrains.services.amazonq.FEATURE_EVALUATION_PRODUCT_NAME
7780import software.aws.toolkits.jetbrains.services.codewhisperer.CodeWhispererTestUtil.metadata
@@ -163,6 +166,16 @@ class CodeWhispererClientAdaptorTest {
163166 assertThat(" us-east-1" ).isEqualTo(SONO_REGION )
164167 }
165168
169+ @Test
170+ fun `should throw if there is no valid credential` () {
171+ projectRule.project.replaceService(ToolkitConnectionManager ::class .java, DefaultToolkitConnectionManager (), disposableRule.disposable)
172+ assertThat(ToolkitConnectionManager .getInstance(projectRule.project).activeConnectionForFeature(QConnection .getInstance())).isNull()
173+
174+ assertThrows<Exception >(" attempt to get bearer client while there is no valid credential" ) {
175+ sut.listFeatureEvaluations()
176+ }
177+ }
178+
166179 @Test
167180 fun `listCustomizations` () {
168181 val sdkIterable = ListAvailableCustomizationsIterable (bearerClient, ListAvailableCustomizationsRequest .builder().build())
0 commit comments