OSDN Git Service

Index the System status page
[android-x86/packages-apps-Settings.git] / tests / robotests / src / com / android / settings / wifi / ConfigureWifiSettingsTest.java
1 package com.android.settings.wifi;
2
3 import static com.google.common.truth.Truth.assertThat;
4
5 import static org.mockito.Mockito.doReturn;
6 import static org.mockito.Mockito.mock;
7 import static org.mockito.Mockito.spy;
8 import static org.mockito.Mockito.when;
9
10 import android.content.Context;
11 import android.net.ConnectivityManager;
12 import android.net.NetworkInfo;
13 import com.android.settings.TestConfig;
14 import com.android.settings.testutils.SettingsRobolectricTestRunner;
15 import com.android.settings.testutils.XmlTestUtils;
16
17 import org.junit.Before;
18 import org.junit.Test;
19 import org.junit.runner.RunWith;
20 import org.robolectric.RuntimeEnvironment;
21 import org.robolectric.annotation.Config;
22
23 import java.util.List;
24
25 @RunWith(SettingsRobolectricTestRunner.class)
26 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
27 public class ConfigureWifiSettingsTest {
28
29     private Context mContext;
30
31     @Before
32     public void setUp() {
33         mContext = spy(RuntimeEnvironment.application);
34     }
35
36     @Test
37     public void testNonIndexableKeys_existInXmlLayout() {
38         final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER
39                 .getNonIndexableKeys(mContext);
40         final int xmlId = new ConfigureWifiSettings().getPreferenceScreenResId();
41
42         final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId);
43
44         assertThat(keys).containsAllIn(niks);
45     }
46
47     @Test
48     public void testNonIndexableKeys_noConnection_blocksIP() {
49         ConnectivityManager manager = mock(ConnectivityManager.class);
50         when(manager.getActiveNetworkInfo()).thenReturn(null);
51         doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
52
53         final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER
54                 .getNonIndexableKeys(mContext);
55         assertThat(niks).contains(ConfigureWifiSettings.KEY_IP_ADDRESS);
56     }
57
58     @Test
59     public void testNonIndexableKeys_wifiConnection_blocksIP() {
60         ConnectivityManager manager = mock(ConnectivityManager.class);
61         NetworkInfo info = mock(NetworkInfo.class);
62         when(info.getType()).thenReturn(ConnectivityManager.TYPE_WIFI);
63         when(manager.getActiveNetworkInfo()).thenReturn(info);
64         doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
65
66         final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER
67                 .getNonIndexableKeys(mContext);
68         assertThat(niks).contains(ConfigureWifiSettings.KEY_IP_ADDRESS);
69     }
70
71     @Test
72     public void testNonIndexableKeys_mobileConnection_blocksIP() {
73         ConnectivityManager manager = mock(ConnectivityManager.class);
74         NetworkInfo info = mock(NetworkInfo.class);
75         when(info.getType()).thenReturn(ConnectivityManager.TYPE_MOBILE);
76         when(manager.getActiveNetworkInfo()).thenReturn(info);
77         doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
78
79         final List<String> niks = ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER
80                 .getNonIndexableKeys(mContext);
81         assertThat(niks).doesNotContain(ConfigureWifiSettings.KEY_IP_ADDRESS);
82     }
83 }