Skip to content

Commit 3dcde41

Browse files
committed
Fixes
1 parent 3e129b2 commit 3dcde41

File tree

6 files changed

+76
-33
lines changed

6 files changed

+76
-33
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqCodeTest/CodeTestChatItems.kt

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,14 @@ fun testGenProgressField(value: Int) = ProgressField(
5151

5252
val fixingTestCasesProgressField = ProgressField(
5353
status = "default",
54-
value= -1,
54+
value = -1,
5555
text = message("testgen.progressbar.fixing_test_cases"),
5656
actions = listOf(cancelTestGenBuildAndExecuteButton)
5757
)
5858

59-
fun createProgressField(messageKey: String): ProgressField {
60-
return ProgressField(
61-
status = "default",
62-
value = -1,
63-
text = message(messageKey),
64-
actions = listOf(if (messageKey == "testgen.progressbar.build_and_execute") cancelFixingTestCasesButton else cancelTestGenBuildAndExecuteButton)
65-
)
66-
}
59+
fun createProgressField(messageKey: String): ProgressField = ProgressField(
60+
status = "default",
61+
value = -1,
62+
text = message(messageKey),
63+
actions = listOf(if (messageKey == "testgen.progressbar.build_and_execute") cancelFixingTestCasesButton else cancelTestGenBuildAndExecuteButton)
64+
)

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqCodeTest/CodeWhispererUTGChatManager.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ import software.aws.toolkits.jetbrains.utils.isQConnected
5555
import software.aws.toolkits.resources.message
5656
import software.aws.toolkits.telemetry.AmazonqTelemetry
5757
import software.aws.toolkits.telemetry.MetricResult
58+
//import software.aws.toolkits.telemetry.Status
5859
import java.io.ByteArrayInputStream
5960
import java.io.ByteArrayOutputStream
6061
import java.io.File
@@ -616,7 +617,8 @@ class CodeWhispererUTGChatManager(val project: Project, private val cs: Coroutin
616617
isCodeBlockSelected = session.isCodeBlockSelected,
617618
artifactsUploadDuration = session.artifactUploadDuration,
618619
buildZipFileBytes = session.srcZipFileSize,
619-
requestId = session.startTestGenerationRequestId
620+
requestId = session.startTestGenerationRequestId,
621+
// status = if (e.message == message("testgen.message.cancelled")) Status.CANCELLED else Status.FAILED,
620622
)
621623
}
622624
session.isGeneratingTests = false

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqCodeTest/controller/CodeTestChatController.kt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,7 @@ import software.aws.toolkits.jetbrains.services.amazonqCodeTest.CodeWhispererUTG
6161
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.ConversationState
6262
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.FEATURE_NAME
6363
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.InboundAppMessagesHandler
64-
//import software.aws.toolkits.jetbrains.services.amazonqCodeTest.buildAndExecuteProgrogressField
6564
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.createProgressField
66-
//import software.aws.toolkits.jetbrains.services.amazonqCodeTest.fixingTestCasesProgressField
6765
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.messages.Button
6866
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.messages.CodeTestChatMessage
6967
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.messages.CodeTestChatMessageContent
@@ -75,7 +73,6 @@ import software.aws.toolkits.jetbrains.services.amazonqCodeTest.session.Session
7573
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.session.UTG_CHAT_MAX_ITERATION
7674
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.storage.ChatSessionStorage
7775
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.testGenCompletedField
78-
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.testGenProgressField
7976
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.utils.constructBuildAndExecutionSummaryText
8077
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.utils.runBuildOrTestCommand
8178
import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.messages.sendAuthNeededException
@@ -106,6 +103,7 @@ import software.aws.toolkits.telemetry.AmazonqTelemetry
106103
import software.aws.toolkits.telemetry.FeatureId
107104
import software.aws.toolkits.telemetry.InteractionType
108105
import software.aws.toolkits.telemetry.MetricResult
106+
//import software.aws.toolkits.telemetry.Status
109107
import software.aws.toolkits.telemetry.UiTelemetry
110108
import java.io.File
111109
import java.nio.file.Files
@@ -316,7 +314,8 @@ class CodeTestChatController(
316314
credentialStartUrl = getStartUrl(project),
317315
result = MetricResult.Succeeded,
318316
perfClientLatency = (Instant.now().toEpochMilli() - session.startTimeOfTestGeneration),
319-
requestId = id
317+
requestId = id,
318+
// status = Status.ACCEPTED
320319
)
321320
}
322321
session.isGeneratingTests = false
@@ -690,7 +689,8 @@ class CodeTestChatController(
690689
artifactsUploadDuration = session.artifactUploadDuration,
691690
buildPayloadBytes = session.srcPayloadSize,
692691
buildZipFileBytes = session.srcZipFileSize,
693-
requestId = session.startTestGenerationRequestId
692+
requestId = session.startTestGenerationRequestId,
693+
// status = Status.ACCEPTED
694694
)
695695
}
696696

