@@ -22,6 +22,10 @@ import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
2222import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.credentials.ConnectionMetadata
2323import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.credentials.SsoProfileData
2424import software.aws.toolkits.jetbrains.settings.CodeWhispererSettings
25+ import io.mockk.mockkObject
26+ import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfile
27+ import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileManager
28+
2529
2630@ExtendWith(ApplicationExtension ::class )
2731class AmazonQLanguageClientImplTest {
@@ -127,25 +131,61 @@ class AmazonQLanguageClientImplTest {
127131 }
128132
129133 @Test
130- fun `configuration for Amazon Q respects telemetry enabled` () {
131- AwsSettings .getInstance().isTelemetryEnabled = true
134+ fun `configuration for Amazon Q respects telemetry disabled` () {
135+ // Mock ToolkitConnectionManager
136+ val mockConnectionManager = mockk<ToolkitConnectionManager >()
137+ every { project.service<ToolkitConnectionManager >() } returns mockConnectionManager
138+
139+ // Mock QRegionProfileManager
140+ val mockProfileManager = mockk<QRegionProfileManager >()
141+ mockkObject(QRegionProfileManager .Companion )
142+ every { QRegionProfileManager .getInstance() } returns mockProfileManager
143+
144+ // Mock the active profile with an ARN
145+ val mockProfile = mockk<QRegionProfile > {
146+ every { arn } returns " test:arn:123"
147+ }
148+ every { mockProfileManager.activeProfile(project) } returns mockProfile
149+
150+ // Mock AWS Settings
151+ AwsSettings .getInstance().isTelemetryEnabled = false
152+
132153 assertThat(sut.configuration(configurationParams(" aws.q" )).get())
133154 .singleElement()
134155 .isEqualTo(
135156 AmazonQLspConfiguration (
136- optOutTelemetry = true
157+ optOutTelemetry = false ,
158+ customization = " test:arn:123"
137159 )
138160 )
139161 }
140162
141163 @Test
142- fun `configuration for Amazon Q respects telemetry disabled` () {
143- AwsSettings .getInstance().isTelemetryEnabled = false
164+ fun `configuration for Amazon Q respects telemetry enabled` () {
165+ // Mock ToolkitConnectionManager
166+ val mockConnectionManager = mockk<ToolkitConnectionManager >()
167+ every { project.service<ToolkitConnectionManager >() } returns mockConnectionManager
168+
169+ // Mock QRegionProfileManager
170+ val mockProfileManager = mockk<QRegionProfileManager >()
171+ mockkObject(QRegionProfileManager .Companion )
172+ every { QRegionProfileManager .getInstance() } returns mockProfileManager
173+
174+ // Mock the active profile with an ARN
175+ val mockProfile = mockk<QRegionProfile > {
176+ every { arn } returns " test:arn:123"
177+ }
178+ every { mockProfileManager.activeProfile(project) } returns mockProfile
179+
180+ // Mock AWS Settings
181+ AwsSettings .getInstance().isTelemetryEnabled = true
182+
144183 assertThat(sut.configuration(configurationParams(" aws.q" )).get())
145184 .singleElement()
146185 .isEqualTo(
147186 AmazonQLspConfiguration (
148- optOutTelemetry = false
187+ optOutTelemetry = true ,
188+ customization = " test:arn:123"
149189 )
150190 )
151191 }
0 commit comments