Mock WifiP2pManager.class for ResetNetworkConfirmTest

Bug: 214906101
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=ResetNetworkConfirmTest

Change-Id: I3aa22c06fc8fcd22deb8b15b2998539b48d3ce39
This commit is contained in:
Weng Su
2022-01-21 09:41:01 +00:00
parent adf5ccf359
commit 781ea4c6ab

View File

@@ -18,6 +18,15 @@ package com.android.settings;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.net.wifi.p2p.WifiP2pManager;
import android.os.Looper;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.widget.TextView; import android.widget.TextView;
@@ -25,7 +34,6 @@ import androidx.fragment.app.FragmentActivity;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settings.testutils.shadow.ShadowRecoverySystem; import com.android.settings.testutils.shadow.ShadowRecoverySystem;
import com.android.settings.testutils.shadow.ShadowWifiP2pManager;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
@@ -39,27 +47,31 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowRecoverySystem.class, @Config(shadows = {ShadowRecoverySystem.class, ShadowBluetoothAdapter.class})
ShadowWifiP2pManager.class, ShadowBluetoothAdapter.class
})
public class ResetNetworkConfirmTest { public class ResetNetworkConfirmTest {
private FragmentActivity mActivity; private FragmentActivity mActivity;
@Mock
private WifiP2pManager mWifiP2pManager;
@Mock @Mock
private ResetNetworkConfirm mResetNetworkConfirm; private ResetNetworkConfirm mResetNetworkConfirm;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
when(mWifiP2pManager.initialize(any(Context.class), any(Looper.class), any()))
.thenReturn(mock(WifiP2pManager.Channel.class));
mResetNetworkConfirm = new ResetNetworkConfirm(); mResetNetworkConfirm = new ResetNetworkConfirm();
mActivity = Robolectric.setupActivity(FragmentActivity.class); mActivity = spy(Robolectric.setupActivity(FragmentActivity.class));
when(mActivity.getSystemService(Context.WIFI_P2P_SERVICE)).thenReturn(mWifiP2pManager);
mResetNetworkConfirm.mActivity = mActivity; mResetNetworkConfirm.mActivity = mActivity;
} }
@After @After
public void tearDown() { public void tearDown() {
ShadowRecoverySystem.reset(); ShadowRecoverySystem.reset();
ShadowWifiP2pManager.reset();
} }
@Test @Test
@@ -88,11 +100,10 @@ public class ResetNetworkConfirmTest {
* Test for WifiP2pManager factoryReset method. * Test for WifiP2pManager factoryReset method.
*/ */
@Test @Test
@Ignore
public void testResetNetworkData_resetP2p() { public void testResetNetworkData_resetP2p() {
mResetNetworkConfirm.p2pFactoryReset(mActivity); mResetNetworkConfirm.p2pFactoryReset(mActivity);
assertThat(ShadowWifiP2pManager.getFactoryResetCount()).isEqualTo(1); verify(mWifiP2pManager).factoryReset(any(WifiP2pManager.Channel.class), any());
} }
@Test @Test