Mock WifiP2pManager.class for WifiP2pSettingsTest
Bug: 214938188
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
Change-Id: I21bfc1c8303970437ae2641ed0f2f9c16f09b33f
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 869356f..332cf14 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.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 @@
private Context mContext;
private FragmentActivity mActivity;
- private WifiP2pSettings mFragment;
+ private TestWifiP2pSettings mFragment;
@Mock
public WifiP2pManager mWifiP2pManager;
@@ -86,8 +85,10 @@
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 @@
}
@Test
- @Ignore
public void onActivityCreate_withNullP2pManager_shouldGetP2pManagerAgain() {
mFragment.mChannel = null; // Reset channel to re-test onActivityCreated flow
mFragment.mWifiP2pManager = null;
@@ -542,4 +542,13 @@
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);
+ }
+ }
}