//
// Copyright (C) 2019 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.
//

// Tests in this folder are included both in unit tests and CTS.
package {
    default_team: "trendy_team_fwk_core_networking",
    default_applicable_licenses: ["Android-Apache-2.0"],
}

java_library {
    name: "TetheringCommonTests",
    srcs: [
        "common/**/*.java",
        "common/**/*.kt",
    ],
    static_libs: [
        "androidx.test.rules",
        "net-tests-utils",
    ],
    // TODO(b/147200698) change sdk_version to module-current and remove framework-minus-apex
    sdk_version: "core_platform",
    libs: [
        "framework-minus-apex",
        "framework-connectivity.impl",
        "framework-connectivity-t.impl",
        "framework-tethering.impl",
    ],
    visibility: [
        "//packages/modules/Connectivity/tests/cts/tethering",
    ],
}

java_defaults {
    name: "TetheringTestsDefaults",
    min_sdk_version: "30",
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
    ],
    static_libs: [
        "TetheringCommonTests",
        "androidx.test.rules",
        "frameworks-base-testutils",
        "mockito-target-extended-minus-junit4",
        "net-tests-utils",
        "testables",
    ],
    // TODO(b/147200698) change sdk_version to module-current and
    // remove framework-minus-apex, ext, and framework-res
    sdk_version: "core_platform",
    libs: [
        "android.test.runner",
        "android.test.base",
        "android.test.mock",
        "ext",
        "framework-minus-apex",
        "framework-res",
        "framework-bluetooth.stubs.module_lib",
        "framework-configinfrastructure.stubs.module_lib",
        "framework-connectivity.impl",
        "framework-connectivity-t.impl",
        "framework-tethering.impl",
        "framework-wifi.stubs.module_lib",
    ],
    jni_libs: [
        // For mockito extended
        "libdexmakerjvmtiagent",
        "libstaticjvmtiagent",
        "libcom_android_networkstack_tethering_util_jni",
    ],
}

// Library containing the unit tests. This is used by the coverage test target to pull in the
// unit test code. It is not currently used by the tests themselves because all the build
// configuration needed by the tests is in the TetheringTestsDefaults rule.
android_library {
    name: "TetheringTestsLatestSdkLib",
    defaults: ["TetheringTestsDefaults"],
    static_libs: [
        "TetheringApiStableLib",
    ],
    target_sdk_version: "33",
    visibility: [
        "//packages/modules/Connectivity/tests:__subpackages__",
        "//packages/modules/Connectivity/Tethering/tests:__subpackages__",
    ],
}

android_test {
    name: "TetheringTests",
    platform_apis: true,
    test_suites: [
        "device-tests",
        "mts-tethering",
    ],
    defaults: [
        "TetheringTestsDefaults",
        "ConnectivityNextEnableDefaults",
    ],
    static_libs: [
        "TetheringApiCurrentLib",
    ],
    compile_multilib: "both",
    jarjar_rules: ":TetheringTestsJarJarRules",
}
