• 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() {
19     WifiConfiguration wifiConfiguration = new WifiConfiguration();
20     assertNotNull(wifiConfiguration.allowedAuthAlgorithms);
21   }
22 
23   @Test
shouldCopy()24   public void shouldCopy() {
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   @Test
shouldCopy_sdk18()67   public void shouldCopy_sdk18() {
68     WifiConfiguration wifiConfiguration = new WifiConfiguration();
69 
70     wifiConfiguration.networkId = 1;
71     wifiConfiguration.SSID = "SSID";
72 
73     WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig();
74     enterpriseConfig.setIdentity("fake identity");
75     enterpriseConfig.setPassword("fake password");
76     wifiConfiguration.enterpriseConfig = enterpriseConfig;
77 
78     WifiConfiguration copy = shadowOf(wifiConfiguration).copy();
79     assertThat(copy.networkId).isEqualTo(1);
80     assertThat(copy.SSID).isEqualTo("SSID");
81     assertThat(copy.enterpriseConfig).isNotNull();
82     assertThat(copy.enterpriseConfig.getIdentity()).isEqualTo("fake identity");
83     assertThat(copy.enterpriseConfig.getPassword()).isEqualTo("fake password");
84   }
85 
86   @Config(sdk = Build.VERSION_CODES.LOLLIPOP)
87   @Test
shouldCopy_sdk21()88   public void shouldCopy_sdk21() {
89     WifiConfiguration wifiConfiguration = new WifiConfiguration();
90 
91     wifiConfiguration.networkId = 1;
92     wifiConfiguration.SSID = "SSID";
93     wifiConfiguration.creatorUid = 888;
94 
95     WifiConfiguration copy = shadowOf(wifiConfiguration).copy();
96 
97     assertThat(copy.networkId).isEqualTo(1);
98     assertThat(copy.SSID).isEqualTo("SSID");
99     assertThat(copy.creatorUid).isEqualTo(888);
100   }
101 
102   @Config(minSdk = Build.VERSION_CODES.M)
103   @Test
shouldCopy_sdk23()104   public void shouldCopy_sdk23() {
105     WifiConfiguration wifiConfiguration = new WifiConfiguration();
106 
107     wifiConfiguration.networkId = 1;
108     wifiConfiguration.SSID = "SSID";
109     wifiConfiguration.creatorName = "creatorName";
110     wifiConfiguration.creatorUid = 888;
111 
112     WifiConfiguration copy = shadowOf(wifiConfiguration).copy();
113 
114     assertThat(copy.networkId).isEqualTo(1);
115     assertThat(copy.SSID).isEqualTo("SSID");
116     assertThat(copy.creatorName).isEqualTo("creatorName");
117     assertThat(copy.creatorUid).isEqualTo(888);
118   }
119 
120   @SuppressWarnings("CheckReturnValue")
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   @Config(minSdk = Build.VERSION_CODES.R)
131   @Test
setSecurityParams_shouldWorkCorrectly()132   public void setSecurityParams_shouldWorkCorrectly() {
133     WifiConfiguration wifiConfiguration = new WifiConfiguration();
134     wifiConfiguration.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
135 
136     assertThat(shadowOf(wifiConfiguration).getSecurityTypes())
137         .containsExactly(WifiConfiguration.SECURITY_TYPE_OPEN);
138   }
139 }
140