summaryrefslogtreecommitdiffstats
path: root/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
diff options
context:
space:
mode:
authorDavid Su <dysu@google.com>2019-05-30 16:29:02 -0700
committerDavid Su <dysu@google.com>2019-05-31 16:13:27 -0700
commit2662a47382b0a74aea747bcdb0b8041d7bc1d8fa (patch)
tree8281edf3bfa2a5ced6ccd42a4878c23ae9e22700 /tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
parentd347f084ac4b935a376425e322b0fc8000e61d29 (diff)
downloadandroid_frameworks_opt_net_wifi-2662a47382b0a74aea747bcdb0b8041d7bc1d8fa.tar.gz
android_frameworks_opt_net_wifi-2662a47382b0a74aea747bcdb0b8041d7bc1d8fa.tar.bz2
android_frameworks_opt_net_wifi-2662a47382b0a74aea747bcdb0b8041d7bc1d8fa.zip
Fix manual connection to Carrier Wifi
Fixed to conform to encrypted IMSI protocol even when user manually connected to a network. Previously only auto-connection worked correctly. Bug: 134094526 Test: Manually connect to Carrier Wifi network Test: Auto-connect to Carrier Wifi network Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh Change-Id: I1ac5c2083d12e671a4ca89e93e7955c64197b522
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java41
1 files changed, 34 insertions, 7 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
index 597ccae7b..e839796c9 100644
--- a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
@@ -103,7 +103,6 @@ import com.android.server.wifi.nano.WifiMetricsProto.StaEvent;
import com.android.server.wifi.nano.WifiMetricsProto.WifiIsUnusableEvent;
import com.android.server.wifi.nano.WifiMetricsProto.WifiUsabilityStats;
import com.android.server.wifi.p2p.WifiP2pServiceImpl;
-import com.android.server.wifi.util.TelephonyUtil;
import com.android.server.wifi.util.WifiPermissionsUtil;
import com.android.server.wifi.util.WifiPermissionsWrapper;
@@ -1022,17 +1021,20 @@ public class ClientModeImplTest {
WifiEnterpriseConfig.Eap.SIM, WifiEnterpriseConfig.Phase2.NONE));
when(mDataTelephonyManager.getSimOperator()).thenReturn("123456");
when(mDataTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_READY);
- String expectedAnonymousIdentity = TelephonyUtil.getAnonymousIdentityWith3GppRealm(
- mTelephonyManager);
- // we are using anonymous@<realm> as our anonymous identity before connection
- mConnectedNetwork.enterpriseConfig.setAnonymousIdentity(expectedAnonymousIdentity);
+ mConnectedNetwork.enterpriseConfig.setAnonymousIdentity("");
- triggerConnect();
+ String expectedAnonymousIdentity = "anonymous@wlan.mnc456.mcc123.3gppnetwork.org";
when(mCarrierNetworkConfig.isCarrierEncryptionInfoAvailable()).thenReturn(true);
+
+ triggerConnect();
+
+ // CMD_START_CONNECT should have set anonymousIdentity to anonymous@<realm>
+ assertEquals(expectedAnonymousIdentity,
+ mConnectedNetwork.enterpriseConfig.getAnonymousIdentity());
+
when(mWifiConfigManager.getScanDetailCacheForNetwork(FRAMEWORK_NETWORK_ID))
.thenReturn(mScanDetailCache);
-
when(mScanDetailCache.getScanDetail(sBSSID)).thenReturn(
getGoogleGuestScanDetail(TEST_RSSI, sBSSID, sFreq));
when(mScanDetailCache.getScanResult(sBSSID)).thenReturn(
@@ -3537,4 +3539,29 @@ public class ClientModeImplTest {
assertNotNull(
mCmi.syncGetWifiConfigsForPasspointProfiles(null, mNullAsyncChannel));
}
+
+ /**
+ * Tests that when {@link ClientModeImpl} receives a SUP_REQUEST_IDENTITY message, it responds
+ * to the supplicant with the SIM identity.
+ */
+ @Test
+ public void testSupRequestIdentity_setsIdentityResponse() throws Exception {
+ mConnectedNetwork = spy(WifiConfigurationTestUtil.createEapNetwork(
+ WifiEnterpriseConfig.Eap.SIM, WifiEnterpriseConfig.Phase2.NONE));
+ mConnectedNetwork.SSID = DEFAULT_TEST_SSID;
+
+ when(mDataTelephonyManager.getSubscriberId()).thenReturn("3214561234567890");
+ when(mDataTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_READY);
+ when(mDataTelephonyManager.getSimOperator()).thenReturn("321456");
+ when(mDataTelephonyManager.getCarrierInfoForImsiEncryption(anyInt())).thenReturn(null);
+
+ triggerConnect();
+
+ mCmi.sendMessage(WifiMonitor.SUP_REQUEST_IDENTITY,
+ 0, FRAMEWORK_NETWORK_ID, DEFAULT_TEST_SSID);
+ mLooper.dispatchAll();
+
+ verify(mWifiNative).simIdentityResponse(WIFI_IFACE_NAME, FRAMEWORK_NETWORK_ID,
+ "13214561234567890@wlan.mnc456.mcc321.3gppnetwork.org", "");
+ }
}