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:
Weng Su
2022-01-21 07:10:22 +00:00
parent adf5ccf359
commit 64cc3bf9a4
5 changed files with 55 additions and 33 deletions

View File

@@ -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);