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:
@@ -18,16 +18,21 @@ package com.android.settings.wifi;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
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.WifiManager;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
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.MockitoAnnotations;
|
||||
@@ -44,37 +49,36 @@ public class AddNetworkFragmentTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
Context context = spy(ApplicationProvider.getApplicationContext());
|
||||
when(context.getSystemService(Context.WIFI_SERVICE)).thenReturn(mock(WifiManager.class));
|
||||
|
||||
mAddNetworkFragment = spy(new AddNetworkFragment());
|
||||
when(mAddNetworkFragment.getContext()).thenReturn(context);
|
||||
FragmentController.setupFragment(mAddNetworkFragment);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getMetricsCategory_shouldReturnAddNetwork() {
|
||||
assertThat(mAddNetworkFragment.getMetricsCategory()).isEqualTo(
|
||||
MetricsEvent.SETTINGS_WIFI_ADD_NETWORK);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getMode_shouldBeModeConnected() {
|
||||
assertThat(mAddNetworkFragment.getMode()).isEqualTo(WifiConfigUiBase2.MODE_CONNECT);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void launchFragment_shouldShowSubmitButton() {
|
||||
assertThat(mAddNetworkFragment.getSubmitButton()).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void launchFragment_shouldShowCancelButton() {
|
||||
assertThat(mAddNetworkFragment.getCancelButton()).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void onClickSubmitButton_shouldHandleSubmitAction() {
|
||||
View submitButton = mAddNetworkFragment.getView().findViewById(
|
||||
AddNetworkFragment.SUBMIT_BUTTON_ID);
|
||||
@@ -85,7 +89,6 @@ public class AddNetworkFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void onClickCancelButton_shouldHandleCancelAction() {
|
||||
View cancelButton = mAddNetworkFragment.getView().findViewById(
|
||||
AddNetworkFragment.CANCEL_BUTTON_ID);
|
||||
@@ -96,7 +99,6 @@ public class AddNetworkFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void dispatchSubmit_shouldHandleSubmitAction() {
|
||||
mAddNetworkFragment.dispatchSubmit();
|
||||
|
||||
|
@@ -18,16 +18,21 @@ package com.android.settings.wifi;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
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.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -36,7 +41,6 @@ import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.shadows.androidx.fragment.FragmentController;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
public class ConfigureWifiEntryFragmentTest {
|
||||
|
||||
private static final String KEY_SSID = "key_ssid";
|
||||
@@ -50,13 +54,16 @@ public class ConfigureWifiEntryFragmentTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
Bundle bundle = new Bundle();
|
||||
Context context = spy(ApplicationProvider.getApplicationContext());
|
||||
when(context.getSystemService(Context.WIFI_SERVICE)).thenReturn(mock(WifiManager.class));
|
||||
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(KEY_SSID, "Test AP");
|
||||
bundle.putInt(KEY_SECURITY, 1 /* WEP */);
|
||||
mConfigureWifiEntryFragment = spy(new ConfigureWifiEntryFragment());
|
||||
mConfigureWifiEntryFragment.setArguments(bundle);
|
||||
mConfigureWifiEntryFragment.mNetworkDetailsTracker = mNetworkDetailsTracker;
|
||||
when(mConfigureWifiEntryFragment.getContext()).thenReturn(context);
|
||||
|
||||
FragmentController.setupFragment(mConfigureWifiEntryFragment);
|
||||
}
|
||||
|
@@ -22,6 +22,7 @@ import static com.android.settings.wifi.WifiConfigController.PRIVACY_SPINNER_IND
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
@@ -45,19 +46,19 @@ import android.widget.LinearLayout;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.network.SubscriptionUtil;
|
||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
|
||||
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.Shadows;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowInputMethodManager;
|
||||
@@ -66,7 +67,6 @@ import org.robolectric.shadows.ShadowSubscriptionManager;
|
||||
import java.util.Arrays;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
@Config(shadows = ShadowConnectivityManager.class)
|
||||
public class WifiConfigControllerTest {
|
||||
|
||||
@@ -96,7 +96,8 @@ public class WifiConfigControllerTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mContext = spy(ApplicationProvider.getApplicationContext());
|
||||
when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mock(WifiManager.class));
|
||||
when(mConfigUiBase.getContext()).thenReturn(mContext);
|
||||
when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_PSK);
|
||||
mView = LayoutInflater.from(mContext).inflate(R.layout.wifi_dialog, null);
|
||||
|
@@ -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