Skip to content

Commit 310c767

Browse files
authored
Fixing test matrix store (#51)
1 parent 914479b commit 310c767

File tree

2 files changed

+24
-53
lines changed

2 files changed

+24
-53
lines changed

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import dev.androidx.ci.generated.ftl.ResultStorage
2929
import dev.androidx.ci.generated.ftl.ShardingOption
3030
import dev.androidx.ci.generated.ftl.TestMatrix
3131
import dev.androidx.ci.generated.ftl.TestSpecification
32-
import dev.androidx.ci.generated.ftl.ToolResultsExecution
3332
import dev.androidx.ci.generated.ftl.ToolResultsHistory
3433
import dev.androidx.ci.testRunner.dto.TestRun
3534
import dev.androidx.ci.testRunner.dto.toEntity
@@ -198,11 +197,6 @@ internal class TestMatrixStore(
198197
toolResultsHistory = ToolResultsHistory(
199198
projectId = firebaseProjectId,
200199
historyId = historyId
201-
),
202-
toolResultsExecution = ToolResultsExecution(
203-
executionId = UUID.randomUUID().toString(),
204-
historyId = historyId,
205-
projectId = firebaseProjectId
206200
)
207201
)
208202
)

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

Lines changed: 24 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,14 @@
1717
package dev.androidx.ci.testRunner
1818

1919
import com.google.common.truth.Truth.assertThat
20-
import dev.androidx.ci.fake.FakeDatastore
21-
import dev.androidx.ci.fake.FakeFirebaseTestLabApi
22-
import dev.androidx.ci.fake.FakeToolsResultApi
23-
import dev.androidx.ci.gcloud.GcsPath
24-
import dev.androidx.ci.generated.ftl.AndroidDevice
25-
import dev.androidx.ci.generated.ftl.AndroidDeviceList
20+
import dev.androidx.ci.fake.FakeBackend
2621
import dev.androidx.ci.generated.ftl.EnvironmentMatrix
22+
import dev.androidx.ci.generated.ftl.GoogleCloudStorage
23+
import dev.androidx.ci.generated.ftl.ResultStorage
24+
import dev.androidx.ci.generated.ftl.TestMatrix
25+
import dev.androidx.ci.generated.ftl.TestSpecification
26+
import dev.androidx.ci.generated.ftl.ToolResultsExecution
2727
import dev.androidx.ci.generated.testResults.Step
28-
import dev.androidx.ci.testRunner.vo.ApkInfo
29-
import dev.androidx.ci.testRunner.vo.UploadedApk
3028
import kotlinx.coroutines.runBlocking
3129
import org.junit.Test
3230
import org.junit.runner.RunWith
@@ -35,44 +33,31 @@ import java.util.UUID
3533

3634
@RunWith(JUnit4::class)
3735
internal class TestExecutionStoreTest {
38-
private val firebaseTestLabApi = FakeFirebaseTestLabApi()
39-
private val datastoreApi = FakeDatastore()
40-
private val toolsResultApi = FakeToolsResultApi()
41-
42-
private val store = TestMatrixStore(
43-
firebaseProjectId = "p1",
44-
firebaseTestLabApi = firebaseTestLabApi,
45-
datastoreApi = datastoreApi,
46-
toolsResultApi = toolsResultApi,
47-
resultsGcsPrefix = GcsPath("gs://test")
48-
)
49-
36+
private val fakeBackend = FakeBackend()
37+
private val fakeToolsResultApi = fakeBackend.fakeToolsResultApi
5038
private val testExecutionStore = TestExecutionStore(
51-
toolsResultApi = toolsResultApi
39+
toolsResultApi = fakeToolsResultApi
5240
)
5341

5442
@Test
5543
fun getExecutionSteps() = runBlocking<Unit> {
56-
val envMatrix1 = EnvironmentMatrix(
57-
androidDeviceList = AndroidDeviceList(
58-
androidDevices = listOf(
59-
AndroidDevice(
60-
orientation = "land",
61-
androidVersionId = "27",
62-
locale = "us",
63-
androidModelId = "model1"
44+
val resultPath = "${fakeBackend.fakeGoogleCloudApi.rootGcsPath}/my-test-matrix-results"
45+
val testMatrix = fakeBackend.fakeFirebaseTestLabApi.createTestMatrix(
46+
projectId = fakeBackend.firebaseProjectId,
47+
requestId = "requestId",
48+
testMatrix = TestMatrix(
49+
resultStorage = ResultStorage(
50+
googleCloudStorage = GoogleCloudStorage(resultPath),
51+
toolResultsExecution = ToolResultsExecution(
52+
executionId = "test_executionId",
53+
historyId = "test_historyId"
6454
)
65-
)
55+
),
56+
projectId = fakeBackend.firebaseProjectId,
57+
environmentMatrix = EnvironmentMatrix(),
58+
testSpecification = TestSpecification()
6659
)
6760
)
68-
val testMatrix = store.getOrCreateTestMatrix(
69-
appApk = createFakeApk("app.pak"),
70-
testApk = createFakeApk("test.apk"),
71-
environmentMatrix = envMatrix1,
72-
clientInfo = null,
73-
deviceSetup = null,
74-
sharding = null
75-
)
7661

7762
val inputSteps = mutableListOf<Step>(
7863
Step(stepId = UUID.randomUUID().toString()),
@@ -85,7 +70,7 @@ internal class TestExecutionStoreTest {
8570

8671
// Add 2 steps for this execution
8772
inputSteps.forEach {
88-
toolsResultApi.addStep(
73+
fakeToolsResultApi.addStep(
8974
projectId = projectId,
9075
historyId = historyId,
9176
executionId = executionId,
@@ -96,12 +81,4 @@ internal class TestExecutionStoreTest {
9681
assertThat(outputSteps).hasSize(2)
9782
assertThat(outputSteps).containsExactlyElementsIn(inputSteps)
9883
}
99-
100-
private fun createFakeApk(name: String) = UploadedApk(
101-
gcsPath = GcsPath("gs://foo/bar/$name"),
102-
apkInfo = ApkInfo(
103-
filePath = "foo/bar/$name",
104-
idHash = name
105-
)
106-
)
10784
}

0 commit comments

Comments
 (0)