ConfigureWifiSettingsTest.java revision 848f67d17a2a452da8549ab787e4419b927e5698
14b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzepackage com.android.settings.wifi; 24b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 34b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport static com.google.common.truth.Truth.assertThat; 44b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 54b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport static org.mockito.Mockito.doReturn; 64b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport static org.mockito.Mockito.mock; 74b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport static org.mockito.Mockito.spy; 84b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport static org.mockito.Mockito.when; 94b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 104b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport android.content.Context; 114b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport android.net.ConnectivityManager; 124b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport android.net.NetworkInfo; 134b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport com.android.settings.TestConfig; 144b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport com.android.settings.testutils.SettingsRobolectricTestRunner; 154b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport com.android.settings.testutils.XmlTestUtils; 164b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 174b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport org.junit.Before; 184b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport org.junit.Test; 194b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport org.junit.runner.RunWith; 204b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport org.robolectric.RuntimeEnvironment; 214b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport org.robolectric.annotation.Config; 224b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 234b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzeimport java.util.List; 244b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 254b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze@RunWith(SettingsRobolectricTestRunner.class) 26cbfb099a4002f751ff9b367f1742565b40c5d519jeffreyhuang@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) 274b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritzepublic class ConfigureWifiSettingsTest { 284b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 294b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze private Context mContext; 304b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 314b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze @Before 324b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze public void setUp() { 334b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze mContext = spy(RuntimeEnvironment.application); 344b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze } 354b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 364b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze @Test 374b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze public void testNonIndexableKeys_existInXmlLayout() { 384b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER 394b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze .getNonIndexableKeys(mContext); 404b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze final int xmlId = new ConfigureWifiSettings().getPreferenceScreenResId(); 414b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 424b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId); 434b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 444b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze assertThat(keys).containsAllIn(niks); 454b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze } 464b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 474b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze @Test 48848f67d17a2a452da8549ab787e4419b927e5698Ben Lin @Config(qualifiers = "mcc999") 49848f67d17a2a452da8549ab787e4419b927e5698Ben Lin public void testNonIndexableKeys_ifPageDisabled_shouldNotIndexResource() { 50848f67d17a2a452da8549ab787e4419b927e5698Ben Lin final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER 51848f67d17a2a452da8549ab787e4419b927e5698Ben Lin .getNonIndexableKeys(mContext); 52848f67d17a2a452da8549ab787e4419b927e5698Ben Lin final int xmlId = new ConfigureWifiSettings().getPreferenceScreenResId(); 53848f67d17a2a452da8549ab787e4419b927e5698Ben Lin 54848f67d17a2a452da8549ab787e4419b927e5698Ben Lin final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId); 55848f67d17a2a452da8549ab787e4419b927e5698Ben Lin assertThat(niks).containsAllIn(keys); 56848f67d17a2a452da8549ab787e4419b927e5698Ben Lin } 57848f67d17a2a452da8549ab787e4419b927e5698Ben Lin 58848f67d17a2a452da8549ab787e4419b927e5698Ben Lin @Test 594b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze public void testNonIndexableKeys_noConnection_blocksIP() { 604b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze ConnectivityManager manager = mock(ConnectivityManager.class); 614b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(manager.getActiveNetworkInfo()).thenReturn(null); 624b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE); 634b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 644b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER 654b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze .getNonIndexableKeys(mContext); 664b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze assertThat(niks).contains(ConfigureWifiSettings.KEY_IP_ADDRESS); 674b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze } 684b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 694b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze @Test 704b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze public void testNonIndexableKeys_wifiConnection_blocksIP() { 714b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze ConnectivityManager manager = mock(ConnectivityManager.class); 724b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze NetworkInfo info = mock(NetworkInfo.class); 734b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(info.getType()).thenReturn(ConnectivityManager.TYPE_WIFI); 744b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(manager.getActiveNetworkInfo()).thenReturn(info); 754b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE); 764b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 774b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER 784b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze .getNonIndexableKeys(mContext); 794b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze assertThat(niks).contains(ConfigureWifiSettings.KEY_IP_ADDRESS); 804b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze } 814b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 824b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze @Test 834b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze public void testNonIndexableKeys_mobileConnection_blocksIP() { 844b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze ConnectivityManager manager = mock(ConnectivityManager.class); 854b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze NetworkInfo info = mock(NetworkInfo.class); 864b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(info.getType()).thenReturn(ConnectivityManager.TYPE_MOBILE); 874b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(manager.getActiveNetworkInfo()).thenReturn(info); 884b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE); 894b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 904b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER 914b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze .getNonIndexableKeys(mContext); 924b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze assertThat(niks).doesNotContain(ConfigureWifiSettings.KEY_IP_ADDRESS); 934b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze } 944b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze} 95