summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2020-01-27 11:53:11 -0800
committerRoshan Pius <rpius@google.com>2020-01-28 07:55:59 -0800
commit35c8911b2c3e54273482c637f1ab121fe62b4045 (patch)
tree49a97eb1ed1adbd69cac29bad477f696ab17d448 /tests
parent4d29fca592d2960ecd44f61d3e62c2d7c3611696 (diff)
WifiConfigStore: Use the OEM migration hook
For OEM devices upgrading to wifi mainline module, we use the OEM migration hook to allow the OEM's to parse their XML files and return WifiConfiguration/SoftApConfiguration object representing the user's data on disk. Bug: 142394776 Test: atest com.android.server.wifi Change-Id: I6f2f9275755d6ca25328328dba1f5fb94c1ca5f3
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java23
-rw-r--r--tests/wifitests/src/com/android/server/wifi/SoftApStoreDataTest.java62
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java8
3 files changed, 77 insertions, 16 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java b/tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java
index 3c5cd8a88..0aa19bc80 100644
--- a/tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java
@@ -252,13 +252,16 @@ public class NetworkListStoreDataTest extends WifiBaseTest {
private NetworkListSharedStoreData mNetworkListSharedStoreData;
@Mock private Context mContext;
@Mock private PackageManager mPackageManager;
+ @Mock WifiOemConfigStoreMigrationDataHolder mWifiOemConfigStoreMigrationDataHolder;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
when(mContext.getPackageManager()).thenReturn(mPackageManager);
when(mPackageManager.getNameForUid(anyInt())).thenReturn(TEST_CREATOR_NAME);
- mNetworkListSharedStoreData = new NetworkListSharedStoreData(mContext);
+ when(mWifiOemConfigStoreMigrationDataHolder.loadUserSavedNetworks()).thenReturn(null);
+ mNetworkListSharedStoreData =
+ new NetworkListSharedStoreData(mContext, mWifiOemConfigStoreMigrationDataHolder);
}
/**
@@ -394,7 +397,8 @@ public class NetworkListStoreDataTest extends WifiBaseTest {
assertEquals(WifiConfigStore.STORE_FILE_SHARED_GENERAL,
mNetworkListSharedStoreData.getStoreFileId());
assertEquals(WifiConfigStore.STORE_FILE_USER_GENERAL,
- new NetworkListUserStoreData(mContext).getStoreFileId());
+ new NetworkListUserStoreData(mContext, mWifiOemConfigStoreMigrationDataHolder)
+ .getStoreFileId());
}
/**
@@ -682,4 +686,19 @@ public class NetworkListStoreDataTest extends WifiBaseTest {
assertFalse(retrievedNetworkList.get(0).allowedAuthAlgorithms
.get(WifiConfiguration.AuthAlgorithm.OPEN));
}
+
+ /**
+ * Verify that the shared configurations deserialized correctly from OEM migration hook.
+ */
+ @Test
+ public void deserializeSharedConfigurationsFromOemConfigStoreMigration() throws Exception {
+ List<WifiConfiguration> oemUserSavedNetworks = getTestNetworksConfig(true /* shared */);
+ when(mWifiOemConfigStoreMigrationDataHolder.loadUserSavedNetworks())
+ .thenReturn(oemUserSavedNetworks);
+
+ // File contents are ignored.
+ List<WifiConfiguration> parsedNetworks = deserializeData("".getBytes());
+ WifiConfigurationTestUtil.assertConfigurationsEqualForConfigStore(
+ oemUserSavedNetworks, parsedNetworks);
+ }
}
diff --git a/tests/wifitests/src/com/android/server/wifi/SoftApStoreDataTest.java b/tests/wifitests/src/com/android/server/wifi/SoftApStoreDataTest.java
index df89eacdb..76331c76b 100644
--- a/tests/wifitests/src/com/android/server/wifi/SoftApStoreDataTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/SoftApStoreDataTest.java
@@ -107,12 +107,13 @@ public class SoftApStoreDataTest extends WifiBaseTest {
+ "</AllowedClientList>\n";
@Mock SoftApStoreData.DataSource mDataSource;
+ @Mock WifiOemConfigStoreMigrationDataHolder mWifiOemConfigStoreMigrationDataHolder;
SoftApStoreData mSoftApStoreData;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
- mSoftApStoreData = new SoftApStoreData(mDataSource);
+ mSoftApStoreData = new SoftApStoreData(mDataSource, mWifiOemConfigStoreMigrationDataHolder);
TEST_BLOCKEDLIST.add(MacAddress.fromString(TEST_BLOCKED_CLIENT));
TEST_ALLOWEDLIST.add(MacAddress.fromString(TEST_ALLOWED_CLIENT));
}
@@ -141,6 +142,20 @@ public class SoftApStoreDataTest extends WifiBaseTest {
return outputStream.toByteArray();
}
+ private SoftApConfiguration createDefaultTestSoftApConfiguration() {
+ SoftApConfiguration.Builder softApConfigBuilder = new SoftApConfiguration.Builder();
+ softApConfigBuilder.setSsid(TEST_SSID);
+ softApConfigBuilder.setPassphrase(TEST_PASSPHRASE,
+ SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
+ softApConfigBuilder.setBand(TEST_BAND);
+ softApConfigBuilder.enableClientControlByUser(TEST_CLIENT_CONTROL_BY_USER);
+ softApConfigBuilder.setMaxNumberOfClients(TEST_MAX_NUMBER_OF_CLIENTS);
+ softApConfigBuilder.setShutdownTimeoutMillis(TEST_SHUTDOWN_TIMEOUT_MILLIS);
+ softApConfigBuilder.setClientList(TEST_BLOCKEDLIST, TEST_ALLOWEDLIST);
+ return softApConfigBuilder.build();
+ }
+
+
/**
* Helper function for parsing configuration data from a XML block.
*
@@ -187,17 +202,8 @@ public class SoftApStoreDataTest extends WifiBaseTest {
*/
@Test
public void serializeSoftAp() throws Exception {
- SoftApConfiguration.Builder softApConfigBuilder = new SoftApConfiguration.Builder();
- softApConfigBuilder.setSsid(TEST_SSID);
- softApConfigBuilder.setPassphrase(TEST_PASSPHRASE,
- SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
- softApConfigBuilder.setBand(TEST_BAND);
- softApConfigBuilder.enableClientControlByUser(TEST_CLIENT_CONTROL_BY_USER);
- softApConfigBuilder.setMaxNumberOfClients(TEST_MAX_NUMBER_OF_CLIENTS);
- softApConfigBuilder.setShutdownTimeoutMillis(TEST_SHUTDOWN_TIMEOUT_MILLIS);
- softApConfigBuilder.setClientList(TEST_BLOCKEDLIST, TEST_ALLOWEDLIST);
-
- when(mDataSource.toSerialize()).thenReturn(softApConfigBuilder.build());
+ SoftApConfiguration softApConfig = createDefaultTestSoftApConfiguration();
+ when(mDataSource.toSerialize()).thenReturn(softApConfig);
byte[] actualData = serializeData();
assertEquals(TEST_SOFTAP_CONFIG_XML_STRING_WITH_ALL_CONFIG, new String(actualData));
}
@@ -381,4 +387,36 @@ public class SoftApStoreDataTest extends WifiBaseTest {
assertEquals(softApConfig.getBand(), softApConfigDeserialized.getBand());
assertEquals(softApConfig.getChannel(), softApConfigDeserialized.getChannel());
}
+
+ /**
+ * Verify that the store data is deserialized correctly from OEM migration hook.
+ *
+ * @throws Exception
+ */
+ @Test
+ public void deserializeSoftApFromOemConfigStoreMigration() throws Exception {
+ SoftApConfiguration oemSoftApConfig = createDefaultTestSoftApConfiguration();
+ when(mWifiOemConfigStoreMigrationDataHolder.loadUserSoftApConfiguration())
+ .thenReturn(oemSoftApConfig);
+
+ // File contents are ignored.
+ deserializeData("".getBytes());
+
+ ArgumentCaptor<SoftApConfiguration> softapConfigCaptor =
+ ArgumentCaptor.forClass(SoftApConfiguration.class);
+ verify(mDataSource).fromDeserialized(softapConfigCaptor.capture());
+ SoftApConfiguration softApConfig = softapConfigCaptor.getValue();
+ assertNotNull(softApConfig);
+ assertEquals(softApConfig.getSsid(), TEST_SSID);
+ assertEquals(softApConfig.getPassphrase(), TEST_PASSPHRASE);
+ assertEquals(softApConfig.getSecurityType(), SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
+ assertEquals(softApConfig.isHiddenSsid(), TEST_HIDDEN);
+ assertEquals(softApConfig.getBand(), TEST_BAND);
+ assertEquals(softApConfig.isClientControlByUserEnabled(), TEST_CLIENT_CONTROL_BY_USER);
+ assertEquals(softApConfig.getMaxNumberOfClients(), TEST_MAX_NUMBER_OF_CLIENTS);
+ assertEquals(softApConfig.getShutdownTimeoutMillis(), TEST_SHUTDOWN_TIMEOUT_MILLIS);
+ assertEquals(softApConfig.getBlockedClientList(), TEST_BLOCKEDLIST);
+ assertEquals(softApConfig.getAllowedClientList(), TEST_ALLOWEDLIST);
+ }
+
}
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java
index fea3eb2a4..082a42fbd 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigStoreTest.java
@@ -157,6 +157,7 @@ public class WifiConfigStoreTest extends WifiBaseTest {
@Mock private Clock mClock;
@Mock private WifiMetrics mWifiMetrics;
@Mock private WifiConfigStoreEncryptionUtil mEncryptionUtil;
+ @Mock WifiOemConfigStoreMigrationDataHolder mWifiOemConfigStoreMigrationDataHolder;
private MockStoreFile mSharedStore;
private MockStoreFile mUserStore;
private MockStoreFile mUserNetworkSuggestionsStore;
@@ -184,6 +185,7 @@ public class WifiConfigStoreTest extends WifiBaseTest {
.thenReturn(new EncryptedData(new byte[0], new byte[0]));
when(mEncryptionUtil.decrypt(any(EncryptedData.class)))
.thenReturn(new byte[0]);
+ when(mWifiOemConfigStoreMigrationDataHolder.loadUserSavedNetworks()).thenReturn(null);
mSharedStore = new MockStoreFile(WifiConfigStore.STORE_FILE_SHARED_GENERAL);
mUserStore = new MockStoreFile(WifiConfigStore.STORE_FILE_USER_GENERAL);
mUserNetworkSuggestionsStore =
@@ -504,7 +506,8 @@ public class WifiConfigStoreTest extends WifiBaseTest {
@Test
public void testReadWifiConfigStoreData() throws Exception {
// Setup network list.
- NetworkListStoreData networkList = new NetworkListUserStoreData(mContext);
+ NetworkListStoreData networkList =
+ new NetworkListUserStoreData(mContext, mWifiOemConfigStoreMigrationDataHolder);
mWifiConfigStore.registerStoreData(networkList);
WifiConfiguration openNetwork = WifiConfigurationTestUtil.createOpenNetwork();
openNetwork.creatorName = TEST_CREATOR_NAME;
@@ -540,7 +543,8 @@ public class WifiConfigStoreTest extends WifiBaseTest {
mWifiConfigStore.switchUserStoresAndRead(mUserStores);
// Setup network list store data.
- NetworkListStoreData networkList = new NetworkListUserStoreData(mContext);
+ NetworkListStoreData networkList =
+ new NetworkListUserStoreData(mContext, mWifiOemConfigStoreMigrationDataHolder);
mWifiConfigStore.registerStoreData(networkList);
WifiConfiguration openNetwork = WifiConfigurationTestUtil.createOpenNetwork();
openNetwork.creatorName = TEST_CREATOR_NAME;