Loading tests/UsbTests/Android.bp +7 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ android_test { static_libs: [ "frameworks-base-testutils", "androidx.test.rules", "mockito-target-inline-minus-junit4", "mockito-target-extended-minus-junit4", "platform-test-annotations", "services.core", "services.net", Loading @@ -37,7 +37,12 @@ android_test { "truth-prebuilt", "UsbManagerTestLib", ], jni_libs: ["libdexmakerjvmtiagent"], jni_libs: [ // Required for ExtendedMockito "libdexmakerjvmtiagent", "libmultiplejvmtiagentsinterferenceagent", "libstaticjvmtiagent", ], certificate: "platform", platform_apis: true, test_suites: ["device-tests"], Loading tests/UsbTests/src/com/android/server/usb/UsbHandlerTest.java +26 −16 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading @@ -27,23 +28,29 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.debug.AdbManagerInternal; import android.debug.AdbTransportType; import android.hardware.usb.UsbManager; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.provider.Settings; import androidx.test.InstrumentationRegistry; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.dx.mockito.inline.extended.ExtendedMockito; import com.android.server.FgThread; import com.android.server.LocalServices; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.MockitoSession; import org.mockito.quality.Strictness; import java.util.HashMap; import java.util.Locale; Loading @@ -68,6 +75,8 @@ public class UsbHandlerTest { private SharedPreferences mSharedPreferences; @Mock private SharedPreferences.Editor mEditor; @Mock private AdbManagerInternal mAdbManagerInternal; private MockUsbHandler mUsbHandler; Loading @@ -83,6 +92,7 @@ public class UsbHandlerTest { private Map<String, String> mMockProperties; private Map<String, Integer> mMockGlobalSettings; private MockitoSession mStaticMockSession; private class MockUsbHandler extends UsbDeviceManager.UsbHandler { boolean mIsUsbTransferAllowed; Loading Loading @@ -157,6 +167,10 @@ public class UsbHandlerTest { @Before public void before() { MockitoAnnotations.initMocks(this); mStaticMockSession = ExtendedMockito.mockitoSession() .mockStatic(LocalServices.class) .strictness(Strictness.WARN) .startMocking(); mMockProperties = new HashMap<>(); mMockGlobalSettings = new HashMap<>(); when(mSharedPreferences.edit()).thenReturn(mEditor); Loading @@ -164,6 +178,16 @@ public class UsbHandlerTest { mUsbHandler = new MockUsbHandler(FgThread.get().getLooper(), InstrumentationRegistry.getContext(), mUsbDeviceManager, mUsbAlsaManager, mUsbSettingsManager, mUsbPermissionManager); when(LocalServices.getService(eq(AdbManagerInternal.class))) .thenReturn(mAdbManagerInternal); } @After public void tearDown() throws Exception { if (mStaticMockSession != null) { mStaticMockSession.finishMocking(); } } @SmallTest Loading Loading @@ -234,8 +258,8 @@ public class UsbHandlerTest { assertEquals(mUsbHandler.getEnabledFunctions(), UsbManager.FUNCTION_NONE); assertEquals(mMockProperties.get(UsbDeviceManager.UsbHandler .USB_PERSISTENT_CONFIG_PROPERTY), UsbManager.USB_FUNCTION_ADB); assertTrue(mUsbHandler.isAdbEnabled()); when(mAdbManagerInternal.isAdbEnabled(eq(AdbTransportType.USB))).thenReturn(true); mUsbHandler.handleMessage(mUsbHandler.obtainMessage(MSG_UPDATE_STATE, 1, 1)); assertTrue(mUsbHandler.mBroadcastedIntent.getBooleanExtra(UsbManager.USB_CONNECTED, false)); Loading Loading @@ -269,20 +293,6 @@ public class UsbHandlerTest { assertEquals(mUsbHandler.getEnabledFunctions(), UsbManager.FUNCTION_NONE); } @SmallTest @Test public void bootCompletedAdbEnabled() { mMockProperties.put(UsbDeviceManager.UsbHandler.USB_PERSISTENT_CONFIG_PROPERTY, "adb"); mUsbHandler = new MockUsbHandler(FgThread.get().getLooper(), InstrumentationRegistry.getContext(), mUsbDeviceManager, mUsbAlsaManager, mUsbSettingsManager, mUsbPermissionManager); sendBootCompleteMessages(mUsbHandler); assertEquals(mUsbHandler.getEnabledFunctions(), UsbManager.FUNCTION_NONE); assertEquals(mMockGlobalSettings.get(Settings.Global.ADB_ENABLED).intValue(), 1); assertTrue(mUsbHandler.isAdbEnabled()); } @SmallTest @Test public void userSwitchedDisablesMtp() { Loading Loading
tests/UsbTests/Android.bp +7 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ android_test { static_libs: [ "frameworks-base-testutils", "androidx.test.rules", "mockito-target-inline-minus-junit4", "mockito-target-extended-minus-junit4", "platform-test-annotations", "services.core", "services.net", Loading @@ -37,7 +37,12 @@ android_test { "truth-prebuilt", "UsbManagerTestLib", ], jni_libs: ["libdexmakerjvmtiagent"], jni_libs: [ // Required for ExtendedMockito "libdexmakerjvmtiagent", "libmultiplejvmtiagentsinterferenceagent", "libstaticjvmtiagent", ], certificate: "platform", platform_apis: true, test_suites: ["device-tests"], Loading
tests/UsbTests/src/com/android/server/usb/UsbHandlerTest.java +26 −16 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading @@ -27,23 +28,29 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.debug.AdbManagerInternal; import android.debug.AdbTransportType; import android.hardware.usb.UsbManager; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.provider.Settings; import androidx.test.InstrumentationRegistry; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.dx.mockito.inline.extended.ExtendedMockito; import com.android.server.FgThread; import com.android.server.LocalServices; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.MockitoSession; import org.mockito.quality.Strictness; import java.util.HashMap; import java.util.Locale; Loading @@ -68,6 +75,8 @@ public class UsbHandlerTest { private SharedPreferences mSharedPreferences; @Mock private SharedPreferences.Editor mEditor; @Mock private AdbManagerInternal mAdbManagerInternal; private MockUsbHandler mUsbHandler; Loading @@ -83,6 +92,7 @@ public class UsbHandlerTest { private Map<String, String> mMockProperties; private Map<String, Integer> mMockGlobalSettings; private MockitoSession mStaticMockSession; private class MockUsbHandler extends UsbDeviceManager.UsbHandler { boolean mIsUsbTransferAllowed; Loading Loading @@ -157,6 +167,10 @@ public class UsbHandlerTest { @Before public void before() { MockitoAnnotations.initMocks(this); mStaticMockSession = ExtendedMockito.mockitoSession() .mockStatic(LocalServices.class) .strictness(Strictness.WARN) .startMocking(); mMockProperties = new HashMap<>(); mMockGlobalSettings = new HashMap<>(); when(mSharedPreferences.edit()).thenReturn(mEditor); Loading @@ -164,6 +178,16 @@ public class UsbHandlerTest { mUsbHandler = new MockUsbHandler(FgThread.get().getLooper(), InstrumentationRegistry.getContext(), mUsbDeviceManager, mUsbAlsaManager, mUsbSettingsManager, mUsbPermissionManager); when(LocalServices.getService(eq(AdbManagerInternal.class))) .thenReturn(mAdbManagerInternal); } @After public void tearDown() throws Exception { if (mStaticMockSession != null) { mStaticMockSession.finishMocking(); } } @SmallTest Loading Loading @@ -234,8 +258,8 @@ public class UsbHandlerTest { assertEquals(mUsbHandler.getEnabledFunctions(), UsbManager.FUNCTION_NONE); assertEquals(mMockProperties.get(UsbDeviceManager.UsbHandler .USB_PERSISTENT_CONFIG_PROPERTY), UsbManager.USB_FUNCTION_ADB); assertTrue(mUsbHandler.isAdbEnabled()); when(mAdbManagerInternal.isAdbEnabled(eq(AdbTransportType.USB))).thenReturn(true); mUsbHandler.handleMessage(mUsbHandler.obtainMessage(MSG_UPDATE_STATE, 1, 1)); assertTrue(mUsbHandler.mBroadcastedIntent.getBooleanExtra(UsbManager.USB_CONNECTED, false)); Loading Loading @@ -269,20 +293,6 @@ public class UsbHandlerTest { assertEquals(mUsbHandler.getEnabledFunctions(), UsbManager.FUNCTION_NONE); } @SmallTest @Test public void bootCompletedAdbEnabled() { mMockProperties.put(UsbDeviceManager.UsbHandler.USB_PERSISTENT_CONFIG_PROPERTY, "adb"); mUsbHandler = new MockUsbHandler(FgThread.get().getLooper(), InstrumentationRegistry.getContext(), mUsbDeviceManager, mUsbAlsaManager, mUsbSettingsManager, mUsbPermissionManager); sendBootCompleteMessages(mUsbHandler); assertEquals(mUsbHandler.getEnabledFunctions(), UsbManager.FUNCTION_NONE); assertEquals(mMockGlobalSettings.get(Settings.Global.ADB_ENABLED).intValue(), 1); assertTrue(mUsbHandler.isAdbEnabled()); } @SmallTest @Test public void userSwitchedDisablesMtp() { Loading