[CTS] NearbyFrameworkInitializerTest CTS Test
testServicesRegistered is commented because tests don't have system API
access. Ran "adb root && adb shell setenforce permissive" and verified testServicesRegistered passed.
Bug: 215435710
Test: passed atest CtsNearbyFastPairTestCases:android.nearby.cts.NearbyFrameworkInitializerTest
Change-Id: I3616c3acaefbde201d9035aabcf3d2c60dd8ddfe
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/NearbyFrameworkInitializerTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/NearbyFrameworkInitializerTest.java
new file mode 100644
index 0000000..c062e84
--- /dev/null
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/NearbyFrameworkInitializerTest.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 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.nearby.cts;
+
+import android.annotation.TargetApi;
+import android.nearby.NearbyFrameworkInitializer;
+import android.os.Build;
+
+import androidx.annotation.RequiresApi;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+// NearbyFrameworkInitializer was added in T
+@RunWith(AndroidJUnit4.class)
+@RequiresApi(Build.VERSION_CODES.TIRAMISU)
+@TargetApi(Build.VERSION_CODES.TIRAMISU)
+public class NearbyFrameworkInitializerTest {
+
+// // TODO(b/215435710) This test cannot pass now because our test cannot access system API.
+// // run "adb root && adb shell setenforce permissive" and uncomment testServicesRegistered,
+// // test passes.
+// @Test
+// public void testServicesRegistered() {
+// Context ctx = InstrumentationRegistry.getInstrumentation().getContext();
+// assertNotNull( "NearbyManager not registered",
+// ctx.getSystemService(Context.NEARBY_SERVICE));
+// }
+
+ // registerServiceWrappers can only be called during initialization and should throw otherwise
+ @Test(expected = IllegalStateException.class)
+ public void testThrowsException() {
+ NearbyFrameworkInitializer.registerServiceWrappers();
+ }
+}