• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric.shadows;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 import static org.junit.Assert.assertNotNull;
5 import static org.robolectric.Shadows.shadowOf;
6 
7 import android.net.wifi.WifiConfiguration;
8 import android.net.wifi.WifiEnterpriseConfig;
9 import android.os.Build;
10 import androidx.test.ext.junit.runners.AndroidJUnit4;
11 import org.junit.Test;
12 import org.junit.runner.RunWith;
13 import org.robolectric.annotation.Config;
14 
15 @RunWith(AndroidJUnit4.class)
16 public class ShadowWifiConfigurationTest {
17   @Test
shouldSetTheBitSetsAndWepKeyArrays()18   public void shouldSetTheBitSetsAndWepKeyArrays() throws Exception {
19     WifiConfiguration wifiConfiguration = new WifiConfiguration();
20     assertNotNull(wifiConfiguration.allowedAuthAlgorithms);
21   }
22 
23   @Test
shouldCopy()24   public void shouldCopy() throws Exception {
25     WifiConfiguration wifiConfiguration = new WifiConfiguration();
26 
27     wifiConfiguration.networkId = 1;
28     wifiConfiguration.SSID = "SSID";
29     wifiConfiguration.BSSID = "BSSID";
30     wifiConfiguration.preSharedKey = "preSharedKey";
31     wifiConfiguration.status = 666;
32     wifiConfiguration.wepTxKeyIndex = 777;
33     wifiConfiguration.priority = 2;
34     wifiConfiguration.hiddenSSID = true;
35     wifiConfiguration.allowedKeyManagement.set(1);
36     wifiConfiguration.allowedProtocols.set(2);
37     wifiConfiguration.allowedAuthAlgorithms.set(3);
38     wifiConfiguration.allowedPairwiseCiphers.set(4);
39     wifiConfiguration.allowedGroupCiphers.set(5);
40     wifiConfiguration.wepKeys[0] = "0";
41     wifiConfiguration.wepKeys[1] = "1";
42     wifiConfiguration.wepKeys[2] = "2";
43     wifiConfiguration.wepKeys[3] = "3";
44 
45     WifiConfiguration copy = shadowOf(wifiConfiguration).copy();
46 
47     assertThat(copy.networkId).isEqualTo(1);
48     assertThat(copy.SSID).isEqualTo("SSID");
49     assertThat(copy.BSSID).isEqualTo("BSSID");
50     assertThat(copy.preSharedKey).isEqualTo("preSharedKey");
51     assertThat(copy.status).isEqualTo(666);
52     assertThat(copy.wepTxKeyIndex).isEqualTo(777);
53     assertThat(copy.priority).isEqualTo(2);
54     assertThat(copy.hiddenSSID).isTrue();
55     assertThat(copy.allowedKeyManagement.get(1)).isTrue();
56     assertThat(copy.allowedProtocols.get(2)).isTrue();
57     assertThat(copy.allowedAuthAlgorithms.get(3)).isTrue();
58     assertThat(copy.allowedPairwiseCiphers.get(4)).isTrue();
59     assertThat(copy.allowedGroupCiphers.get(5)).isTrue();
60     assertThat(copy.wepKeys[0]).isEqualTo("0");
61     assertThat(copy.wepKeys[1]).isEqualTo("1");
62     assertThat(copy.wepKeys[2]).isEqualTo("2");
63     assertThat(copy.wepKeys[3]).isEqualTo("3");
64   }
65 
66   @Config(minSdk = Build.VERSION_CODES.JELLY_BEAN_MR2)
67   @Test
shouldCopy_sdk18()68   public void shouldCopy_sdk18() throws Exception {
69     WifiConfiguration wifiConfiguration = new WifiConfiguration();
70 
71     wifiConfiguration.networkId = 1;
72     wifiConfiguration.SSID = "SSID";
73 
74     WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig();
75     enterpriseConfig.setIdentity("fake identity");
76     enterpriseConfig.setPassword("fake password");
77     wifiConfiguration.enterpriseConfig = enterpriseConfig;
78 
79     WifiConfiguration copy = shadowOf(wifiConfiguration).copy();
80     assertThat(copy.networkId).isEqualTo(1);
81     assertThat(copy.SSID).isEqualTo("SSID");
82     assertThat(copy.enterpriseConfig).isNotNull();
83     assertThat(copy.enterpriseConfig.getIdentity()).isEqualTo("fake identity");
84     assertThat(copy.enterpriseConfig.getPassword()).isEqualTo("fake password");
85   }
86 
87   @Config(sdk = Build.VERSION_CODES.LOLLIPOP)
88   @Test
shouldCopy_sdk21()89   public void shouldCopy_sdk21() throws Exception {
90     WifiConfiguration wifiConfiguration = new WifiConfiguration();
91 
92     wifiConfiguration.networkId = 1;
93     wifiConfiguration.SSID = "SSID";
94     wifiConfiguration.creatorUid = 888;
95 
96     WifiConfiguration copy = shadowOf(wifiConfiguration).copy();
97 
98     assertThat(copy.networkId).isEqualTo(1);
99     assertThat(copy.SSID).isEqualTo("SSID");
100     assertThat(copy.creatorUid).isEqualTo(888);
101   }
102 
103   @Config(minSdk = Build.VERSION_CODES.M)
104   @Test
shouldCopy_sdk23()105   public void shouldCopy_sdk23() throws Exception {
106     WifiConfiguration wifiConfiguration = new WifiConfiguration();
107 
108     wifiConfiguration.networkId = 1;
109     wifiConfiguration.SSID = "SSID";
110     wifiConfiguration.creatorName = "creatorName";
111     wifiConfiguration.creatorUid = 888;
112 
113     WifiConfiguration copy = shadowOf(wifiConfiguration).copy();
114 
115     assertThat(copy.networkId).isEqualTo(1);
116     assertThat(copy.SSID).isEqualTo("SSID");
117     assertThat(copy.creatorName).isEqualTo("creatorName");
118     assertThat(copy.creatorUid).isEqualTo(888);
119   }
120 
121   @Test
toStringDoesntCrash()122   public void toStringDoesntCrash() {
123     WifiConfiguration wifiConfiguration = new WifiConfiguration();
124     wifiConfiguration.toString();
125 
126     wifiConfiguration.SSID = "SSID";
127     wifiConfiguration.toString();
128   }
129 }
130