ConfigureWifiSettingsTest.java revision 4b0677a2a45e2542b44e906c91e4bf57ed00f44e
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) 264b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze@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 484b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze public void testNonIndexableKeys_noConnection_blocksIP() { 494b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze ConnectivityManager manager = mock(ConnectivityManager.class); 504b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(manager.getActiveNetworkInfo()).thenReturn(null); 514b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE); 524b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 534b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER 544b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze .getNonIndexableKeys(mContext); 554b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze assertThat(niks).contains(ConfigureWifiSettings.KEY_IP_ADDRESS); 564b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze } 574b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 584b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze @Test 594b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze public void testNonIndexableKeys_wifiConnection_blocksIP() { 604b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze ConnectivityManager manager = mock(ConnectivityManager.class); 614b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze NetworkInfo info = mock(NetworkInfo.class); 624b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(info.getType()).thenReturn(ConnectivityManager.TYPE_WIFI); 634b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(manager.getActiveNetworkInfo()).thenReturn(info); 644b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE); 654b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 664b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER 674b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze .getNonIndexableKeys(mContext); 684b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze assertThat(niks).contains(ConfigureWifiSettings.KEY_IP_ADDRESS); 694b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze } 704b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 714b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze @Test 724b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze public void testNonIndexableKeys_mobileConnection_blocksIP() { 734b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze ConnectivityManager manager = mock(ConnectivityManager.class); 744b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze NetworkInfo info = mock(NetworkInfo.class); 754b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(info.getType()).thenReturn(ConnectivityManager.TYPE_MOBILE); 764b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze when(manager.getActiveNetworkInfo()).thenReturn(info); 774b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE); 784b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze 794b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER 804b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze .getNonIndexableKeys(mContext); 814b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze assertThat(niks).doesNotContain(ConfigureWifiSettings.KEY_IP_ADDRESS); 824b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze } 834b0677a2a45e2542b44e906c91e4bf57ed00f44eMatthew Fritze} 84