// Copyright (C) 2020 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"],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppA",
    manifest: "ScopedStorageTestHelper/TestAppA.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppA31",
    manifest: "ScopedStorageTestHelper/TestAppA31.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "31",
    min_sdk_version: "29",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppB",
    manifest: "ScopedStorageTestHelper/TestAppB.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppC",
    manifest: "ScopedStorageTestHelper/TestAppC.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppC30",
    manifest: "ScopedStorageTestHelper/TestAppC30.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "30",
    min_sdk_version: "29",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppCLegacy",
    manifest: "ScopedStorageTestHelper/TestAppCLegacy.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "28",
    min_sdk_version: "28",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppDLegacy",
    manifest: "ScopedStorageTestHelper/TestAppDLegacy.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "28",
    min_sdk_version: "28",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppFileManager",
    manifest: "ScopedStorageTestHelper/TestAppFileManager.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppFileManagerBypassDB",
    manifest: "ScopedStorageTestHelper/TestAppFileManagerBypassDB.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppSystemGalleryBypassDB",
    manifest: "ScopedStorageTestHelper/TestAppSystemGalleryBypassDB.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsScopedStorageTestAppSystemGallery30BypassDB",
    manifest: "ScopedStorageTestHelper/TestAppSystemGallery30BypassDB.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "30",
    min_sdk_version: "29",
    srcs: ["ScopedStorageTestHelper/src/**/*.java"],
    // Tag as a CTS artifact
    test_suites: [
        "general-tests",
        "mts",
        "cts",
    ],
}

android_test_helper_app {
    name: "CtsLegacyStorageTestAppRequestLegacy",
    manifest: "legacy/requestLegacy.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "29",
    min_sdk_version: "29",
}

android_test_helper_app {
    name: "CtsLegacyStorageTestAppPreserveLegacy",
    manifest: "legacy/preserveLegacy.xml",
    static_libs: ["cts-scopedstorage-lib"],
    sdk_version: "test_current",
    target_sdk_version: "30",
    min_sdk_version: "29",
}

android_test {
    name: "ScopedStorageTest",
    manifest: "AndroidManifest.xml",
    srcs: ["src/**/*.java"],
    static_libs: [
        "truth-prebuilt",
        "cts-scopedstorage-lib",
        "modules-utils-build_system",
    ],
    compile_multilib: "both",
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
    sdk_version: "test_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    java_resources: [
        ":CtsScopedStorageTestAppA",
        ":CtsScopedStorageTestAppA31",
        ":CtsScopedStorageTestAppB",
        ":CtsScopedStorageTestAppC",
        ":CtsScopedStorageTestAppCLegacy",
    ],
}

android_test {
    name: "LegacyStorageTest",
    manifest: "legacy/AndroidManifest.xml",
    srcs: ["legacy/src/**/*.java"],
    static_libs: [
        "truth-prebuilt",
        "cts-scopedstorage-lib",
    ],
    compile_multilib: "both",
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
    sdk_version: "test_current",
    target_sdk_version: "29",
    min_sdk_version: "29",
    java_resources: [
        ":CtsScopedStorageTestAppA",
    ],
}

java_test_host {
    name: "CtsScopedStorageCoreHostTest",
    srcs: [
        "host/src/android/scopedstorage/cts/host/ScopedStorageCoreHostTest.java",
        "host/src/android/scopedstorage/cts/host/BaseHostTestCase.java",
    ],
    libs: [
        "cts-tradefed",
        "tradefed",
        "testng",
    ],
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
    test_config: "CoreTest.xml",
    data: [
        ":CtsScopedStorageTestAppA31",
        ":CtsScopedStorageTestAppA",
        ":CtsScopedStorageTestAppB",
        ":CtsScopedStorageTestAppDLegacy",
        ":ScopedStorageTest",
        ":LegacyStorageTest",
    ],
    per_testcase_directory: true,
}

java_test_host {
    name: "CtsScopedStorageHostTest",
    srcs: ["host/src/**/*.java"],
    libs: [
        "cts-tradefed",
        "tradefed",
        "testng",
    ],
    static_libs: [
        "modules-utils-build-testing",
        "compatibility-host-util",
    ],
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
    test_config: "AndroidTest.xml",
    per_testcase_directory: true,
    data: [
        ":CtsScopedStorageTestAppA",
        ":CtsScopedStorageTestAppB",
        ":CtsScopedStorageTestAppDLegacy",
        ":ScopedStorageTest",
        ":LegacyStorageTest",
        ":CtsLegacyStorageTestAppRequestLegacy",
        ":CtsLegacyStorageTestAppPreserveLegacy",
    ],
}

java_test_host {
    name: "GtsPreserveLegacyStorageHostTest",
    srcs: [
        "host/src/android/scopedstorage/cts/host/PreserveLegacyStorageHostTest.java",
        "host/src/android/scopedstorage/cts/host/BaseHostTestCase.java",
    ],
    libs: [
        "cts-tradefed",
        "tradefed",
        "testng",
    ],
    static_libs: [
        "modules-utils-build-testing",
        "compatibility-host-util",
    ],
    test_suites: [
        "general-tests",
        "gts",
    ],
    test_config: "AndroidPreserveLegacyTest.xml",
    data: [
        ":CtsLegacyStorageTestAppRequestLegacy",
        ":CtsLegacyStorageTestAppPreserveLegacy",
    ],
}

java_test_host {
    name: "CtsScopedStoragePublicVolumeHostTest",
    srcs: ["host/src/**/*.java"],
    libs: [
        "cts-tradefed",
        "tradefed",
        "testng",
    ],
    static_libs: [
        "modules-utils-build-testing",
        "compatibility-host-util",
    ],
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
    ],
    test_config: "PublicVolumeTest.xml",
}

android_test {
    name: "CtsScopedStorageDeviceOnlyTest",
    manifest: "device/AndroidManifest.xml",
    test_config: "device/AndroidTest.xml",
    srcs: ["device/**/*.java"],
    static_libs: [
        "truth-prebuilt",
        "cts-scopedstorage-lib",
        "androidx.test.uiautomator_uiautomator",
        "modules-utils-build_system",
    ],
    compile_multilib: "both",
    test_suites: [
        "general-tests",
        "mts-mediaprovider",
        "cts",
    ],
    sdk_version: "test_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    libs: [
        "android.test.base",
        "android.test.mock",
        "android.test.runner",
    ],
    java_resources: [
        ":CtsScopedStorageTestAppA",
        ":CtsScopedStorageTestAppB",
        ":CtsScopedStorageTestAppC",
        ":CtsScopedStorageTestAppC30",
        ":CtsScopedStorageTestAppCLegacy",
        ":CtsScopedStorageTestAppDLegacy",
        ":CtsScopedStorageTestAppFileManager",
        ":CtsScopedStorageTestAppFileManagerBypassDB",
        ":CtsScopedStorageTestAppSystemGalleryBypassDB",
        ":CtsScopedStorageTestAppSystemGallery30BypassDB",
    ],
    data: [
        ":CtsScopedStorageTestAppFileManager",
        ":CtsScopedStorageTestAppA",
        ":CtsScopedStorageTestAppB",
        ":CtsScopedStorageTestAppDLegacy",
    ],
    per_testcase_directory: true,
}
