From 679153be091556a204cbe24a4d23b1a7c6af3c21 Mon Sep 17 00:00:00 2001 From: Weng Su Date: Sun, 23 Jan 2022 10:12:17 +0000 Subject: [PATCH] Mock WifiP2pManager.class for WifiP2pSettingsTest Bug: 214938188 Test: manual test make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest Change-Id: I21bfc1c8303970437ae2641ed0f2f9c16f09b33f --- .../settings/wifi/p2p/WifiP2pSettingsTest.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java index 869356fcbb9..332cf14c40c 100644 --- a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java +++ b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java @@ -49,7 +49,6 @@ import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor; import com.android.settingslib.core.AbstractPreferenceController; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; @@ -68,7 +67,7 @@ public class WifiP2pSettingsTest { private Context mContext; private FragmentActivity mActivity; - private WifiP2pSettings mFragment; + private TestWifiP2pSettings mFragment; @Mock public WifiP2pManager mWifiP2pManager; @@ -86,8 +85,10 @@ public class WifiP2pSettingsTest { public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; + TestWifiP2pSettings.sMockWifiP2pManager = mWifiP2pManager; + mActivity = Robolectric.setupActivity(FragmentActivity.class); - mFragment = new WifiP2pSettings(); + mFragment = new TestWifiP2pSettings(); mFragment.mWifiP2pManager = mWifiP2pManager; doReturn(mChannel).when(mWifiP2pManager).initialize(any(), any(), any()); FragmentManager fragmentManager = mActivity.getSupportFragmentManager(); @@ -504,7 +505,6 @@ public class WifiP2pSettingsTest { } @Test - @Ignore public void onActivityCreate_withNullP2pManager_shouldGetP2pManagerAgain() { mFragment.mChannel = null; // Reset channel to re-test onActivityCreated flow mFragment.mWifiP2pManager = null; @@ -542,4 +542,13 @@ public class WifiP2pSettingsTest { wifiP2pDevice.deviceName = "testName"; mWifiP2pPeer.device = wifiP2pDevice; } + + public static class TestWifiP2pSettings extends WifiP2pSettings { + static WifiP2pManager sMockWifiP2pManager; + @Override + protected Object getSystemService(final String name) { + if (Context.WIFI_P2P_SERVICE.equals(name)) return sMockWifiP2pManager; + return getActivity().getSystemService(name); + } + } }