1// Copyright (C) 2022 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14package {
15    default_applicable_licenses: ["Android-Apache-2.0"],
16    default_team: "trendy_team_android_health",
17}
18
19java_defaults {
20    name: "health-connect-controller-tests-default",
21    srcs: [
22        "src/com/android/healthconnect/controller/tests/utils/**/*.java",
23        "src/com/android/healthconnect/controller/tests/utils/**/*.kt",
24        "src/**/HiltTestRunner.kt",
25        "src/**/TestActivity.kt",
26    ],
27    defaults: ["modules-utils-testable-device-config-defaults"],
28    sdk_version: "module_current",
29    min_sdk_version: "34",
30    static_libs: [
31        "androidx.test.core",
32        "androidx.test.rules",
33        "HealthConnectPermissionsApis",
34        "HealthConnectLibrary",
35        "SettingsLibSettingsTheme",
36        "kotlin-stdlib",
37        "kotlinx-coroutines-android",
38        "androidx.navigation_navigation-common-ktx",
39        "androidx.navigation_navigation-fragment-ktx",
40        "androidx.navigation_navigation-runtime-ktx",
41        "androidx.navigation_navigation-ui-ktx",
42        "androidx.navigation_navigation-testing",
43        "SettingsLibCollapsingToolbarBaseActivity",
44        "SettingsLibHelpUtils",
45        "SettingsLibTopIntroPreference",
46        "SettingsLibFooterPreference",
47        "androidx.annotation_annotation",
48        "hilt_android_testing",
49        "kotlinx_coroutines_test",
50        // test dependencies
51        "androidx.test.espresso.contrib",
52        "androidx.test.espresso.intents",
53        "androidx.test.espresso.core",
54        "androidx.test.ext.junit",
55        "androidx.test.ext.truth",
56        "androidx.test.rules",
57        "compatibility-device-util-axt",
58        "mockito-kotlin2",
59        "platform-parametric-runner-lib",
60    ],
61    libs: [
62        "kotlin-annotations",
63        "android.test.base.stubs.system",
64        "android.test.mock.stubs",
65        "framework-healthfitness.impl",
66    ],
67    kotlincflags: ["-Xjvm-default=all"],
68    test_suites: [
69        "general-tests",
70        "mts-healthfitness",
71    ],
72    test_mainline_modules: ["com.google.android.healthfitness.apex"],
73    data: [
74        ":HealthConnectUITestApp",
75        ":HealthConnectUITestApp2",
76        ":UnsupportedTestApp",
77        ":OldPermissionsTestApp",
78        ":MedicalPermissionsTestApp",
79        ":HealthConnectUITestApp6",
80        ":HealthConnectUITestApp7",
81    ],
82    test_config_template: "AndroidTestTemplate.xml",
83    visibility: ["//visibility:private"],
84}
85
86java_library {
87    name: "SafetyCenterTests",
88    srcs: [
89        "src/**/safetycenter/*.kt",
90    ],
91    sdk_version: "module_current",
92    min_sdk_version: "34",
93    static_libs: [
94        "kotlin-stdlib",
95        "hilt_android",
96        "androidx.test.core",
97        "androidx.test.rules",
98        "androidx.test.espresso.contrib",
99        "androidx.test.ext.junit",
100        "androidx.test.ext.truth",
101        "androidx.test.rules",
102        "HealthConnectLibrary",
103        "hilt_android_testing",
104        "mockito-target-minus-junit4",
105        "mockito-kotlin2",
106    ],
107    libs: [
108        "android.test.mock.stubs",
109        "android.test.mock.stubs.system",
110        "framework-permission-s.stubs.module_lib",
111    ],
112}
113
114filegroup {
115    name: "data-screens-new-tests-srcs",
116    srcs: [
117        "src/com/android/healthconnect/controller/tests/data/**/*.java",
118        "src/com/android/healthconnect/controller/tests/data/**/*.kt",
119        "src/com/android/healthconnect/controller/selectabledeletion/**/*.kt",
120        "src/com/android/healthconnect/controller/selectabledeletion/**/*.java",
121    ],
122    visibility: ["//visibility:private"],
123}
124
125android_test {
126    name: "HealthConnectControllerDataScreensNewTests",
127    srcs: [":data-screens-new-tests-srcs"],
128    defaults: ["health-connect-controller-tests-default"],
129    package_name: "com.android.healthconnect.controller.tests.data.screens.new",
130    instrumentation_target_package: "com.android.healthconnect.controller.tests.data.screens.new",
131}
132
133filegroup {
134    name: "data-screens-old-tests-srcs",
135    srcs: [
136        "src/com/android/healthconnect/controller/tests/categories/**/*.java",
137        "src/com/android/healthconnect/controller/tests/categories/**/*.kt",
138        "src/com/android/healthconnect/controller/tests/dataaccess/**/*.java",
139        "src/com/android/healthconnect/controller/tests/dataaccess/**/*.kt",
140        "src/com/android/healthconnect/controller/tests/dataentries/**/*.java",
141        "src/com/android/healthconnect/controller/tests/dataentries/**/*.kt",
142        "src/com/android/healthconnect/controller/tests/entrydetails/**/*.java",
143        "src/com/android/healthconnect/controller/tests/entrydetails/**/*.kt",
144        "src/com/android/healthconnect/controller/tests/permissiontypes/**/*.java",
145        "src/com/android/healthconnect/controller/tests/permissiontypes/**/*.kt",
146    ],
147    visibility: ["//visibility:private"],
148}
149
150android_test {
151    name: "HealthConnectControllerDataScreensOldTests",
152    srcs: [":data-screens-old-tests-srcs"],
153    defaults: ["health-connect-controller-tests-default"],
154    package_name: "com.android.healthconnect.controller.tests.data.screens.old",
155    instrumentation_target_package: "com.android.healthconnect.controller.tests.data.screens.old",
156}
157
158filegroup {
159    name: "deletion-tests-srcs",
160    srcs: [
161        "src/com/android/healthconnect/controller/tests/autodelete/**/*.java",
162        "src/com/android/healthconnect/controller/tests/autodelete/**/*.kt",
163        "src/com/android/healthconnect/controller/tests/deletion/**/*.kt",
164        "src/com/android/healthconnect/controller/tests/deletion/**/*.kt",
165        "src/com/android/healthconnect/controller/tests/selectabledeletion/**/*.kt",
166        "src/com/android/healthconnect/controller/tests/selectabledeletion/**/*.kt",
167    ],
168    visibility: ["//visibility:private"],
169}
170
171android_test {
172    name: "HealthConnectControllerDeletionTests",
173    srcs: [":deletion-tests-srcs"],
174    defaults: ["health-connect-controller-tests-default"],
175    package_name: "com.android.healthconnect.controller.tests.deletion",
176    instrumentation_target_package: "com.android.healthconnect.controller.tests.deletion",
177}
178
179filegroup {
180    name: "exercise-route-tests-srcs",
181    srcs: [
182        "src/com/android/healthconnect/controller/tests/route/**/*.java",
183        "src/com/android/healthconnect/controller/tests/route/**/*.kt",
184    ],
185    visibility: ["//visibility:private"],
186}
187
188android_test {
189    name: "HealthConnectControllerExerciseRouteTests",
190    srcs: [":exercise-route-tests-srcs"],
191    defaults: ["health-connect-controller-tests-default"],
192    package_name: "com.android.healthconnect.controller.tests.exercise.routes",
193    instrumentation_target_package: "com.android.healthconnect.controller.tests.exercise.routes",
194}
195
196filegroup {
197    name: "export-tests-srcs",
198    srcs: [
199        "src/com/android/healthconnect/controller/tests/exportimport/**/*.java",
200        "src/com/android/healthconnect/controller/tests/exportimport/**/*.kt",
201    ],
202    visibility: ["//visibility:private"],
203}
204
205android_test {
206    name: "HealthConnectControllerExportTests",
207    srcs: [":export-tests-srcs"],
208    static_libs: [
209        "HealthConnectExportApis",
210    ],
211    defaults: ["health-connect-controller-tests-default"],
212    package_name: "com.android.healthconnect.controller.tests.exportimport",
213    instrumentation_target_package: "com.android.healthconnect.controller.tests.exportimport",
214}
215
216filegroup {
217    name: "home-and-onboarding-tests-srcs",
218    srcs: [
219        "src/com/android/healthconnect/controller/tests/home/**/*.java",
220        "src/com/android/healthconnect/controller/tests/home/**/*.kt",
221        "src/com/android/healthconnect/controller/tests/onboarding/**/*.java",
222        "src/com/android/healthconnect/controller/tests/onboarding/**/*.kt",
223        "src/com/android/healthconnect/controller/tests/recentaccess/**/*.java",
224        "src/com/android/healthconnect/controller/tests/recentaccess/**/*.kt",
225    ],
226    visibility: ["//visibility:private"],
227}
228
229android_test {
230    name: "HealthConnectControllerHomePageAndOnboardingTests",
231    srcs: [":home-and-onboarding-tests-srcs"],
232    defaults: ["health-connect-controller-tests-default"],
233    package_name: "com.android.healthconnect.controller.tests.home.and.onboarding",
234    instrumentation_target_package: "com.android.healthconnect.controller.tests.home.and.onboarding",
235}
236
237filegroup {
238    name: "manage-data-tests-srcs",
239    srcs: [
240        "src/com/android/healthconnect/controller/tests/datasources/**/*.java",
241        "src/com/android/healthconnect/controller/tests/datasources/**/*.kt",
242        "src/com/android/healthconnect/controller/tests/managedata/**/*.java",
243        "src/com/android/healthconnect/controller/tests/managedata/**/*.kt",
244    ],
245    visibility: ["//visibility:private"],
246}
247
248android_test {
249    name: "HealthConnectControllerManageDataTests",
250    srcs: [":manage-data-tests-srcs"],
251    defaults: ["health-connect-controller-tests-default"],
252    package_name: "com.android.healthconnect.controller.tests.manage.data",
253    instrumentation_target_package: "com.android.healthconnect.controller.tests.manage.data",
254}
255
256filegroup {
257    name: "migration-tests-srcs",
258    srcs: [
259        "src/com/android/healthconnect/controller/tests/migration/**/*.java",
260        "src/com/android/healthconnect/controller/tests/migration/**/*.kt",
261    ],
262    visibility: ["//visibility:private"],
263}
264
265android_test {
266    name: "HealthConnectControllerMigrationTests",
267    srcs: [":migration-tests-srcs"],
268    static_libs: [
269        "HealthConnectMigrationApis",
270    ],
271    defaults: ["health-connect-controller-tests-default"],
272    package_name: "com.android.healthconnect.controller.tests.migration",
273    instrumentation_target_package: "com.android.healthconnect.controller.tests.migration",
274}
275
276filegroup {
277    name: "navigation-tests-srcs",
278    srcs: [
279        "src/com/android/healthconnect/controller/tests/navigation/**/*.java",
280        "src/com/android/healthconnect/controller/tests/navigation/**/*.kt",
281    ],
282    visibility: ["//visibility:private"],
283}
284
285android_test {
286    name: "HealthConnectControllerNavigationTests",
287    srcs: [":navigation-tests-srcs"],
288    defaults: ["health-connect-controller-tests-default"],
289    package_name: "com.android.healthconnect.controller.tests.navigation",
290    instrumentation_target_package: "com.android.healthconnect.controller.tests.navigation",
291}
292
293filegroup {
294    name: "permission-tests-srcs",
295    srcs: [
296        "src/com/android/healthconnect/controller/tests/permissions/**/*.java",
297        "src/com/android/healthconnect/controller/tests/permissions/**/*.kt",
298        "src/com/android/healthconnect/controller/tests/shared/**/*.java",
299        "src/com/android/healthconnect/controller/tests/shared/**/*.kt",
300    ],
301    visibility: ["//visibility:private"],
302}
303
304android_test {
305    name: "HealthConnectControllerPermissionTests",
306    srcs: [":permission-tests-srcs"],
307    defaults: ["health-connect-controller-tests-default"],
308    package_name: "com.android.healthconnect.controller.tests.permissions",
309    instrumentation_target_package: "com.android.healthconnect.controller.tests.permissions",
310}
311
312filegroup {
313    name: "extra-tests-srcs",
314    srcs: [
315        "src/**/*.java",
316        "src/**/*.kt",
317    ],
318    exclude_srcs: [
319        ":deletion-tests-srcs",
320        ":data-screens-new-tests-srcs",
321        ":data-screens-old-tests-srcs",
322        ":exercise-route-tests-srcs",
323        ":home-and-onboarding-tests-srcs",
324        ":manage-data-tests-srcs",
325        ":migration-tests-srcs",
326        ":navigation-tests-srcs",
327        ":permission-tests-srcs",
328        "src/**/safetycenter/*.kt",
329    ],
330    visibility: ["//visibility:private"],
331}
332
333android_test {
334    name: "HealthConnectControllerExtraTests",
335    srcs: [":extra-tests-srcs"],
336    defaults: ["health-connect-controller-tests-default"],
337    package_name: "com.android.healthconnect.controller.tests.extras",
338    instrumentation_target_package: "com.android.healthconnect.controller.tests.extras",
339}
340
341// For development only, not used in *TS.
342android_test {
343    name: "HealthConnectControllerUITests",
344    srcs: [
345        "src/**/*.java",
346        "src/**/*.kt",
347    ],
348    exclude_srcs: [
349        "src/**/safetycenter/*.kt",
350    ],
351    defaults: ["health-connect-controller-tests-default"],
352    static_libs: [
353        "SafetyCenterTests",
354        "HealthConnectMigrationApis",
355        "HealthConnectExportApis",
356    ],
357    test_suites: [
358        "general-tests",
359    ],
360    package_name: "com.android.healthconnect.controller.tests",
361    instrumentation_target_package: "com.android.healthconnect.controller.tests",
362}
363