summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2016-09-16 22:45:03 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-09-16 22:45:03 +0000
commit0c6c35f0b98e4de3947f396654dec139cf32de35 (patch)
tree0a5c0f3a8340c395ef05ddfcf8f8e7f94797a1f8 /tests
parent76879eb60d08d8e0af014f863839a78855e7928b (diff)
parent5c96fb2af01e2db3060aab970891355fa63542fd (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.java76
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(