Merge "[Wi-Fi] Remove @Ignore unit tests" into rvc-dev am: ef84083712 am: 0dcef519de am: fcc478c8af

Change-Id: I3a2f104232744842fb8da18d0749710954dac4eb
diff --git a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
index 77ef219..9521e7a 100644
--- a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
@@ -9,7 +9,6 @@
 import com.android.settings.testutils.XmlTestUtils;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -29,18 +28,6 @@
     }
 
     @Test
-    @Ignore
-    public void testNonIndexableKeys_existInXmlLayout() {
-        final List<String> niks =
-            ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
-        final int xmlId = new ConfigureWifiSettings().getPreferenceScreenResId();
-
-        final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId);
-
-        assertThat(keys).containsAllIn(niks);
-    }
-
-    @Test
     @Config(qualifiers = "mcc999")
     public void testNonIndexableKeys_ifPageDisabled_shouldNotIndexResource() {
         final List<String> niks =
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java
index b4aea4f..bd6b20f 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java
@@ -44,6 +44,7 @@
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -56,7 +57,6 @@
 import com.android.wifitrackerlib.WifiPickerTracker;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -80,6 +80,8 @@
     private WifiSettings2 mWifiSettings2;
     @Mock
     private WifiPickerTracker mMockWifiPickerTracker;
+    @Mock
+    private PreferenceManager mPreferenceManager;
 
     @Before
     public void setUp() {
@@ -88,8 +90,10 @@
 
         mWifiSettings2 = spy(new WifiSettings2());
         doReturn(mContext).when(mWifiSettings2).getContext();
+        doReturn(mPreferenceManager).when(mWifiSettings2).getPreferenceManager();
         doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
         doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
+        doReturn(mContext).when(mPreferenceManager).getContext();
         mWifiSettings2.mAddWifiNetworkPreference = new AddWifiNetworkPreference(mContext);
         mWifiSettings2.mSavedNetworksPreference = new Preference(mContext);
         mWifiSettings2.mConfigureWifiSettingsPreference = new Preference(mContext);
@@ -239,9 +243,7 @@
         assertThat(adapter.hasStableIds()).isTrue();
     }
 
-    //TODO(b/70983952): Remove @Ignore when WifiEntry API is constructed.
     @Test
-    @Ignore
     public void onCreateContextMenu_shouldHaveForgetAndDisconnectMenuForConnectedWifiEntry() {
         final FragmentActivity activity = mock(FragmentActivity.class);
         when(activity.getApplicationContext()).thenReturn(mContext);
@@ -249,6 +251,7 @@
 
         final WifiEntry wifiEntry = mock(WifiEntry.class);
         when(wifiEntry.canDisconnect()).thenReturn(true);
+        when(wifiEntry.canForget()).thenReturn(true);
         when(wifiEntry.isSaved()).thenReturn(true);
         when(wifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
 
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/TetherServiceTest.java b/tests/robotests/src/com/android/settings/wifi/tether/TetherServiceTest.java
index 1bdfed0..61b9b5b 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/TetherServiceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/TetherServiceTest.java
@@ -20,17 +20,19 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.content.res.Resources;
 import android.net.wifi.WifiManager;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -46,8 +48,12 @@
 @RunWith(RobolectricTestRunner.class)
 public class TetherServiceTest {
 
+    private static final int CHECK_PERIOD_HOURS = 24;
+
     @Mock
     private Context mContext;
+    @Mock
+    private Resources mResources;
 
     private Context mAppContext;
     private TetherService mService;
@@ -56,13 +62,15 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mAppContext = RuntimeEnvironment.application;
-        mService = new TetherService();
+        mService = spy(new TetherService());
         ReflectionHelpers.setField(mService, "mBase", mAppContext);
         mService.setHotspotOffReceiver(new HotspotOffReceiver(mContext));
+        doReturn(CHECK_PERIOD_HOURS).when(mResources).getInteger(
+                com.android.internal.R.integer.config_mobile_hotspot_provision_check_period);
+        doReturn(mResources).when(mService).getResourceForActiveDataSubId();
     }
 
     @Test
-    @Ignore
     public void scheduleAlarm_shouldRegisterReceiver() {
         mService.setHotspotOffReceiver(new HotspotOffReceiver(mAppContext));
 
@@ -80,7 +88,6 @@
     }
 
     @Test
-    @Ignore
     public void cancelAlarmIfNecessary_hasActiveTethers_shouldNotUnregisterReceiver() {
         mService.scheduleAlarm();
         final ArrayList<Integer> tethers = new ArrayList<>();
@@ -88,17 +95,18 @@
         ReflectionHelpers.setField(mService, "mCurrentTethers", tethers);
 
         mService.cancelAlarmIfNecessary();
+
         verify(mContext, never()).unregisterReceiver(any(HotspotOffReceiver.class));
     }
 
     @Test
-    @Ignore
     public void cancelAlarmIfNecessary_noActiveTethers_shouldUnregisterReceiver() {
         final ArrayList<Integer> tethers = new ArrayList<>();
         ReflectionHelpers.setField(mService, "mCurrentTethers", tethers);
         mService.scheduleAlarm();
 
         mService.cancelAlarmIfNecessary();
+
         verify(mContext).unregisterReceiver(any(HotspotOffReceiver.class));
     }
 
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceControllerTest.java
index 0b066cd..c7d0695 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceControllerTest.java
@@ -15,7 +15,6 @@
 import androidx.preference.PreferenceScreen;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -76,7 +75,6 @@
     }
 
     @Test
-    @Ignore
     public void updateDisplay_preferenceUpdated() {
         // test defaulting to WPA2-Personal on new config
         when(mWifiManager.getSoftApConfiguration()).thenReturn(null);
@@ -87,7 +85,7 @@
 
         // test open tether network
         SoftApConfiguration config = new SoftApConfiguration.Builder(mConfig)
-                .setPassphrase(null, SoftApConfiguration.SECURITY_TYPE_WPA2_PSK).build();
+                .setPassphrase(null, SoftApConfiguration.SECURITY_TYPE_OPEN).build();
         when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
         mController.updateDisplay();
         assertThat(mController.getSecurityType()).isEqualTo(