diff options
Diffstat (limited to 'tests/java/com/android/server/ethernet/EthernetTrackerTest.java')
-rw-r--r-- | tests/java/com/android/server/ethernet/EthernetTrackerTest.java | 178 |
1 files changed, 59 insertions, 119 deletions
diff --git a/tests/java/com/android/server/ethernet/EthernetTrackerTest.java b/tests/java/com/android/server/ethernet/EthernetTrackerTest.java index 67740b6..ee9f349 100644 --- a/tests/java/com/android/server/ethernet/EthernetTrackerTest.java +++ b/tests/java/com/android/server/ethernet/EthernetTrackerTest.java @@ -19,6 +19,7 @@ package com.android.server.ethernet; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; +import android.net.InetAddresses; import android.net.IpConfiguration; import android.net.IpConfiguration.IpAssignment; import android.net.IpConfiguration.ProxySettings; @@ -33,6 +34,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import java.net.InetAddress; +import java.util.ArrayList; @SmallTest @RunWith(AndroidJUnit4.class) @@ -46,28 +48,26 @@ public class EthernetTrackerTest { assertStaticConfiguration(new StaticIpConfiguration(), ""); // Setting only the IP address properly cascades and assumes defaults - assertStaticConfiguration( - new StaticIpConfigBuilder().setIp("192.0.2.10/24").build(), - "ip=192.0.2.10/24"); + assertStaticConfiguration(new StaticIpConfiguration.Builder() + .setIpAddress(new LinkAddress("192.0.2.10/24")).build(), "ip=192.0.2.10/24"); + final ArrayList<InetAddress> dnsAddresses = new ArrayList<>(); + dnsAddresses.add(InetAddresses.parseNumericAddress("4.4.4.4")); + dnsAddresses.add(InetAddresses.parseNumericAddress("8.8.8.8")); // Setting other fields properly cascades them - assertStaticConfiguration( - new StaticIpConfigBuilder() - .setIp("192.0.2.10/24") - .setDns(new String[] {"4.4.4.4", "8.8.8.8"}) - .setGateway("192.0.2.1") - .setDomains("android") - .build(), + assertStaticConfiguration(new StaticIpConfiguration.Builder() + .setIpAddress(new LinkAddress("192.0.2.10/24")) + .setDnsServers(dnsAddresses) + .setGateway(InetAddresses.parseNumericAddress("192.0.2.1")) + .setDomains("android").build(), "ip=192.0.2.10/24 dns=4.4.4.4,8.8.8.8 gateway=192.0.2.1 domains=android"); // Verify order doesn't matter - assertStaticConfiguration( - new StaticIpConfigBuilder() - .setIp("192.0.2.10/24") - .setDns(new String[] {"4.4.4.4", "8.8.8.8"}) - .setGateway("192.0.2.1") - .setDomains("android") - .build(), + assertStaticConfiguration(new StaticIpConfiguration.Builder() + .setIpAddress(new LinkAddress("192.0.2.10/24")) + .setDnsServers(dnsAddresses) + .setGateway(InetAddresses.parseNumericAddress("192.0.2.1")) + .setDomains("android").build(), "domains=android ip=192.0.2.10/24 gateway=192.0.2.1 dns=4.4.4.4,8.8.8.8 "); } @@ -96,41 +96,22 @@ public class EthernetTrackerTest { private void assertStaticConfiguration(StaticIpConfiguration expectedStaticIpConfig, String configAsString) { - IpConfiguration expectedIpConfiguration = new IpConfiguration(IpAssignment.STATIC, - ProxySettings.NONE, expectedStaticIpConfig, null); + final IpConfiguration expectedIpConfiguration = new IpConfiguration(); + expectedIpConfiguration.setIpAssignment(IpAssignment.STATIC); + expectedIpConfiguration.setProxySettings(ProxySettings.NONE); + expectedIpConfiguration.setStaticIpConfiguration(expectedStaticIpConfig); assertEquals(expectedIpConfiguration, EthernetTracker.parseStaticIpConfiguration(configAsString)); } - private static class StaticIpConfigBuilder { - private final StaticIpConfiguration config = new StaticIpConfiguration(); - - StaticIpConfigBuilder setIp(String address) { - config.ipAddress = new LinkAddress(address); - return this; - } - - StaticIpConfigBuilder setDns(String[] dnsArray) { - for (String dns : dnsArray) { - config.dnsServers.add(InetAddress.parseNumericAddress(dns)); - } - return this; - } - - StaticIpConfigBuilder setGateway(String gateway) { - config.gateway = InetAddress.parseNumericAddress(gateway); - return this; - } - - StaticIpConfigBuilder setDomains(String domains) { - config.domains = domains; - return this; - } - - StaticIpConfiguration build() { - return new StaticIpConfiguration(config); - } + private NetworkCapabilities.Builder makeEthernetCapabilitiesBuilder(boolean clearAll) { + final NetworkCapabilities.Builder builder = + clearAll ? NetworkCapabilities.Builder.withoutDefaultCapabilities() + : new NetworkCapabilities.Builder(); + return builder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING) + .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED) + .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED); } /** @@ -140,23 +121,23 @@ public class EthernetTrackerTest { public void createNetworkCapabilities() { // Particularly common expected results - NetworkCapabilities defaultEthernetCleared = new NetworkCapabilitiesBuilder() - .clearAll() - .setLinkUpstreamBandwidthKbps(100000) - .setLinkDownstreamBandwidthKbps(100000) - .addTransport(NetworkCapabilities.TRANSPORT_ETHERNET) - .build(); + NetworkCapabilities defaultEthernetCleared = + makeEthernetCapabilitiesBuilder(true /* clearAll */) + .setLinkUpstreamBandwidthKbps(100000) + .setLinkDownstreamBandwidthKbps(100000) + .addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET) + .build(); - NetworkCapabilities ethernetClearedWithCommonCaps = new NetworkCapabilitiesBuilder() - .clearAll() - .setLinkUpstreamBandwidthKbps(100000) - .setLinkDownstreamBandwidthKbps(100000) - .addTransport(NetworkCapabilities.TRANSPORT_ETHERNET) - .addCapability(12) - .addCapability(13) - .addCapability(14) - .addCapability(15) - .build(); + NetworkCapabilities ethernetClearedWithCommonCaps = + makeEthernetCapabilitiesBuilder(true /* clearAll */) + .setLinkUpstreamBandwidthKbps(100000) + .setLinkDownstreamBandwidthKbps(100000) + .addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET) + .addCapability(12) + .addCapability(13) + .addCapability(14) + .addCapability(15) + .build(); // Empty capabilities and transports lists with a "please clear defaults" should // yield an empty capabilities set with TRANPORT_ETHERNET @@ -165,20 +146,20 @@ public class EthernetTrackerTest { // Empty capabilities and transports without the clear defaults flag should return the // default capabilities set with TRANSPORT_ETHERNET assertParsedNetworkCapabilities( - new NetworkCapabilitiesBuilder() + makeEthernetCapabilitiesBuilder(false /* clearAll */) .setLinkUpstreamBandwidthKbps(100000) .setLinkDownstreamBandwidthKbps(100000) - .addTransport(NetworkCapabilities.TRANSPORT_ETHERNET) + .addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET) .build(), false, "", ""); // A list of capabilities without the clear defaults flag should return the default // capabilities, mixed with the desired capabilities, and TRANSPORT_ETHERNET assertParsedNetworkCapabilities( - new NetworkCapabilitiesBuilder() + makeEthernetCapabilitiesBuilder(false /* clearAll */) .setLinkUpstreamBandwidthKbps(100000) .setLinkDownstreamBandwidthKbps(100000) - .addTransport(NetworkCapabilities.TRANSPORT_ETHERNET) + .addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET) .addCapability(11) .addCapability(12) .build(), @@ -195,35 +176,31 @@ public class EthernetTrackerTest { // Adding a valid override transport will remove the default TRANSPORT_ETHERNET transport // and apply only the override to the capabiltities object assertParsedNetworkCapabilities( - new NetworkCapabilitiesBuilder() - .clearAll() + makeEthernetCapabilitiesBuilder(true /* clearAll */) .setLinkUpstreamBandwidthKbps(100000) .setLinkDownstreamBandwidthKbps(100000) - .addTransport(0) + .addTransportType(0) .build(), true, "", "0"); assertParsedNetworkCapabilities( - new NetworkCapabilitiesBuilder() - .clearAll() + makeEthernetCapabilitiesBuilder(true /* clearAll */) .setLinkUpstreamBandwidthKbps(100000) .setLinkDownstreamBandwidthKbps(100000) - .addTransport(1) + .addTransportType(1) .build(), true, "", "1"); assertParsedNetworkCapabilities( - new NetworkCapabilitiesBuilder() - .clearAll() + makeEthernetCapabilitiesBuilder(true /* clearAll */) .setLinkUpstreamBandwidthKbps(100000) .setLinkDownstreamBandwidthKbps(100000) - .addTransport(2) + .addTransportType(2) .build(), true, "", "2"); assertParsedNetworkCapabilities( - new NetworkCapabilitiesBuilder() - .clearAll() + makeEthernetCapabilitiesBuilder(true /* clearAll */) .setLinkUpstreamBandwidthKbps(100000) .setLinkDownstreamBandwidthKbps(100000) - .addTransport(3) + .addTransportType(3) .build(), true, "", "3"); @@ -244,15 +221,14 @@ public class EthernetTrackerTest { // Ensure the adding of both capabilities and transports work assertParsedNetworkCapabilities( - new NetworkCapabilitiesBuilder() - .clearAll() + makeEthernetCapabilitiesBuilder(true /* clearAll */) .setLinkUpstreamBandwidthKbps(100000) .setLinkDownstreamBandwidthKbps(100000) .addCapability(12) .addCapability(13) .addCapability(14) .addCapability(15) - .addTransport(3) + .addTransportType(3) .build(), true, "12,13,14,15", "3"); @@ -264,42 +240,6 @@ public class EthernetTrackerTest { boolean clearCapabilties, String configCapabiltiies,String configTransports) { assertEquals(expectedNetworkCapabilities, EthernetTracker.createNetworkCapabilities(clearCapabilties, configCapabiltiies, - configTransports)); - } - - private static class NetworkCapabilitiesBuilder { - private final NetworkCapabilities nc = new NetworkCapabilities(); - - NetworkCapabilitiesBuilder clearAll(){ - // This is THE ONLY one that doesn't return a reference to the object so I wrapped - // everything in a builder to keep things consistent and clean above. Fix if this - // ever changes - nc.clearAll(); - return this; - } - - NetworkCapabilitiesBuilder addCapability(int capability) { - nc.addCapability(capability); - return this; - } - - NetworkCapabilitiesBuilder addTransport(int transport) { - nc.addTransportType(transport); - return this; - } - - NetworkCapabilitiesBuilder setLinkUpstreamBandwidthKbps(int upKbps) { - nc.setLinkUpstreamBandwidthKbps(upKbps); - return this; - } - - NetworkCapabilitiesBuilder setLinkDownstreamBandwidthKbps(int downKbps) { - nc.setLinkDownstreamBandwidthKbps(downKbps); - return this; - } - - NetworkCapabilities build() { - return new NetworkCapabilities(nc); - } + configTransports).build()); } } |