// Copyright (C) 2018 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.
java_defaults {
    name: "FrameworkMockingServicesTests-jni-defaults",
    jni_libs: [
        "libmockingservicestestjni",
    ],
}

package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_base_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["frameworks_base_license"],
}

android_test {
    name: "FrameworksMockingServicesTests",
    defaults: [
        "FrameworkMockingServicesTests-jni-defaults",
        "modules-utils-testable-device-config-defaults",
    ],

    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        ":framework-internal-display-sources",
    ],

    static_libs: [
        "androidx.test.core",
        "androidx.test.runner",
        "androidx.test.espresso.core",
        "androidx.test.espresso.contrib",
        "androidx.test.ext.truth",
        "flag-junit",
        "frameworks-base-testutils",
        "hamcrest-library",
        "kotlin-test",
        "mockingservicestests-utils-mockito",
        "mockito-target-extended-minus-junit4",
        "platform-compat-test-rules",
        "platform-parametric-runner-lib",
        "platform-test-annotations",
        "PlatformProperties",
        "service-blobstore",
        "service-jobscheduler",
        "service-permission.impl",
        "service-sdksandbox.impl",
        "services.backup",
        "services.companion",
        "services.core",
        "services.devicepolicy",
        "services.net",
        "services.usage",
        "services.wallpapereffectsgeneration",
        "servicestests-core-utils",
        "servicestests-utils-mockito-extended",
        "testables",
        "truth",
        // TODO: remove once Android migrates to JUnit 4.12, which provides assertThrows
        "testng",
        "compatibility-device-util-axt",
        "flag-junit",
        "am_flags_lib",
        "device_policy_aconfig_flags_lib",
    ],

    libs: [
        "android.test.mock.stubs.system",
        "android.test.base.stubs.system",
        "android.test.runner.stubs.system",
        "servicestests-core-utils",
    ],

    java_resources: [
        ":apex.test",
        ":test.rebootless_apex_v1",
        ":test.rebootless_apex_v2",
    ],

    jni_libs: [
        "libpsi",
    ],

    certificate: "platform",
    platform_apis: true,
    test_suites: [
        "device-tests",
        "automotive-tests",
    ],

    optimize: {
        enabled: false,
    },
}

java_library {
    name: "mockingservicestests-utils-mockito",
    srcs: [
        "utils-mockito/**/*.kt",
    ],
    static_libs: [
        "junit",
        "mockito-target-extended-minus-junit4",
    ],
    libs: [
        "android.test.runner.stubs.system",
    ],
}

android_ravenwood_test {
    name: "FrameworksMockingServicesTestsRavenwood",
    libs: [
        "android.test.mock.stubs.system",
    ],
    static_libs: [
        "androidx.annotation_annotation",
        "androidx.test.rules",
        "services.core",
    ],
    srcs: [
        "src/com/android/server/am/BroadcastRecordTest.java",
    ],
    auto_gen_config: true,
}

test_module_config {
    name: "FrameworksMockingServicesTests_blob",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.blob"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_IdleController",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.DeviceIdleControllerTest"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_AppStateTracker",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.AppStateTrackerTest"],
    include_annotations: ["android.platform.test.annotations.Presubmit"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_com_android_server",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_com_android_server_alarm",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.alarm"],
    include_annotations: ["android.platform.test.annotations.Presubmit"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_com_android_server_job_Presubmit",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.job"],
    exclude_annotations: ["androidx.test.filters.LargeTest"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_com_android_server_job",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.job"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_com_android_server_tare_Presubmit",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.tare"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_com_android_server_tare",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.tare"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_games_Presubmit",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["android.service.games"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_location",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.location"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_backup",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.backup"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_sensorprivacy",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.sensorprivacy"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_am_Presubmit",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.am."],
    include_annotations: ["android.platform.test.annotations.Presubmit"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_am_broadcast",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: [
        "com.android.server.am.BroadcastQueueTest",
        "com.android.server.am.BroadcastRecordTest",
        "com.android.server.am.BroadcastQueueModernImplTest",
    ],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_app",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    // Matches appop too
    include_filters: ["com.android.server.app"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_appop",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.appop"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_compat_overrides",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.compat.overrides"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_crashrecovery",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.RescuePartyTest"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_pm",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.pm."],
}

test_module_config {
    name: "FrameworksMockingServicesTests_com_android_server_pm_Presubmit",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.pm"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_power_Presubmit",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.power"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_power",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.power"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_trust",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.trust"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server_utils",
    base: "FrameworksMockingServicesTests",
    test_suites: ["device-tests"],
    include_filters: ["com.android.server.utils"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_android_server",
    base: "FrameworksMockingServicesTests",
    test_suites: [
        "automotive-tests",
        "device-tests",
    ],
    include_filters: ["com.android.server"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_server_job",
    base: "FrameworksMockingServicesTests",
    test_suites: [
        "automotive-tests",
        "device-tests",
    ],
    include_filters: ["com.android.server.job"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_server_tare",
    base: "FrameworksMockingServicesTests",
    test_suites: [
        "automotive-tests",
        "device-tests",
    ],
    include_filters: ["com.android.server.tare"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_server_backup",
    base: "FrameworksMockingServicesTests",
    test_suites: [
        "automotive-tests",
        "device-tests",
    ],
    include_filters: ["com.android.server.backup"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_server_rescuepartytest",
    base: "FrameworksMockingServicesTests",
    test_suites: [
        "automotive-tests",
        "device-tests",
    ],
    include_filters: ["com.android.server.RescuePartyTest"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_server_power",
    base: "FrameworksMockingServicesTests",
    test_suites: [
        "automotive-tests",
        "device-tests",
    ],
    include_filters: ["com.android.server.power"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_server_trust",
    base: "FrameworksMockingServicesTests",
    test_suites: [
        "automotive-tests",
        "device-tests",
    ],
    include_filters: ["com.android.server.trust"],
}

test_module_config {
    name: "FrameworksMockingServicesTests_server_storagemanagerservicetest",
    base: "FrameworksMockingServicesTests",
    test_suites: [
        "automotive-tests",
        "device-tests",
    ],
    include_filters: ["com.android.server.StorageManagerServiceTest"],
}
