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