// Copyright (C) 2022 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package { default_applicable_licenses: ["Android-Apache-2.0"], } java_defaults { name: "AdServices-ServiceCoreUnitTest-Defaults", defaults: ["adservices-extended-mockito-defaults"], // Currently this test module is failing, which results in low test coverage // The reason is the target test coverage system runs on is different as what this test // configures. Add below line to address the issue. // See b/233124651 for details. compile_multilib: "both", min_sdk_version: "Tiramisu", sdk_version: "module_current", plugins: [ "auto_value_plugin", "auto_annotation_plugin", ], static_libs: [ "androidx.concurrent_concurrent-futures", "androidx.test.rules", "compatibility-device-util-axt", "truth", "gson", "adservices-assets", "adservices-service-core-schema", "adservices-shared-testing", "adservices-test-mockito-expectations", "adservices-test-utility", "androidx.room_room-runtime", "androidx.room_room-testing", "adservices-test-fixtures", "mobile_data_downloader_lib", "tflite_support_classifiers_java", "opencensus-java-api", "opencensus-java-contrib-grpc-metrics", "adservices_flags_lib", // Used by FlagsConstantsTest // Tests may run on the platforms that don't have ODP module installed. // Without static_lib dependency, the framework code from ODP won't be // packaged with the test APK and throw NoClassDefFoundError. "framework-ondevicepersonalization.impl", ], libs: [ "android.test.base", "android.test.mock.stubs", "framework-adservices.impl", "framework-annotations-lib", "framework-configinfrastructure", "framework-sdksandbox.impl", "auto_value_annotations", ], test_suites: [ "general-tests", "mts-adservices", ], instrumentation_for: "AdServicesApk", jni_libs: [ "libhpke_jni", "libacttest_jni", "libtflite_support_classifiers_native", ], aaptflags: [ // avoid compression on lite and tflite files as the Interpreter // can not load compressed flat buffer formats. (*appt compresses all // assets into the apk by default) // See https://elinux.org/Android_aapt for more detail. "-0 .lite", "-0 .tflite", ], lint: { extra_check_modules: ["AdServicesTestLintChecker"], test: false, // TODO(b/343741206): remove when checks will run on android_test }, } android_test { name: "AdServicesServiceCoreUnitTests", srcs: [ "src/**/*.java", ], exclude_srcs: [ // The tests below are interacting with the JsSandbox singleton and should // be run in a separate process "src/com/android/adservices/service/js/JSScriptEngineTest.java", "src/com/android/adservices/service/js/JavaScriptSandboxProviderTest.java", // Exclude Mobile Data Download Test. This test need network connection and download files. // This will run in a separate test suite. "src/com/android/adservices/download/MobileDataDownloadTest.java", // Measurement unit tests will be covered by AdServicesServiceCoreMeasurementUnitTests. "src/com/android/adservices/service/measurement/**/*.java", "src/com/android/adservices/data/measurement/**/*Test.java", // Topics unit tests will be covered by AdServicesServiceCoreTopicsUnitTests. "src/com/android/adservices/service/topics/**/*.java", "src/com/android/adservices/data/topics/**/*Test.java", ], defaults: ["AdServices-ServiceCoreUnitTest-Defaults"], } android_test { name: "AdServicesJsEngineUnitTests", srcs: [ "src/com/android/adservices/service/js/JSScriptEngineTest.java", "src/com/android/adservices/service/js/JavaScriptSandboxProviderTest.java", ], defaults: ["modules-utils-testable-device-config-defaults"], sdk_version: "module_current", compile_multilib: "both", min_sdk_version: "Tiramisu", static_libs: [ "androidx.concurrent_concurrent-futures", "androidx.test.rules", "compatibility-device-util-axt", "mockito-target-extended-minus-junit4", "truth", "adservices-assets", "adservices-test-fixtures", ], libs: [ "android.test.base", "android.test.mock.stubs", "framework-adservices.impl", "framework-annotations-lib", "framework-statsd.stubs.module_lib", ], test_suites: [ "general-tests", "mts-adservices", ], test_config: "AndroidTest.JsScriptEngine.xml", instrumentation_for: "AdServicesApk", lint: { extra_check_modules: ["AdServicesTestLintChecker"], test: false, // TODO(b/343741206): remove when checks will run on android_test }, } android_test { // This test need network connection and download files so it could be more flaky and run longer. name: "AdServicesMddIntegrationTests", srcs: [ "src/com/android/adservices/download/MobileDataDownloadTest.java", // Contains DB Util methods which used in MobileDataDownloadTest.java "src/com/android/adservices/data/DbTestUtil.java", ], defaults: ["modules-utils-testable-device-config-defaults"], sdk_version: "module_current", compile_multilib: "both", min_sdk_version: "Tiramisu", static_libs: [ "androidx.concurrent_concurrent-futures", "androidx.test.rules", "compatibility-device-util-axt", "mockito-target-extended-minus-junit4", "truth", "adservices-assets", "adservices-test-fixtures", "mobile_data_downloader_lib", ], libs: [ "android.test.base", "android.test.mock.stubs", "framework-adservices.impl", "framework-annotations-lib", "framework-wifi", ], test_suites: [ "general-tests", "mts-adservices", ], test_config: "AndroidTestMDD.xml", instrumentation_for: "AdServicesApk", lint: { extra_check_modules: ["AdServicesTestLintChecker"], test: false, // TODO(b/343741206): remove when checks will run on android_test }, } java_defaults { name: "AdExtServices-ServiceCoreUnitTest-Defaults", defaults: ["adservices-extended-mockito-defaults"], sdk_version: "module_current", // Currently this test module is failing, which results in low test coverage // The reason is the target test coverage system runs on is different as what this test // configures. Add below line to address the issue. // See b/233124651 for details. compile_multilib: "both", min_sdk_version: "30", max_sdk_version: "32", static_libs: [ "adservices-assets", "adservices-service-core-schema", "adservices-shared-testing", "adservices-test-fixtures", "adservices-test-mockito-expectations", "adservices-test-utility", "androidx.concurrent_concurrent-futures", "androidx.room_room-runtime", "androidx.room_room-testing", "androidx.test.rules", "compatibility-device-util-axt", "mobile_data_downloader_lib", "opencensus-java-api", "opencensus-java-contrib-grpc-metrics", "tflite_support_classifiers_java", "truth", "gson", "adservices_flags_lib", // Used by FlagsConstantsTest // Tests may run on the platforms that don't have ODP module installed. // Without static_lib dependency, the framework code from ODP won't be // packaged with the test APK and throw NoClassDefFoundError. "framework-ondevicepersonalization.impl", ], libs: [ "android.ext.adservices", "android.test.base", "android.test.mock.stubs", "framework-annotations-lib", "framework-configinfrastructure", "framework-sdksandbox.impl", ], test_suites: [ "general-tests", "mts-extservices", ], instrumentation_for: "ExtServices-sminus", jni_libs: [ "libhpke_jni", "libacttest_jni", "libtflite_support_classifiers_native", ], aaptflags: [ // avoid compression on lite and tflite files as the Interpreter // can not load compressed flat buffer formats. (*appt compresses all // assets into the apk by default) // See https://elinux.org/Android_aapt for more detail. "-0 .lite", "-0 .tflite", ], lint: { extra_check_modules: ["AdServicesTestLintChecker"], test: false, // TODO(b/343741206): remove when checks will run on android_test }, } android_test { name: "AdExtServicesServiceCoreUnitTests", defaults: ["AdExtServices-ServiceCoreUnitTest-Defaults"], srcs: [ "src/**/*.java", ], exclude_srcs: [ // The tests below are interacting with the JsSandbox singleton and should // be run in a separate process "src/com/android/adservices/service/js/JSScriptEngineTest.java", "src/com/android/adservices/service/js/JavaScriptSandboxProviderTest.java", // Exclude Mobile Data Download Test. This test need network connection and download files. // This will run in a separate test suite. "src/com/android/adservices/download/MobileDataDownloadTest.java", // Measurement unit tests will be covered by AdExtServicesServiceCoreMeasurementUnitTests. "src/com/android/adservices/service/measurement/**/*.java", "src/com/android/adservices/data/measurement/**/*Test.java", // Topics unit tests will be covered by AdServicesServiceCoreTopicsUnitTests. "src/com/android/adservices/service/topics/**/*.java", "src/com/android/adservices/data/topics/**/*Test.java", ], test_config: "AndroidTest.ExtServices.xml", } android_test { name: "AdServicesServiceCoreMeasurementUnitTests", defaults: ["AdServices-ServiceCoreUnitTest-Defaults"], srcs: [ "src/com/android/adservices/service/measurement/**/*.java", "src/com/android/adservices/data/measurement/**/*.java", "src/com/android/adservices/data/DbTestUtil.java", "src/com/android/adservices/MockWebServerRuleFactory.java", ], test_config: "AndroidTest.Measurement.xml", } android_test { name: "AdExtServicesServiceCoreMeasurementUnitTests", srcs: [ "src/com/android/adservices/service/measurement/**/*.java", "src/com/android/adservices/data/measurement/**/*.java", "src/com/android/adservices/data/DbTestUtil.java", "src/com/android/adservices/MockWebServerRuleFactory.java", ], defaults: ["AdExtServices-ServiceCoreUnitTest-Defaults"], test_config: "AndroidTest.Measurement.ExtServices.xml", } android_test { name: "AdServicesServiceCoreTopicsUnitTests", defaults: ["AdServices-ServiceCoreUnitTest-Defaults"], srcs: [ "src/com/android/adservices/service/topics/**/*.java", "src/com/android/adservices/data/topics/**/*.java", "src/com/android/adservices/data/DbTestUtil.java", "src/com/android/adservices/MockRandom.java", ], test_config: "AndroidTest.Topics.xml", } android_test { name: "AdExtServicesServiceCoreTopicsUnitTests", srcs: [ "src/com/android/adservices/service/topics/**/*.java", "src/com/android/adservices/data/topics/**/*.java", "src/com/android/adservices/data/DbTestUtil.java", "src/com/android/adservices/MockRandom.java", ], defaults: ["AdExtServices-ServiceCoreUnitTest-Defaults"], test_config: "AndroidTest.Topics.ExtServices.xml", } android_test { name: "AdExtServicesJsEngineUnitTests", srcs: [ "src/com/android/adservices/service/js/JSScriptEngineTest.java", "src/com/android/adservices/service/js/JavaScriptSandboxProviderTest.java", ], defaults: ["modules-utils-testable-device-config-defaults"], sdk_version: "module_current", compile_multilib: "both", min_sdk_version: "30", max_sdk_version: "32", static_libs: [ "adservices-assets", "adservices-test-fixtures", "androidx.concurrent_concurrent-futures", "androidx.test.rules", "compatibility-device-util-axt", "mockito-target-extended-minus-junit4", "truth", ], libs: [ "android.ext.adservices", "android.test.base", "android.test.mock.stubs", "framework-annotations-lib", "framework-statsd.stubs.module_lib", ], test_suites: [ "general-tests", "mts-extservices", ], test_config: "AndroidTest.JsScriptEngine.ExtServices.xml", instrumentation_for: "ExtServices-sminus", lint: { extra_check_modules: ["AdServicesTestLintChecker"], test: false, // TODO(b/343741206): remove when checks will run on android_test }, } android_test { // This test need network connection and download files so it could be more flaky and run longer. name: "AdExtServicesMddIntegrationTests", srcs: [ "src/com/android/adservices/download/MobileDataDownloadTest.java", // Contains DB Util methods which used in MobileDataDownloadTest.java "src/com/android/adservices/data/DbTestUtil.java", ], defaults: ["modules-utils-testable-device-config-defaults"], sdk_version: "module_current", compile_multilib: "both", min_sdk_version: "30", max_sdk_version: "32", static_libs: [ "adservices-assets", "adservices-test-fixtures", "androidx.concurrent_concurrent-futures", "androidx.test.rules", "compatibility-device-util-axt", "mobile_data_downloader_lib", "mockito-target-extended-minus-junit4", "truth", ], libs: [ "android.ext.adservices", "android.test.base", "android.test.mock.stubs", "framework-adservices.impl", "framework-annotations-lib", "framework-wifi", ], test_suites: [ "general-tests", "mts-extservices", ], test_config: "AndroidTestMDD.ExtServices.xml", instrumentation_for: "ExtServices-sminus", lint: { extra_check_modules: ["AdServicesTestLintChecker"], baseline_filename: "lint-baseline-adextservices-mdd.xml", test: false, // TODO(b/343741206): remove when checks will run on android_test }, } cc_library_shared { name: "libacttest_jni", min_sdk_version: "30", sdk_version: "current", stl: "libc++_static", cflags: [ "-Werror", "-Wno-unused-parameter", "-Wno-unused-but-set-variable", ], srcs: [ "src/jni/cpp/act_util_jni.cpp", ], include_dirs: [ "packages/modules/AdServices/adservices/service-core/jni/include", "packages/modules/AdServices/adservices/tests/unittest/service-core/src/jni/cpp", ], header_libs: ["jni_headers"], shared_libs: ["liblog"], static_libs: [ "libact", "libcrypto_static", ], apex_available: [ "com.android.adservices", "com.android.extservices", ], visibility: [ "//packages/modules/AdServices:__subpackages__", "//packages/modules/ExtServices:__subpackages__", ], }