RemoteAuth Boilerplate

Stub out code and test directories

BUG: 290094832
Test: atest FrameworksNetTests RemoteAuthUnitTests
Change-Id: I850242640f32bea3d46febcde5f3719619b1ea07
This commit is contained in:
Casey Borders
2023-07-13 00:30:38 +00:00
committed by Salil Rajadhyaksha
parent 3f35bb2fce
commit 13a35ea213
16 changed files with 341 additions and 1 deletions

View File

@@ -62,6 +62,7 @@ java_defaults {
":framework-connectivity-sources", ":framework-connectivity-sources",
":net-utils-framework-common-srcs", ":net-utils-framework-common-srcs",
":framework-connectivity-api-shared-srcs", ":framework-connectivity-api-shared-srcs",
":framework-remoteauth-java-sources",
], ],
aidl: { aidl: {
generate_get_transaction_name: true, generate_get_transaction_name: true,
@@ -150,6 +151,7 @@ java_sdk_library {
"//packages/modules/Connectivity/framework-t", "//packages/modules/Connectivity/framework-t",
"//packages/modules/Connectivity/service", "//packages/modules/Connectivity/service",
"//packages/modules/Connectivity/service-t", "//packages/modules/Connectivity/service-t",
"//packages/modules/Connectivity/remoteauth:__subpackages__",
"//frameworks/base/packages/Connectivity/service", "//frameworks/base/packages/Connectivity/service",
"//frameworks/base", "//frameworks/base",

View File

@@ -104,7 +104,7 @@ java_library {
], ],
sdk_version: "system_server_current", sdk_version: "system_server_current",
// This is included in service-connectivity which is 30+ // This is included in service-connectivity which is 30+
// TODO: allow APEXes to have service jars with higher min_sdk than the APEX // TODO (b/293613362): allow APEXes to have service jars with higher min_sdk than the APEX
// (service-connectivity is only used on 31+) and use 31 here // (service-connectivity is only used on 31+) and use 31 here
min_sdk_version: "30", min_sdk_version: "30",

13
remoteauth/TEST_MAPPING Normal file
View File

@@ -0,0 +1,13 @@
{
"presubmit": [
{
"name": "RemoteAuthUnitTests"
}
]
// TODO(b/193602229): uncomment once it's supported.
//"mainline-presubmit": [
// {
// "name": "RemoteAuthUnitTests[com.google.android.tethering.apex]"
// }
//]
}

View File

@@ -0,0 +1,49 @@
// Copyright (C) 2023 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"],
}
// Sources included in the framework-connectivity jar
filegroup {
name: "framework-remoteauth-java-sources",
srcs: [
"java/**/*.java",
"java/**/*.aidl",
],
path: "java",
visibility: [
"//packages/modules/Connectivity/framework:__subpackages__",
],
}
filegroup {
name: "framework-remoteauth-sources",
defaults: ["framework-sources-module-defaults"],
srcs: [
":framework-remoteauth-java-sources",
],
}
// Build of only framework-remoteauth (not as part of connectivity) for
// unit tests
java_library {
name: "framework-remoteauth-static",
srcs: [":framework-remoteauth-java-sources"],
sdk_version: "module_current",
libs: [],
static_libs: [],
visibility: ["//packages/modules/Connectivity/remoteauth/tests:__subpackages__"],
}

View File

@@ -0,0 +1 @@
This is the source root for the RemoteAuth framework

View File

@@ -0,0 +1 @@
This is where the RemoteAuth AIDL files will go

View File

@@ -0,0 +1,59 @@
// Copyright (C) 2023 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"],
}
filegroup {
name: "remoteauth-service-srcs",
srcs: ["java/**/*.java"],
}
// Main lib for remoteauth services.
java_library {
name: "service-remoteauth-pre-jarjar",
srcs: [":remoteauth-service-srcs"],
defaults: [
"framework-system-server-module-defaults"
],
libs: [],
static_libs: [],
sdk_version: "system_server_current",
// This is included in service-connectivity which is 30+
// TODO (b/293613362): allow APEXes to have service jars with higher min_sdk than the APEX
// (service-connectivity is only used on 31+) and use 31 here
min_sdk_version: "30",
dex_preopt: {
enabled: false,
app_image: false,
},
visibility: [
"//packages/modules/RemoteAuth/apex",
],
apex_available: [
"com.android.tethering",
],
}
genrule {
name: "statslog-remoteauth-java-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out) --module remoteauth " +
" --javaPackage com.android.server.remoteauth.proto --javaClass RemoteAuthStatsLog" +
" --minApiLevel 33",
out: ["com/android/server/remoteauth/proto/RemoteAuthStatsLog.java"],
}

View File

@@ -0,0 +1 @@
This is the source root for the RemoteAuthService

View File

