diff options
author | Roshan Pius <rpius@google.com> | 2016-09-16 22:45:03 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-09-16 22:45:03 +0000 |
commit | 0c6c35f0b98e4de3947f396654dec139cf32de35 (patch) | |
tree | 0a5c0f3a8340c395ef05ddfcf8f8e7f94797a1f8 /tests | |
parent | 76879eb60d08d8e0af014f863839a78855e7928b (diff) | |
parent | 5c96fb2af01e2db3060aab970891355fa63542fd (diff) |
WifiConfigManager: Handle duplicate network adds
am: 5c96fb2af0
Change-Id: Ica0eb068bc03d7780a61a7ebfe15096912b1cdc3
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java | 76 |
1 files changed, 75 insertions, 1 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java index e6132c166..d8e657547 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java @@ -19,7 +19,6 @@ package com.android.server.wifi; import static org.junit.Assert.*; import static org.mockito.Mockito.*; -import android.app.Application; import android.app.test.MockAnswerUtil.AnswerWithArguments; import android.content.Context; import android.content.Intent; @@ -2093,6 +2092,81 @@ public class WifiConfigManagerTest { assertEquals(network2.SSID, hiddenNetworks.get(1).ssid); } + /** + * Verifies the addition of network configurations using + * {@link WifiConfigManager#addOrUpdateNetwork(WifiConfiguration, int)} with same SSID and + * default key mgmt does not add duplicate network configs. + */ + @Test + public void testAddMultipleNetworksWithSameSSIDAndDefaultKeyMgmt() { + final String ssid = "test_blah"; + // Add a network with the above SSID and default key mgmt and ensure it was added + // successfully. + WifiConfiguration network1 = new WifiConfiguration(); + network1.SSID = ssid; + NetworkUpdateResult result = addNetworkToWifiConfigManager(network1); + assertTrue(result.getNetworkId() != WifiConfiguration.INVALID_NETWORK_ID); + assertTrue(result.isNewNetwork()); + + List<WifiConfiguration> retrievedNetworks = + mWifiConfigManager.getConfiguredNetworksWithPasswords(); + assertEquals(1, retrievedNetworks.size()); + WifiConfigurationTestUtil.assertConfigurationEqualForConfigManagerAddOrUpdate( + network1, retrievedNetworks.get(0)); + + // Now add a second network with the same SSID and default key mgmt and ensure that it + // didn't add a new duplicate network. + WifiConfiguration network2 = new WifiConfiguration(); + network2.SSID = ssid; + result = addNetworkToWifiConfigManager(network2); + assertTrue(result.getNetworkId() != WifiConfiguration.INVALID_NETWORK_ID); + assertFalse(result.isNewNetwork()); + + retrievedNetworks = mWifiConfigManager.getConfiguredNetworksWithPasswords(); + assertEquals(1, retrievedNetworks.size()); + WifiConfigurationTestUtil.assertConfigurationEqualForConfigManagerAddOrUpdate( + network2, retrievedNetworks.get(0)); + } + + /** + * Verifies the addition of network configurations using + * {@link WifiConfigManager#addOrUpdateNetwork(WifiConfiguration, int)} with same SSID and + * different key mgmt should add different network configs. + */ + @Test + public void testAddMultipleNetworksWithSameSSIDAndDifferentKeyMgmt() { + final String ssid = "test_blah"; + // Add a network with the above SSID and WPA_PSK key mgmt and ensure it was added + // successfully. + WifiConfiguration network1 = new WifiConfiguration(); + network1.SSID = ssid; + network1.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); + NetworkUpdateResult result = addNetworkToWifiConfigManager(network1); + assertTrue(result.getNetworkId() != WifiConfiguration.INVALID_NETWORK_ID); + assertTrue(result.isNewNetwork()); + + List<WifiConfiguration> retrievedNetworks = + mWifiConfigManager.getConfiguredNetworksWithPasswords(); + assertEquals(1, retrievedNetworks.size()); + WifiConfigurationTestUtil.assertConfigurationEqualForConfigManagerAddOrUpdate( + network1, retrievedNetworks.get(0)); + + // Now add a second network with the same SSID and NONE key mgmt and ensure that it + // does add a new network. + WifiConfiguration network2 = new WifiConfiguration(); + network2.SSID = ssid; + network2.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); + result = addNetworkToWifiConfigManager(network2); + assertTrue(result.getNetworkId() != WifiConfiguration.INVALID_NETWORK_ID); + assertTrue(result.isNewNetwork()); + + retrievedNetworks = mWifiConfigManager.getConfiguredNetworksWithPasswords(); + assertEquals(2, retrievedNetworks.size()); + List<WifiConfiguration> networks = Arrays.asList(network1, network2); + WifiConfigurationTestUtil.assertConfigurationsEqualForConfigManagerAddOrUpdate( + networks, retrievedNetworks); + } + private void createWifiConfigManager() { mWifiConfigManager = new WifiConfigManager( |