summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorJames Mattis <jmattis@google.com>2021-12-07 15:47:11 -0800
committerJames Mattis <jmattis@google.com>2021-12-07 16:43:33 -0800
commit6f66d134c8e3a41e4aaaa6c88c0a2df35427f268 (patch)
treed29ae528c6a90e6ab8c75b7dfe36e94b8360ec7a /java
parentd4f2d3fa05bcceb646c63988afc4900858bd0b01 (diff)
downloadethernet-6f66d134c8e3a41e4aaaa6c88c0a2df35427f268.tar.gz
Adding test coverage for eth transport overrides
Added test coverage regarding how EthernetTracker consumes the xml config as set in config_ethernet_interfaces. Additionally, adding test coverage for transport override functionality in EthernetNetworkFactory. Bug: 206170402 Test: atest com.android.server.ethernet.EthernetTrackerTest && atest com.android.server.ethernet.EthernetNetworkFactoryTest Change-Id: I3d55a230d3f28154ed6fdac6d63ed57bf589d3bd
Diffstat (limited to 'java')
-rw-r--r--java/com/android/server/ethernet/EthernetTracker.java40
1 files changed, 30 insertions, 10 deletions
diff --git a/java/com/android/server/ethernet/EthernetTracker.java b/java/com/android/server/ethernet/EthernetTracker.java
index d79c7a9..86aefbc 100644
--- a/java/com/android/server/ethernet/EthernetTracker.java
+++ b/java/com/android/server/ethernet/EthernetTracker.java
@@ -18,6 +18,7 @@ package com.android.server.ethernet;
import static android.net.TestNetworkManager.TEST_TAP_PREFIX;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.net.IEthernetServiceListener;
@@ -453,21 +454,24 @@ final class EthernetTracker {
* <interface name|mac address>;[Network Capabilities];[IP config];[Override Transport]}
*/
private void parseEthernetConfig(String configString) {
- String[] tokens = configString.split(";", /* limit of tokens */ 4);
- String name = tokens[0];
- String capabilities = tokens.length > 1 ? tokens[1] : null;
- String transport = tokens.length > 3 ? tokens[3] : null;
+ final EthernetTrackerConfig config = createEthernetTrackerConfig(configString);
NetworkCapabilities nc = createNetworkCapabilities(
- !TextUtils.isEmpty(capabilities) /* clear default capabilities */, capabilities,
- transport).build();
- mNetworkCapabilities.put(name, nc);
+ !TextUtils.isEmpty(config.mCapabilities) /* clear default capabilities */,
+ config.mCapabilities, config.mTransport).build();
+ mNetworkCapabilities.put(config.mName, nc);
- if (tokens.length > 2 && !TextUtils.isEmpty(tokens[2])) {
- IpConfiguration ipConfig = parseStaticIpConfiguration(tokens[2]);
- mIpConfigurations.put(name, ipConfig);
+ if (null != config.mIpConfig) {
+ IpConfiguration ipConfig = parseStaticIpConfiguration(config.mIpConfig);
+ mIpConfigurations.put(config.mName, ipConfig);
}
}
+ @VisibleForTesting
+ static EthernetTrackerConfig createEthernetTrackerConfig(@NonNull final String configString) {
+ Objects.requireNonNull(configString, "EthernetTrackerConfig requires non-null config");
+ return new EthernetTrackerConfig(configString.split(";", /* limit of tokens */ 4));
+ }
+
private static NetworkCapabilities createDefaultNetworkCapabilities(boolean isTestIface) {
NetworkCapabilities.Builder builder = createNetworkCapabilities(
false /* clear default capabilities */, null, null)
@@ -672,4 +676,20 @@ final class EthernetTracker {
mFactory.dump(fd, pw, args);
});
}
+
+ @VisibleForTesting
+ static class EthernetTrackerConfig {
+ final String mName;
+ final String mCapabilities;
+ final String mIpConfig;
+ final String mTransport;
+
+ EthernetTrackerConfig(@NonNull final String[] tokens) {
+ Objects.requireNonNull(tokens, "EthernetTrackerConfig requires non-null tokens");
+ mName = tokens[0];
+ mCapabilities = tokens.length > 1 ? tokens[1] : null;
+ mIpConfig = tokens.length > 2 && !TextUtils.isEmpty(tokens[2]) ? tokens[2] : null;
+ mTransport = tokens.length > 3 ? tokens[3] : null;
+ }
+ }
}