@@ -0,0 +1,48 @@
// Copyright (C) 2023 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 {
name: "RemoteAuthUnitTests",
defaults: ["mts-target-sdk-version-current"],
sdk_version: "test_current",
min_sdk_version: "31",
// Include all test java files.
srcs: ["src/**/*.java"],
libs: [
"android.test.base",
"android.test.mock",
"android.test.runner",
],
compile_multilib: "both",
static_libs: [
"androidx.test.ext.junit",
"androidx.test.rules",
"framework-remoteauth-static",
"junit",
"platform-test-annotations",
"service-remoteauth-pre-jarjar",
"truth-prebuilt",
],
test_suites: [
"general-tests",
"mts-tethering",
],
}

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2023 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.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.remoteauth.test">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
<application android:debuggable="true">
<uses-library android:name="android.test.runner" />
</application>
<instrumentation
android:name="androidx.test.runner.AndroidJUnitRunner"
android:targetPackage="android.remoteauth.test"
android:label="RemoteAuth Mainline Module Tests" />
</manifest>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2023 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.
-->
<configuration description="Runs RemoteAuth Mainline API Tests.">
<!-- Only run tests if the device under test is SDK version 33 (Android 13) or above. -->
<object type="module_controller" class="com.android.tradefed.testtype.suite.module.Sdk33ModuleController" />
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
<option name="test-file-name" value="RemoteAuthUnitTests.apk" />
</target_preparer>
<option name="test-suite-tag" value="apct" />
<option name="test-tag" value="RemoteAuthUnitTests" />
<option name="config-descriptor:metadata" key="mainline-param"
value="com.google.android.tethering.apex" />
<test class="com.android.tradefed.testtype.AndroidJUnitTest" >
<option name="package" value="android.remoteauth.test" />
<option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
<option name="hidden-api-checks" value="false"/>
</test>
<!-- Only run RemoteAuthUnitTests in MTS if the RemoteAuth Mainline module is installed. -->
<object type="module_controller"
class="com.android.tradefed.testtype.suite.module.MainlineTestModuleController">
<option name="mainline-module-package-name" value="com.google.android.tethering" />
</object>
</configuration>

View File

@@ -0,0 +1,38 @@
/*
* Copyright (C) 2023 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 android.remoteauth;
import static org.junit.Assert.assertTrue;
import android.platform.test.annotations.Presubmit;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import org.junit.Test;
import org.junit.runner.RunWith;
/** Unit tests for {@link RemoteAuth}. */
@Presubmit
@SmallTest
@RunWith(AndroidJUnit4.class)
public class RemoteAuthManagerTest {
@Test
public void testStub() {
assertTrue(true);
}
}

View File

@@ -0,0 +1,33 @@
/*
* Copyright (C) 2023 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 com.android.server.remoteauth;
import static org.junit.Assert.assertTrue;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
/** Unit tests for {@link RemoteAuthServer}. */
@RunWith(AndroidJUnit4.class)
public class RemoteAuthServiceTest {
@Test
public void testStub() {
assertTrue(true);
}
}

View File

@@ -236,6 +236,7 @@ java_defaults {
"service-connectivity-pre-jarjar", "service-connectivity-pre-jarjar",
"service-connectivity-tiramisu-pre-jarjar", "service-connectivity-tiramisu-pre-jarjar",
"service-nearby-pre-jarjar", "service-nearby-pre-jarjar",
"service-remoteauth-pre-jarjar",
], ],
// The below libraries are not actually needed to build since no source is compiled // The below libraries are not actually needed to build since no source is compiled
// (only combining prebuilt static_libs), but they are necessary so that R8 has the right // (only combining prebuilt static_libs), but they are necessary so that R8 has the right
@@ -303,6 +304,7 @@ genrule {
":framework-connectivity-jarjar-rules", ":framework-connectivity-jarjar-rules",
":service-connectivity-jarjar-gen", ":service-connectivity-jarjar-gen",
":service-nearby-jarjar-gen", ":service-nearby-jarjar-gen",
":service-remoteauth-jarjar-gen",
], ],
out: ["connectivity-jarjar-rules.txt"], out: ["connectivity-jarjar-rules.txt"],
visibility: ["//packages/modules/Connectivity:__subpackages__"], visibility: ["//packages/modules/Connectivity:__subpackages__"],
@@ -354,6 +356,24 @@ java_genrule {
visibility: ["//visibility:private"], visibility: ["//visibility:private"],
} }
java_genrule {
name: "service-remoteauth-jarjar-gen",
tool_files: [
":service-remoteauth-pre-jarjar{.jar}",
"jarjar-excludes.txt",
],
tools: [
"jarjar-rules-generator",
],
out: ["service_remoteauth_jarjar_rules.txt"],
cmd: "$(location jarjar-rules-generator) " +
"$(location :service-remoteauth-pre-jarjar{.jar}) " +
"--prefix com.android.server.remoteauth " +
"--excludes $(location jarjar-excludes.txt) " +
"--output $(out)",
visibility: ["//visibility:private"],
}
genrule { genrule {
name: "statslog-connectivity-java-gen", name: "statslog-connectivity-java-gen",
tools: ["stats-log-api-gen"], tools: ["stats-log-api-gen"],