@@ -819,6 +819,7 @@ class CodeTestChatController(
819819
buildZipFileBytes = session.srcZipFileSize,
820820
requestId = session.startTestGenerationRequestId,
821821
update = session.updateBuildCommands,
822+
// status = Status.ACCEPTED
822823
)
823824
}
824825
}
@@ -914,7 +915,8 @@ class CodeTestChatController(
914915
artifactsUploadDuration = session.artifactUploadDuration,
915916
buildPayloadBytes = session.srcPayloadSize,
916917
buildZipFileBytes = session.srcZipFileSize,
917-
requestId = session.startTestGenerationRequestId
918+
requestId = session.startTestGenerationRequestId,
919+
// status = Status.REJECTED
918920
)
919921
} else {
920922
AmazonqTelemetry.unitTestGeneration(
@@ -1019,7 +1021,7 @@ class CodeTestChatController(
10191021
session.testFileRelativePathToProjectRoot,
10201022
codeTestChatHelper
10211023
)
1022-
if(session.buildStatus === BuildStatus.CANCELLED) {
1024+
if (session.buildStatus === BuildStatus.CANCELLED) {
10231025
return
10241026
}
10251027
while (taskContext.buildExitCode < 0) {
@@ -1063,6 +1065,7 @@ class CodeTestChatController(
10631065
buildZipFileBytes = session.srcZipFileSize,
10641066
requestId = session.startTestGenerationRequestId,
10651067
update = session.updateBuildCommands,
1068+
// status = Status.ACCEPTED
10661069
)
10671070
sessionCleanUp(message.tabId)
10681071
return
@@ -1130,7 +1133,7 @@ class CodeTestChatController(
11301133
"stop_fixing_test_cases" -> {
11311134
UiTelemetry.click(null as Project?, "unitTestGeneration_cancelFixingTest")
11321135
session.isGeneratingTests = false
1133-
session.buildStatus=BuildStatus.CANCELLED
1136+
session.buildStatus = BuildStatus.CANCELLED
11341137
return
11351138
}
11361139
else -> {

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqCodeTest/model/BuildAndExecuteStatusIcon.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,9 @@
33

44
package software.aws.toolkits.jetbrains.services.amazonqCodeTest.model
55

6-
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.session.BuildAndExecuteProgressStatus
7-
86
enum class BuildAndExecuteStatusIcon(val icon: String) {
97
WAIT("<span>&#9203;</span>"),
108
CURRENT("<span>&#9203;</span>"),
119
DONE("<span style=\"color: green;\">&#10004;</span>"),
1210
FAILED("<span style=\"color: red;\">&#10060;</span>"),
1311
}
14-

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqCodeTest/utils/UTGChatUtil.kt

Lines changed: 54 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ import com.intellij.openapi.util.Key
1717
import com.intellij.openapi.vfs.VirtualFile
1818
import com.intellij.openapi.vfs.VirtualFileManager
1919
import com.intellij.ui.content.impl.ContentImpl
20-
import kotlinx.coroutines.delay
21-
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.cancellingProgressField
2220
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.controller.CodeTestChatHelper
2321
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.model.BuildAndExecuteStatusIcon
2422
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.session.BuildAndExecuteProgressStatus
@@ -29,33 +27,78 @@ import java.io.FileWriter
2927

3028
fun constructBuildAndExecutionSummaryText(currentStatus: BuildAndExecuteProgressStatus, codeTestChatHelper: CodeTestChatHelper): String {
3129
val progressMessages = mutableListOf<String>()
30+
if (currentStatus == BuildAndExecuteProgressStatus.RUN_BUILD) {
31+
progressMessages.add("${BuildAndExecuteStatusIcon.WAIT.icon} ${"Project compiling\n"}")
32+
}
33+
34+
if (currentStatus == BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.FAILURE) {
35+
progressMessages.add("${BuildAndExecuteStatusIcon.WAIT.icon} ${"Fixing test failures\n"}")
36+
}
37+
38+
if (currentStatus > BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.FAILURE) {
39+
progressMessages.add("${BuildAndExecuteStatusIcon.DONE.icon} ${"Fixed test failures\n"}")
40+
}
41+
42+
if (currentStatus >= BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) {
43+
progressMessages.add("${BuildAndExecuteStatusIcon.DONE.icon} ${"Project compiled\n"}\${BuildAndExecuteStatusIcon.DONE.icon} ${"All tests passed\n"}")
44+
}
45+
// TODO: Commenting out this code to do a better UX in the V2 version after science support
46+
/*
3247
3348
if (currentStatus >= BuildAndExecuteProgressStatus.RUN_BUILD) {
3449
val buildStatus = when (currentStatus) {
3550
BuildAndExecuteProgressStatus.RUN_BUILD -> "in progress"
3651
BuildAndExecuteProgressStatus.BUILD_FAILED -> "failed"
3752
else -> "complete"
3853
}
39-
val icon = if (buildStatus == "in progress") BuildAndExecuteStatusIcon.WAIT.icon else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) BuildAndExecuteStatusIcon.DONE.icon else BuildAndExecuteStatusIcon.FAILED.icon
54+
val icon = if (buildStatus == "in progress") {
55+
BuildAndExecuteStatusIcon.WAIT.icon
56+
} else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) {
57+
BuildAndExecuteStatusIcon.DONE.icon
58+
} else {
59+
BuildAndExecuteStatusIcon.FAILED.icon
60+
}
4061
progressMessages.add(
4162
"$icon ${
42-
if (buildStatus == "in progress") "Project compiling" else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) "Project compiled" else "Unable to compile project"
63+
if (buildStatus == "in progress") {
64+
"Project compiling"
65+
} else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) {
66+
"Project compiled"
67+
} else {
68+
"Unable to compile project"
69+
}
4370
}"
4471
)
4572
}
4673
4774
if (currentStatus >= BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS) {
48-
val buildStatus = if (currentStatus == BuildAndExecuteProgressStatus.RUN_BUILD) "Running tests" else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) "Tests passed" else "Tests failed"
49-
val icon = if (buildStatus == "Running tests") BuildAndExecuteStatusIcon.WAIT.icon else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) BuildAndExecuteStatusIcon.DONE.icon else BuildAndExecuteStatusIcon.FAILED.icon
75+
val buildStatus = if (currentStatus == BuildAndExecuteProgressStatus.RUN_BUILD) {
76+
"Running tests"
77+
} else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) {
78+
"Tests passed"
79+
} else {
80+
"Tests failed"
81+
}
82+
val icon = if (buildStatus == "Running tests") {
83+
BuildAndExecuteStatusIcon.WAIT.icon
84+
} else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) {
85+
BuildAndExecuteStatusIcon.DONE.icon
86+
} else {
87+
BuildAndExecuteStatusIcon.FAILED.icon
88+
}
5089
progressMessages.add("$icon $buildStatus")
5190
}
5291
5392
if ((currentStatus >= BuildAndExecuteProgressStatus.BUILD_FAILED) && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.FAILURE) {
5493
val buildStatus = if (currentStatus == BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS) "Fixing" else "Fixed"
55-
val icon = if (currentStatus == BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS) BuildAndExecuteStatusIcon.WAIT.icon else BuildAndExecuteStatusIcon.DONE.icon
94+
val icon = if (currentStatus == BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS) {
95+
BuildAndExecuteStatusIcon.WAIT.icon
96+
} else {
97+
BuildAndExecuteStatusIcon.DONE.icon
98+
}
5699
progressMessages.add("$icon $buildStatus test failures")
57100
}
58-
101+
*/
59102
if (currentStatus >= BuildAndExecuteProgressStatus.FIXING_TEST_CASES && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.FAILURE) {
60103
progressMessages.add("\n")
61104
progressMessages.add("**Results**")
@@ -67,7 +110,7 @@ fun constructBuildAndExecutionSummaryText(currentStatus: BuildAndExecuteProgress
67110
return """
68111
Sure, This may take a few minutes and I'll update the progress here.
69112
70-
**Progress summary**
113+
**Progress summary**\n
71114
72115
""".trimIndent() + progressMessages.joinToString("\n")
73116
}
@@ -79,7 +122,7 @@ fun runBuildOrTestCommand(
79122
isBuildCommand: Boolean,
80123
buildAndExecuteTaskContext: BuildAndExecuteTaskContext,
81124
testFileRelativePathToProjectRoot: String,
82-
codeTestChatHelper: CodeTestChatHelper
125+
codeTestChatHelper: CodeTestChatHelper,
83126
) {
84127
val brazilPath = "${System.getProperty("user.home")}/.toolbox/bin:/usr/local/bin:/usr/bin:/bin:/sbin"
85128
if (localCommand.isEmpty()) {
@@ -161,7 +204,7 @@ fun runBuildOrTestCommand(
161204
// Check if the build has been cancelled
162205
if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.CANCELLED) {
163206
processHandler.destroyProcess()
164-
console.print("\nBuild cancelled by user\n", ConsoleViewContentType.SYSTEM_OUTPUT)
207+
console.print("\nBuild cancelled by user\n", ConsoleViewContentType.ERROR_OUTPUT)
165208
if (isBuildCommand) {
166209
buildAndExecuteTaskContext.buildExitCode = 1
167210
} else {

plugins/core/resources/resources/software/aws/toolkits/resources/MessagesBundle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2075,10 +2075,10 @@ testgen.no_file_found=Sorry, there isn't a source file open right now that I can
20752075
testgen.placeholder.enter_slash_quick_actions=Enter "/" for quick actions
20762076
testgen.placeholder.modifyCommand=Type command lines or provide instructions...
20772077
testgen.placeholder.newtab=Ask any coding question or type \u0022/\u0022 for actions
2078+
testgen.placeholder.select_an_action_to_proceed=Please select an action to proceed.
20782079
testgen.placeholder.select_an_option = Please select an action to proceed (Accept or Reject)
20792080
testgen.placeholder.view_diff=Select View Diff to see the generated unit tests
20802081
testgen.placeholder.waiting_on_your_inputs=Waiting on your inputs...
2081-
testgen.placeholder.select_an_action_to_proceed=Please select an action to proceed.
20822082
testgen.progressbar.build_and_execute=Compiling project...
20832083
testgen.progressbar.fixing_test_cases=Fixing test failures...
20842084
testgen.progressbar.generate_unit_tests=Generating unit tests...

0 commit comments

Comments
 (0)