diff options
| author | 2024-09-05 16:41:57 +0000 | |
|---|---|---|
| committer | 2024-09-05 21:05:51 +0000 | |
| commit | 4c3c1fdf569463be437fc749ac3d4cc74fedea87 (patch) | |
| tree | b56ae85f9cc44779d67f5f7540299acfb9f08ee7 | |
| parent | 2c19cef909a7c46e8313ee724a57fb3d52328bfc (diff) | |
Set up the the unit test folder
Flag: android.app.appfunctions.flags.enable_app_function_manager
Test: atest FrameworksAppFunctionsTests
Bug: 357551503
Change-Id: I306a408a9b78d76c97dd20acefda54f53f2feb39
4 files changed, 176 insertions, 0 deletions
diff --git a/services/tests/appfunctions/Android.bp b/services/tests/appfunctions/Android.bp new file mode 100644 index 000000000000..e681fa8fec29 --- /dev/null +++ b/services/tests/appfunctions/Android.bp @@ -0,0 +1,59 @@ +// Copyright (C) 2024 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 { + // 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: "FrameworksAppFunctionsTests", + team: "trendy_team_machine_learning", + defaults: [ + "modules-utils-testable-device-config-defaults", + ], + + srcs: [ + "src/**/*.kt", + ], + + static_libs: [ + "androidx.test.core", + "androidx.test.runner", + "androidx.test.ext.truth", + "platform-test-annotations", + "services.core", + "servicestests-core-utils", + "truth", + "frameworks-base-testutils", + "androidx.test.rules", + ], + + libs: [ + "android.test.base", + "android.test.runner", + ], + + certificate: "platform", + platform_apis: true, + test_suites: ["device-tests"], + + optimize: { + enabled: false, + }, +} diff --git a/services/tests/appfunctions/AndroidManifest.xml b/services/tests/appfunctions/AndroidManifest.xml new file mode 100644 index 000000000000..1d42b177db59 --- /dev/null +++ b/services/tests/appfunctions/AndroidManifest.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2024 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="com.android.frameworks.appfunctionstests"> + + <application android:testOnly="true" + android:debuggable="true"> + <uses-library android:name="android.test.runner" /> + </application> + + <instrumentation + android:name="androidx.test.runner.AndroidJUnitRunner" + android:targetPackage="com.android.frameworks.appfunctionstests" + android:label="Frameworks AppFunctions Services Tests" /> + +</manifest>
\ No newline at end of file diff --git a/services/tests/appfunctions/AndroidTest.xml b/services/tests/appfunctions/AndroidTest.xml new file mode 100644 index 000000000000..0650120afe24 --- /dev/null +++ b/services/tests/appfunctions/AndroidTest.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2024 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 Frameworks AppFunctions Services Tests."> + <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> + <option name="cleanup-apks" value="true" /> + <option name="install-arg" value="-t" /> + <option name="test-file-name" value="FrameworksAppFunctionsTests.apk" /> + </target_preparer> + + <option name="test-tag" value="FrameworksAppFunctionsTests" /> + + <test class="com.android.tradefed.testtype.AndroidJUnitTest" > + <option name="package" value="com.android.frameworks.appfunctionstests" /> + <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" /> + <option name="hidden-api-checks" value="false"/> + </test> +</configuration>
\ No newline at end of file diff --git a/services/tests/appfunctions/src/android/app/appfunctions/AppFunctionStaticMetadataHelperTest.kt b/services/tests/appfunctions/src/android/app/appfunctions/AppFunctionStaticMetadataHelperTest.kt new file mode 100644 index 000000000000..d8ce39356d9c --- /dev/null +++ b/services/tests/appfunctions/src/android/app/appfunctions/AppFunctionStaticMetadataHelperTest.kt @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2024 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.app.appfunctions + +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 + +@RunWith(JUnit4::class) +class AppFunctionStaticMetadataHelperTest { + + @Test + fun getStaticSchemaNameForPackage() { + val actualSchemaName = + AppFunctionStaticMetadataHelper.getStaticSchemaNameForPackage("com.example.app") + + assertThat(actualSchemaName).isEqualTo("AppFunctionStaticMetadata-com.example.app") + } + + @Test + fun getDocumentIdForAppFunction() { + val packageName = "com.example.app" + val functionId = "someFunction" + + val actualDocumentId = + AppFunctionStaticMetadataHelper.getDocumentIdForAppFunction(packageName, functionId) + + assertThat(actualDocumentId).isEqualTo("com.example.app/someFunction") + } + + @Test + fun getStaticMetadataQualifiedId() { + val packageName = "com.example.app" + val functionId = "someFunction" + + val actualQualifiedId = + AppFunctionStaticMetadataHelper.getStaticMetadataQualifiedId(packageName, functionId) + + assertThat(actualQualifiedId) + .isEqualTo("android\$apps-db/app_functions#com.example.app/someFunction") + } +} |