Merge "Fix Robolectric failures for new registerReceiver security design"

This commit is contained in:
Weng Su
2022-01-19 05:53:19 +00:00
committed by Android (Google) Code Review

View File

@@ -19,6 +19,9 @@ package com.android.settings.wifi;
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.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@@ -26,6 +29,7 @@ import static org.mockito.Mockito.when;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.NetworkRequest; import android.net.NetworkRequest;
@@ -42,7 +46,6 @@ import com.android.settingslib.PrimarySwitchPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
@@ -55,6 +58,8 @@ import org.robolectric.annotation.Config;
@Config(shadows = ShadowRestrictedLockUtilsInternal.class) @Config(shadows = ShadowRestrictedLockUtilsInternal.class)
public class WifiPrimarySwitchPreferenceControllerTest { public class WifiPrimarySwitchPreferenceControllerTest {
@Mock
private Intent mIntentReceiver;
@Mock @Mock
private WifiManager mWifiManager; private WifiManager mWifiManager;
@Mock @Mock
@@ -75,6 +80,9 @@ public class WifiPrimarySwitchPreferenceControllerTest {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mMetricsFeatureProvider = FakeFeatureFactory.setupForTest().getMetricsFeatureProvider(); mMetricsFeatureProvider = FakeFeatureFactory.setupForTest().getMetricsFeatureProvider();
mContext = spy(RuntimeEnvironment.application.getApplicationContext()); mContext = spy(RuntimeEnvironment.application.getApplicationContext());
doReturn(mIntentReceiver).when(mContext)
.registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class), anyInt());
doNothing().when(mContext).unregisterReceiver(any(BroadcastReceiver.class));
when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager); when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
when(mContext.getSystemService(NetworkScoreManager.class)).thenReturn(mNetworkScoreManager); when(mContext.getSystemService(NetworkScoreManager.class)).thenReturn(mNetworkScoreManager);
mController = new WifiPrimarySwitchPreferenceController(mContext, mMetricsFeatureProvider); mController = new WifiPrimarySwitchPreferenceController(mContext, mMetricsFeatureProvider);
@@ -95,11 +103,11 @@ public class WifiPrimarySwitchPreferenceControllerTest {
} }
@Test @Test
@Ignore
public void onResume_shouldRegisterCallback() { public void onResume_shouldRegisterCallback() {
mController.onResume(); mController.onResume();
verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class)); verify(mContext).registerReceiver(
any(BroadcastReceiver.class), any(IntentFilter.class), anyInt());
verify(mConnectivityManager).registerNetworkCallback( verify(mConnectivityManager).registerNetworkCallback(
any(NetworkRequest.class), any(NetworkRequest.class),
any(ConnectivityManager.NetworkCallback.class), any(ConnectivityManager.NetworkCallback.class),
@@ -107,7 +115,6 @@ public class WifiPrimarySwitchPreferenceControllerTest {
} }
@Test @Test
@Ignore
public void onPause_shouldUnregisterCallback() { public void onPause_shouldUnregisterCallback() {
mController.onResume(); mController.onResume();
mController.onPause(); mController.onPause();