blob: c6c0b46d050555bfbfeaad6e87336db122c4572e [file] [log] [blame]
Tadashi G. Takaokab4470f22019-01-15 18:29:15 +09001/*
2 * Copyright (C) 2014 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Jeremy Joslinba242732017-01-24 17:16:42 -080017package android.net;
18
19import static org.junit.Assert.assertEquals;
20import static org.junit.Assert.assertNull;
21import static org.mockito.Mockito.when;
22
Stephen Chenfde900d2017-02-14 16:40:21 -080023import android.net.wifi.ScanResult;
Jeremy Joslinba242732017-01-24 17:16:42 -080024import android.net.wifi.WifiInfo;
David Sue51ae152019-11-13 15:06:41 -080025import android.net.wifi.WifiManager;
Tadashi G. Takaokab4470f22019-01-15 18:29:15 +090026
27import androidx.test.runner.AndroidJUnit4;
Jeremy Joslinba242732017-01-24 17:16:42 -080028
29import org.junit.Before;
30import org.junit.Test;
31import org.junit.runner.RunWith;
32import org.mockito.Mock;
33import org.mockito.MockitoAnnotations;
34
35@RunWith(AndroidJUnit4.class)
36public class NetworkKeyTest {
37 private static final String VALID_SSID = "\"ssid1\"";
Stephen Chenfde900d2017-02-14 16:40:21 -080038 private static final String VALID_UNQUOTED_SSID = "ssid1";
Jeremy Joslinba242732017-01-24 17:16:42 -080039 private static final String VALID_BSSID = "00:00:00:00:00:00";
Stephen Chenfde900d2017-02-14 16:40:21 -080040 private static final String INVALID_BSSID = "invalid_bssid";
Jeremy Joslinba242732017-01-24 17:16:42 -080041 @Mock private WifiInfo mWifiInfo;
42
43 @Before
44 public void setUp() throws Exception {
45 MockitoAnnotations.initMocks(this);
46 }
47
48 @Test
49 public void createFromWifi_nullInput() throws Exception {
50 assertNull(NetworkKey.createFromWifiInfo(null));
51 }
52
53 @Test
54 public void createFromWifi_nullSsid() throws Exception {
55 when(mWifiInfo.getBSSID()).thenReturn(VALID_BSSID);
56 assertNull(NetworkKey.createFromWifiInfo(mWifiInfo));
57 }
58
59 @Test
60 public void createFromWifi_emptySsid() throws Exception {
61 when(mWifiInfo.getSSID()).thenReturn("");
62 when(mWifiInfo.getBSSID()).thenReturn(VALID_BSSID);
63 assertNull(NetworkKey.createFromWifiInfo(mWifiInfo));
64 }
65
66 @Test
67 public void createFromWifi_noneSsid() throws Exception {
David Sue51ae152019-11-13 15:06:41 -080068 when(mWifiInfo.getSSID()).thenReturn(WifiManager.UNKNOWN_SSID);
Jeremy Joslinba242732017-01-24 17:16:42 -080069 when(mWifiInfo.getBSSID()).thenReturn(VALID_BSSID);
70 assertNull(NetworkKey.createFromWifiInfo(mWifiInfo));
71 }
72
73 @Test
74 public void createFromWifi_nullBssid() throws Exception {
75 when(mWifiInfo.getSSID()).thenReturn(VALID_SSID);
76 assertNull(NetworkKey.createFromWifiInfo(mWifiInfo));
77 }
78
79 @Test
80 public void createFromWifi_emptyBssid() throws Exception {
81 when(mWifiInfo.getSSID()).thenReturn(VALID_SSID);
82 when(mWifiInfo.getBSSID()).thenReturn("");
83 assertNull(NetworkKey.createFromWifiInfo(mWifiInfo));
84 }
85
86 @Test
Stephen Chenfde900d2017-02-14 16:40:21 -080087 public void createFromWifi_invalidBssid() throws Exception {
88 when(mWifiInfo.getSSID()).thenReturn(VALID_SSID);
89 when(mWifiInfo.getBSSID()).thenReturn(INVALID_BSSID);
90 assertNull(NetworkKey.createFromWifiInfo(mWifiInfo));
91 }
92
93 @Test
Jeremy Joslinba242732017-01-24 17:16:42 -080094 public void createFromWifi_validWifiInfo() throws Exception {
95 when(mWifiInfo.getSSID()).thenReturn(VALID_SSID);
96 when(mWifiInfo.getBSSID()).thenReturn(VALID_BSSID);
97
98 NetworkKey expected = new NetworkKey(new WifiKey(VALID_SSID, VALID_BSSID));
99 final NetworkKey actual = NetworkKey.createFromWifiInfo(mWifiInfo);
100 assertEquals(expected, actual);
101 }
Stephen Chenfde900d2017-02-14 16:40:21 -0800102
103 @Test
104 public void createFromScanResult_nullInput() {
105 assertNull(NetworkKey.createFromScanResult(null));
106 }
107
108 @Test
David Sue51ae152019-11-13 15:06:41 -0800109 public void createFromScanResult_nullSsid() {
Stephen Chenfde900d2017-02-14 16:40:21 -0800110 ScanResult scanResult = new ScanResult();
111 scanResult.BSSID = VALID_BSSID;
112
113 assertNull(NetworkKey.createFromScanResult(scanResult));
114 }
115
116 @Test
David Sue51ae152019-11-13 15:06:41 -0800117 public void createFromScanResult_emptySsid() {
Stephen Chenfde900d2017-02-14 16:40:21 -0800118 ScanResult scanResult = new ScanResult();
David Sue51ae152019-11-13 15:06:41 -0800119 scanResult.SSID = "";
Stephen Chenfde900d2017-02-14 16:40:21 -0800120 scanResult.BSSID = VALID_BSSID;
121
122 assertNull(NetworkKey.createFromScanResult(scanResult));
123 }
124
125 @Test
David Sue51ae152019-11-13 15:06:41 -0800126 public void createFromScanResult_noneSsid() {
Stephen Chenfde900d2017-02-14 16:40:21 -0800127 ScanResult scanResult = new ScanResult();
David Sue51ae152019-11-13 15:06:41 -0800128 scanResult.SSID = WifiManager.UNKNOWN_SSID;
Stephen Chenfde900d2017-02-14 16:40:21 -0800129 scanResult.BSSID = VALID_BSSID;
130
131 assertNull(NetworkKey.createFromScanResult(scanResult));
132 }
133
134 @Test
135 public void createFromScanResult_nullBssid() {
136 ScanResult scanResult = new ScanResult();
David Sue51ae152019-11-13 15:06:41 -0800137 scanResult.SSID = VALID_UNQUOTED_SSID;
Stephen Chenfde900d2017-02-14 16:40:21 -0800138
139 assertNull(NetworkKey.createFromScanResult(scanResult));
140 }
141
142 @Test
143 public void createFromScanResult_emptyBssid() {
144 ScanResult scanResult = new ScanResult();
David Sue51ae152019-11-13 15:06:41 -0800145 scanResult.SSID = VALID_UNQUOTED_SSID;
Stephen Chenfde900d2017-02-14 16:40:21 -0800146 scanResult.BSSID = "";
147
148 assertNull(NetworkKey.createFromScanResult(scanResult));
149 }
150
151 @Test
152 public void createFromScanResult_invalidBssid() {
153 ScanResult scanResult = new ScanResult();
David Sue51ae152019-11-13 15:06:41 -0800154 scanResult.SSID = VALID_UNQUOTED_SSID;
Stephen Chenfde900d2017-02-14 16:40:21 -0800155 scanResult.BSSID = INVALID_BSSID;
156
157 assertNull(NetworkKey.createFromScanResult(scanResult));
158 }
159
160 @Test
David Sue51ae152019-11-13 15:06:41 -0800161 public void createFromScanResult_validSsid() {
Stephen Chenfde900d2017-02-14 16:40:21 -0800162 ScanResult scanResult = new ScanResult();
David Sue51ae152019-11-13 15:06:41 -0800163 scanResult.SSID = VALID_UNQUOTED_SSID;
Stephen Chenfde900d2017-02-14 16:40:21 -0800164 scanResult.BSSID = VALID_BSSID;
165
166 NetworkKey expected = new NetworkKey(new WifiKey(VALID_SSID, VALID_BSSID));
167 NetworkKey actual = NetworkKey.createFromScanResult(scanResult);
168 assertEquals(expected, actual);
169 }
Jeremy Joslinba242732017-01-24 17:16:42 -0800170}