diff options
author | Roshan Pius <rpius@google.com> | 2017-03-07 08:53:31 -0800 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2017-03-08 08:04:43 -0800 |
commit | f50550926a7bddc24adf822876f35812d7d8c7be (patch) | |
tree | 99122553d1f4e9c9fb96094f4f15db2646744f70 /tests | |
parent | df5dc451ffe849d3dc2f3d6cb6e2360690a3c9a9 (diff) |
SupplicantStaNetworkHal: Add support for raw psk
|config.preSharedKey| can either be a quoted ascii passphrase or a raw
psk hexstring. Handle these 2 scenarios and call the corresponding HIDL
methods.
Bug: 36013886
Test: Added Unit tests
Test: Connected to networks with both raw psk and passphrase.
Change-Id: Ifaf31a7ce864aa0f6e86020ec5207ea8dee09205
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java | 46 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiConfigurationTestUtil.java | 2 |
2 files changed, 44 insertions, 4 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java b/tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java index 3c8425a4f..b48d2b667 100644 --- a/tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java +++ b/tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java @@ -18,7 +18,9 @@ package com.android.server.wifi; import static org.junit.Assert.*; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.any; +import static org.mockito.Mockito.anyString; import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -91,13 +93,35 @@ public class SupplicantStaNetworkHalTest { } /** - * Tests the saving/loading of WifiConfiguration to wpa_supplicant. + * Tests the saving/loading of WifiConfiguration to wpa_supplicant with psk passphrase. */ @Test - public void testPskNetworkWifiConfigurationSaveLoad() throws Exception { + public void testPskPassphraseNetworkWifiConfigurationSaveLoad() throws Exception { WifiConfiguration config = WifiConfigurationTestUtil.createPskNetwork(); config.requirePMF = true; testWifiConfigurationSaveLoad(config); + verify(mISupplicantStaNetworkMock).setPskPassphrase(anyString()); + verify(mISupplicantStaNetworkMock) + .getPskPassphrase(any(ISupplicantStaNetwork.getPskPassphraseCallback.class)); + verify(mISupplicantStaNetworkMock, never()).setPsk(any(byte[].class)); + verify(mISupplicantStaNetworkMock, never()) + .getPsk(any(ISupplicantStaNetwork.getPskCallback.class)); + } + + /** + * Tests the saving/loading of WifiConfiguration to wpa_supplicant with raw psk. + */ + @Test + public void testPskNetworkWifiConfigurationSaveLoad() throws Exception { + WifiConfiguration config = WifiConfigurationTestUtil.createPskNetwork(); + config.preSharedKey = "945ef00c463c2a7c2496376b13263d1531366b46377179a4b17b393687450779"; + testWifiConfigurationSaveLoad(config); + verify(mISupplicantStaNetworkMock).setPsk(any(byte[].class)); + verify(mISupplicantStaNetworkMock) + .getPsk(any(ISupplicantStaNetwork.getPskCallback.class)); + verify(mISupplicantStaNetworkMock, never()).setPskPassphrase(anyString()); + verify(mISupplicantStaNetworkMock) + .getPskPassphrase(any(ISupplicantStaNetwork.getPskPassphraseCallback.class)); } /** @@ -824,7 +848,7 @@ public class SupplicantStaNetworkHalTest { }).when(mISupplicantStaNetworkMock) .getRequirePmf(any(ISupplicantStaNetwork.getRequirePmfCallback.class)); - /** PSK pass phrase*/ + /** PSK passphrase */ doAnswer(new AnswerWithArguments() { public SupplicantStatus answer(String pskPassphrase) throws RemoteException { mSupplicantVariables.pskPassphrase = pskPassphrase; @@ -839,6 +863,21 @@ public class SupplicantStaNetworkHalTest { }).when(mISupplicantStaNetworkMock) .getPskPassphrase(any(ISupplicantStaNetwork.getPskPassphraseCallback.class)); + /** PSK */ + doAnswer(new AnswerWithArguments() { + public SupplicantStatus answer(byte[] psk) throws RemoteException { + mSupplicantVariables.psk = psk; + return mStatusSuccess; + } + }).when(mISupplicantStaNetworkMock).setPsk(any(byte[].class)); + doAnswer(new AnswerWithArguments() { + public void answer(ISupplicantStaNetwork.getPskCallback cb) + throws RemoteException { + cb.onValues(mStatusSuccess, mSupplicantVariables.psk); + } + }).when(mISupplicantStaNetworkMock) + .getPsk(any(ISupplicantStaNetwork.getPskCallback.class)); + /** WEP keys **/ doAnswer(new AnswerWithArguments() { public SupplicantStatus answer(int keyIdx, ArrayList<Byte> key) throws RemoteException { @@ -1234,6 +1273,7 @@ public class SupplicantStaNetworkHalTest { public String idStr; public int updateIdentifier; public String pskPassphrase; + public byte[] psk; public ArrayList<Byte>[] wepKey = new ArrayList[4]; public int wepTxKeyIdx; public int eapMethod = -1; diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationTestUtil.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationTestUtil.java index dba4d2f00..6b411dad5 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationTestUtil.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationTestUtil.java @@ -61,7 +61,7 @@ public class WifiConfigurationTestUtil { public static final int TEST_NETWORK_ID = -1; public static final int TEST_UID = 5; public static final String TEST_SSID = "WifiConfigurationTestUtilSSID"; - public static final String TEST_PSK = "WifiConfigurationTestUtilPsk"; + public static final String TEST_PSK = "\"WifiConfigurationTestUtilPsk\""; public static final String[] TEST_WEP_KEYS = {"\"WifiConfigurationTestUtilWep1\"", "\"WifiConfigurationTestUtilWep2\"", "45342312ab", "45342312ab45342312ab34ac12"}; |