Skip to content

Commit b440b0b

Browse files
authored
Add stepId to the response of getTestMatrixTestIssues (#75)
* Add stepId to the response of getTestMatrixTestIssues * linting
1 parent 262323a commit b440b0b

File tree

3 files changed

+19
-15
lines changed

3 files changed

+19
-15
lines changed

AndroidXCI/lib/src/main/kotlin/dev/androidx/ci/testRunner/TestRunnerService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ interface TestRunnerService {
130130
*/
131131
suspend fun getTestMatrixTestIssues(
132132
testMatrix: TestMatrix
133-
): List<TestIssue>
133+
): Map<String, List<TestIssue>>
134134

135135
companion object {
136136
/**

AndroidXCI/lib/src/main/kotlin/dev/androidx/ci/testRunner/TestRunnerServiceImpl.kt

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import dev.androidx.ci.generated.ftl.ClientInfo
2626
import dev.androidx.ci.generated.ftl.ShardingOption
2727
import dev.androidx.ci.generated.ftl.TestEnvironmentCatalog
2828
import dev.androidx.ci.generated.ftl.TestMatrix
29-
import dev.androidx.ci.generated.testResults.TestIssue
3029
import dev.androidx.ci.testRunner.vo.DeviceSetup
3130
import dev.androidx.ci.testRunner.vo.RemoteApk
3231
import dev.androidx.ci.testRunner.vo.UploadedApk
@@ -281,19 +280,23 @@ internal class TestRunnerServiceImpl internal constructor(
281280
}
282281
}
283282

284-
override suspend fun getTestMatrixTestIssues(testMatrix: TestMatrix): List<TestRunnerService.TestIssue> {
283+
override suspend fun getTestMatrixTestIssues(testMatrix: TestMatrix): Map<String, List<TestRunnerService.TestIssue>> {
285284
val steps = testExecutionStore.getTestExecutionSteps(testMatrix)
286-
val testIssues = steps.flatMap {
287-
it.testExecutionStep?.testIssues ?: emptyList()
288-
}.map {
289-
TestRunnerService.TestIssue(
290-
errorMessage = it.errorMessage ?: "error message not set",
291-
severity = it.severity?.name ?: "unspecifiedSeverity",
292-
type = it.type?.name
293-
)
285+
return steps.associate {
286+
(it.stepId ?: "invalidStepId") to (
287+
(it.testExecutionStep?.testIssues)?.map { testIssue ->
288+
TestRunnerService.TestIssue(
289+
errorMessage = testIssue.errorMessage ?: "error message not set",
290+
severity = testIssue.severity?.name ?: "unspecifiedSeverity",
291+
type = testIssue.type?.name
292+
)
293+
} ?: emptyList()
294+
)
295+
}.filter {
296+
it.key != "invalidStepId"
297+
}.filter {
298+
it.value.isNotEmpty()
294299
}
295-
296-
return testIssues
297300
}
298301

299302
suspend fun getTestMatrixResults(

AndroidXCI/lib/src/test/kotlin/dev/androidx/ci/testRunner/TestRunnerServiceImplTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,12 +1435,13 @@ class TestRunnerServiceImplTest {
14351435
subject.getTestMatrixTestIssues(testMatrix)
14361436
).isEmpty()
14371437

1438+
val stepId = UUID.randomUUID().toString()
14381439
fakeToolsResultApi.addStep(
14391440
projectId = fakeBackend.firebaseProjectId,
14401441
executionId = "test_executionId",
14411442
historyId = "test_historyId",
14421443
step = Step(
1443-
stepId = UUID.randomUUID().toString(),
1444+
stepId = stepId,
14441445
testExecutionStep = TestExecutionStep(
14451446
testIssues = listOf(
14461447
TestIssue(
@@ -1457,7 +1458,7 @@ class TestRunnerServiceImplTest {
14571458
).isNotEmpty()
14581459

14591460
assertThat(
1460-
testIssues.first().errorMessage
1461+
testIssues[stepId]?.first()?.errorMessage
14611462
).isEqualTo(
14621463
"test module error"
14631464
)

0 commit comments

Comments
 (0)