1717package dev.androidx.ci.testRunner
1818
1919import 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
2621import 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
2727import dev.androidx.ci.generated.testResults.Step
28- import dev.androidx.ci.testRunner.vo.ApkInfo
29- import dev.androidx.ci.testRunner.vo.UploadedApk
3028import kotlinx.coroutines.runBlocking
3129import org.junit.Test
3230import org.junit.runner.RunWith
@@ -35,44 +33,31 @@ import java.util.UUID
3533
3634@RunWith(JUnit4 ::class )
3735internal 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