Mock WifiManager.class for Roboletric test-cases
Bug: 214938188 Test: manual test make RunSettingsRoboTests ROBOTEST_FILTER=AddNetworkFragmentTest make RunSettingsRoboTests ROBOTEST_FILTER=ConfigureWifiEntryFragmentTest make RunSettingsRoboTests ROBOTEST_FILTER=ContextualWifiSliceTest make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigControllerTest make RunSettingsRoboTests ROBOTEST_FILTER=WifiSliceTest Change-Id: I96873c48b36ed11b30e32bba1b98b6328ad17bb7
This commit is contained in:
@@ -27,8 +27,9 @@ import static org.mockito.Mockito.spy;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
|
||||
import androidx.core.graphics.drawable.IconCompat;
|
||||
@@ -45,9 +46,10 @@ import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
@@ -55,29 +57,40 @@ import org.robolectric.annotation.Config;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
@Config(shadows = ShadowConnectivityManager.class)
|
||||
public class ContextualWifiSliceTest {
|
||||
private static final String SSID = "123";
|
||||
|
||||
@Mock
|
||||
private WifiManager mWifiManager;
|
||||
@Mock
|
||||
private WifiInfo mWifiInfo;
|
||||
@Mock
|
||||
private Network mNetwork;
|
||||
|
||||
private Context mContext;
|
||||
private ContentResolver mResolver;
|
||||
private WifiManager mWifiManager;
|
||||
private ContextualWifiSlice mWifiSlice;
|
||||
private FakeFeatureFactory mFeatureFactory;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
mResolver = mock(ContentResolver.class);
|
||||
mFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
mFeatureFactory.slicesFeatureProvider = new SlicesFeatureProviderImpl();
|
||||
mFeatureFactory.slicesFeatureProvider.newUiSession();
|
||||
doReturn(mResolver).when(mContext).getContentResolver();
|
||||
mWifiManager = mContext.getSystemService(WifiManager.class);
|
||||
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
|
||||
doReturn(true).when(mWifiManager).isWifiEnabled();
|
||||
doReturn(WifiManager.WIFI_STATE_ENABLED).when(mWifiManager).getWifiState();
|
||||
doReturn(mWifiInfo).when(mWifiManager).getConnectionInfo();
|
||||
doReturn(SSID).when(mWifiInfo).getSSID();
|
||||
doReturn(mNetwork).when(mWifiManager).getCurrentNetwork();
|
||||
|
||||
// Set-up specs for SliceMetadata.
|
||||
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
|
||||
mWifiManager.setWifiEnabled(true);
|
||||
|
||||
mWifiSlice = new ContextualWifiSlice(mContext);
|
||||
}
|
||||
@@ -121,7 +134,7 @@ public class ContextualWifiSliceTest {
|
||||
mWifiSlice.sApRowCollapsed = true;
|
||||
connectToWifi(makeValidatedNetworkCapabilities());
|
||||
|
||||
mWifiManager.disconnect();
|
||||
doReturn(null).when(mWifiManager).getCurrentNetwork();
|
||||
final Slice wifiSlice = mWifiSlice.getSlice();
|
||||
|
||||
assertWifiHeader(wifiSlice);
|
||||
@@ -138,11 +151,7 @@ public class ContextualWifiSliceTest {
|
||||
}
|
||||
|
||||
private void connectToWifi(NetworkCapabilities nc) {
|
||||
final WifiConfiguration config = new WifiConfiguration();
|
||||
config.SSID = "123";
|
||||
mWifiManager.connect(config, null /* listener */);
|
||||
ShadowConnectivityManager.getShadow().setNetworkCapabilities(
|
||||
mWifiManager.getCurrentNetwork(), nc);
|
||||
ShadowConnectivityManager.getShadow().setNetworkCapabilities(mNetwork, nc);
|
||||
}
|
||||
|
||||
private NetworkCapabilities makeValidatedNetworkCapabilities() {
|
||||
|
@@ -50,9 +50,10 @@ import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.android.wifitrackerlib.WifiEntry.ConnectedState;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
@@ -63,7 +64,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
@Config(shadows = WifiSliceTest.ShadowSliceBackgroundWorker.class)
|
||||
public class WifiSliceTest {
|
||||
|
||||
@@ -71,21 +71,24 @@ public class WifiSliceTest {
|
||||
private static final String AP2_NAME = "ap2";
|
||||
private static final String AP3_NAME = "ap3";
|
||||
|
||||
@Mock
|
||||
private WifiManager mWifiManager;
|
||||
|
||||
private Context mContext;
|
||||
private ContentResolver mResolver;
|
||||
private WifiManager mWifiManager;
|
||||
private WifiSlice mWifiSlice;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
mResolver = mock(ContentResolver.class);
|
||||
doReturn(mResolver).when(mContext).getContentResolver();
|
||||
mWifiManager = mContext.getSystemService(WifiManager.class);
|
||||
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
|
||||
doReturn(WifiManager.WIFI_STATE_ENABLED).when(mWifiManager).getWifiState();
|
||||
|
||||
// Set-up specs for SliceMetadata.
|
||||
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
|
||||
mWifiManager.setWifiEnabled(true);
|
||||
|
||||
mWifiSlice = new WifiSlice(mContext);
|
||||
}
|
||||
@@ -108,7 +111,7 @@ public class WifiSliceTest {
|
||||
|
||||
@Test
|
||||
public void getWifiSlice_wifiOff_shouldReturnSingleRow() {
|
||||
mWifiManager.setWifiEnabled(false);
|
||||
doReturn(WifiManager.WIFI_STATE_DISABLED).when(mWifiManager).getWifiState();
|
||||
|
||||
final Slice wifiSlice = mWifiSlice.getSlice();
|
||||
|
||||
|
Reference in New Issue
Block a user