Skip to content

Commit ad65042

Browse files
committed
tst
1 parent 9e36f65 commit ad65042

File tree

4 files changed

+44
-34
lines changed

4 files changed

+44
-34
lines changed

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/customization/CodeWhispererCustomization.kt

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,7 @@
44
package software.aws.toolkits.jetbrains.services.codewhisperer.customization
55

66
data class CodeWhispererCustomization(
7-
@JvmField
8-
var arn: String = "",
9-
10-
@JvmField
11-
var name: String = "",
12-
13-
@JvmField
14-
var description: String? = null,
7+
val arn: String = "",
8+
val name: String = "",
9+
val description: String? = null,
1510
)

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/customization/CodeWhispererModelConfigurator.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,13 @@ import com.intellij.util.xmlb.annotations.MapAnnotation
1919
import com.intellij.util.xmlb.annotations.Property
2020
import software.amazon.awssdk.services.codewhispererruntime.CodeWhispererRuntimeClient
2121
import software.amazon.awssdk.services.codewhispererruntime.model.CodeWhispererRuntimeException
22-
import software.amazon.awssdk.services.codewhispererruntime.model.ListAvailableCustomizationsRequest
2322
import software.aws.toolkits.core.utils.debug
2423
import software.aws.toolkits.core.utils.getLogger
2524
import software.aws.toolkits.jetbrains.services.amazonq.CodeWhispererFeatureConfigService
2625
import software.aws.toolkits.jetbrains.services.amazonq.calculateIfIamIdentityCenterConnection
2726
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfile
2827
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileManager
2928
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileSelectedListener
30-
import software.aws.toolkits.jetbrains.services.codewhisperer.credentials.CodeWhispererClientAdaptor
31-
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants
3229
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CustomizationConstants
3330
import software.aws.toolkits.jetbrains.utils.notifyInfo
3431
import software.aws.toolkits.jetbrains.utils.notifyWarn

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/util/CustomizationConstants.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object CustomizationConstants {
1414
if (e !is CodeWhispererRuntimeException) {
1515
false
1616
} else {
17-
e is software.amazon.awssdk.services.codewhispererruntime.model.AccessDeniedException && (e.message?.contains(noAccessToCustomizationMessage, ignoreCase = true) ?: false)
17+
e is AccessDeniedException && (e.message?.contains(noAccessToCustomizationMessage, ignoreCase = true) ?: false)
1818
}
1919
}
2020

plugins/amazonq/shared/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageClientImplTest.kt

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,13 @@
55
package software.aws.toolkits.jetbrains.services.amazonq.lsp
66

77
import com.google.gson.Gson
8+
import com.intellij.openapi.Disposable
9+
import com.intellij.openapi.application.ApplicationManager
810
import com.intellij.openapi.components.service
911
import com.intellij.openapi.project.Project
1012
import com.intellij.testFramework.ApplicationExtension
13+
import com.intellij.testFramework.junit5.TestDisposable
14+
import com.intellij.testFramework.replaceService
1115
import io.mockk.every
1216
import io.mockk.mockk
1317
import migration.software.aws.toolkits.jetbrains.settings.AwsSettings
@@ -25,6 +29,8 @@ import software.aws.toolkits.jetbrains.settings.CodeWhispererSettings
2529
import io.mockk.mockkObject
2630
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfile
2731
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileManager
32+
import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererCustomization
33+
import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererModelConfigurator
2834

2935

3036
@ExtendWith(ApplicationExtension::class)
@@ -131,21 +137,20 @@ class AmazonQLanguageClientImplTest {
131137
}
132138

133139
@Test
134-
fun `configuration for Amazon Q respects telemetry disabled`() {
140+
fun `configuration for Amazon Q respects telemetry disabled`(@TestDisposable disposable: Disposable) {
135141
// Mock ToolkitConnectionManager
136142
val mockConnectionManager = mockk<ToolkitConnectionManager>()
137143
every { project.service<ToolkitConnectionManager>() } returns mockConnectionManager
138144

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"
145+
// Mock CodeWhispererModelConfigurator
146+
val mockConfigurator = mockk<CodeWhispererModelConfigurator> {
147+
every { activeCustomization(project) } returns CodeWhispererCustomization(
148+
arn = "test:arn:123",
149+
name = "name",
150+
description = "description",
151+
)
147152
}
148-
every { mockProfileManager.activeProfile(project) } returns mockProfile
153+
ApplicationManager.getApplication().replaceService(CodeWhispererModelConfigurator::class.java, mockConfigurator, disposable)
149154

150155
// Mock AWS Settings
151156
AwsSettings.getInstance().isTelemetryEnabled = false
@@ -155,27 +160,33 @@ class AmazonQLanguageClientImplTest {
155160
.isEqualTo(
156161
AmazonQLspConfiguration(
157162
optOutTelemetry = false,
158-
customization = "test:arn:123"
163+
enableTelemetryEvents = null,
164+
customization = "test:arn:123",
165+
enableLocalIndexing = false,
166+
enableGpuAcceleration = false,
167+
indexWorkerThreads = 0,
168+
localIndexing = LocalIndexingConfiguration(
169+
maxIndexSizeMB = 250,
170+
)
159171
)
160172
)
161173
}
162174

163175
@Test
164-
fun `configuration for Amazon Q respects telemetry enabled`() {
176+
fun `configuration for Amazon Q respects telemetry enabled`(@TestDisposable disposable: Disposable) {
165177
// Mock ToolkitConnectionManager
166178
val mockConnectionManager = mockk<ToolkitConnectionManager>()
167179
every { project.service<ToolkitConnectionManager>() } returns mockConnectionManager
168180

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"
181+
// Mock CodeWhispererModelConfigurator
182+
val mockConfigurator = mockk<CodeWhispererModelConfigurator> {
183+
every { activeCustomization(project) } returns CodeWhispererCustomization(
184+
arn = "test:arn:123",
185+
name = "name",
186+
description = "description",
187+
)
177188
}
178-
every { mockProfileManager.activeProfile(project) } returns mockProfile
189+
ApplicationManager.getApplication().replaceService(CodeWhispererModelConfigurator::class.java, mockConfigurator, disposable)
179190

180191
// Mock AWS Settings
181192
AwsSettings.getInstance().isTelemetryEnabled = true
@@ -185,7 +196,14 @@ class AmazonQLanguageClientImplTest {
185196
.isEqualTo(
186197
AmazonQLspConfiguration(
187198
optOutTelemetry = true,
188-
customization = "test:arn:123"
199+
enableTelemetryEvents = null,
200+
customization = "test:arn:123",
201+
enableLocalIndexing = false,
202+
enableGpuAcceleration = false,
203+
indexWorkerThreads = 0,
204+
localIndexing = LocalIndexingConfiguration(
205+
maxIndexSizeMB = 250,
206+
)
189207
)
190208
)
191209
}

0 commit comments

Comments
 (0)