Loading tests/net/common/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ java_library { name: "FrameworksNetCommonTests", srcs: ["java/**/*.java", "java/**/*.kt"], static_libs: [ "androidx.core_core", "androidx.test.rules", "junit", "mockito-target-minus-junit4", Loading tests/net/common/java/android/net/LinkPropertiesTest.java +71 −30 Original line number Diff line number Diff line Loading @@ -29,12 +29,19 @@ import static org.junit.Assert.fail; import android.net.LinkProperties.ProvisioningChange; import android.net.util.LinkPropertiesUtils.CompareResult; import android.os.Build; import android.system.OsConstants; import android.util.ArraySet; import androidx.core.os.BuildCompat; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRule.IgnoreAfter; import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -50,6 +57,9 @@ import java.util.Set; @RunWith(AndroidJUnit4.class) @SmallTest public class LinkPropertiesTest { @Rule public final DevSdkIgnoreRule ignoreRule = new DevSdkIgnoreRule(); private static final InetAddress ADDRV4 = address("75.208.6.1"); private static final InetAddress ADDRV6 = address("2001:0db8:85a3:0000:0000:8a2e:0370:7334"); private static final InetAddress DNS1 = address("75.208.7.1"); Loading @@ -76,13 +86,23 @@ public class LinkPropertiesTest { private static final LinkAddress LINKADDRV6 = new LinkAddress(ADDRV6, 128); private static final LinkAddress LINKADDRV6LINKLOCAL = new LinkAddress("fe80::1/64"); private static final Uri CAPPORT_API_URL = Uri.parse("https://test.example.com/capportapi"); private static final CaptivePortalData CAPPORT_DATA = new CaptivePortalData.Builder() // CaptivePortalData cannot be in a constant as it does not exist on Q. // The test runner also crashes when scanning for tests if it is a return type. private static Object getCaptivePortalData() { return new CaptivePortalData.Builder() .setVenueInfoUrl(Uri.parse("https://test.example.com/venue")).build(); } private static InetAddress address(String addrString) { return InetAddresses.parseNumericAddress(addrString); } private static boolean isAtLeastR() { // BuildCompat.isAtLeastR is documented to return false on release SDKs (including R) return Build.VERSION.SDK_INT > Build.VERSION_CODES.Q || BuildCompat.isAtLeastR(); } private void checkEmpty(final LinkProperties lp) { assertEquals(0, lp.getAllInterfaceNames().size()); assertEquals(0, lp.getAllAddresses().size()); Loading @@ -98,15 +118,18 @@ public class LinkPropertiesTest { assertNull(lp.getHttpProxy()); assertNull(lp.getTcpBufferSizes()); assertNull(lp.getNat64Prefix()); assertNull(lp.getDhcpServerAddress()); assertFalse(lp.isProvisioned()); assertFalse(lp.isIpv4Provisioned()); assertFalse(lp.isIpv6Provisioned()); assertFalse(lp.isPrivateDnsActive()); if (isAtLeastR()) { assertNull(lp.getDhcpServerAddress()); assertFalse(lp.isWakeOnLanSupported()); assertNull(lp.getCaptivePortalApiUrl()); assertNull(lp.getCaptivePortalData()); } } private LinkProperties makeTestObject() { final LinkProperties lp = new LinkProperties(); Loading @@ -127,10 +150,12 @@ public class LinkPropertiesTest { lp.setMtu(MTU); lp.setTcpBufferSizes(TCP_BUFFER_SIZES); lp.setNat64Prefix(new IpPrefix("2001:db8:0:64::/96")); if (isAtLeastR()) { lp.setDhcpServerAddress(DHCPSERVER); lp.setWakeOnLanSupported(true); lp.setCaptivePortalApiUrl(CAPPORT_API_URL); lp.setCaptivePortalData(CAPPORT_DATA); lp.setCaptivePortalData((CaptivePortalData) getCaptivePortalData()); } return lp; } Loading Loading @@ -169,6 +194,10 @@ public class LinkPropertiesTest { assertTrue(source.isIdenticalTcpBufferSizes(target)); assertTrue(target.isIdenticalTcpBufferSizes(source)); if (isAtLeastR()) { assertTrue(source.isIdenticalDhcpServerAddress(target)); assertTrue(source.isIdenticalDhcpServerAddress(source)); assertTrue(source.isIdenticalWakeOnLan(target)); assertTrue(target.isIdenticalWakeOnLan(source)); Loading @@ -177,6 +206,7 @@ public class LinkPropertiesTest { assertTrue(source.isIdenticalCaptivePortalData(target)); assertTrue(target.isIdenticalCaptivePortalData(source)); } // Check result of equals(). assertTrue(source.equals(target)); Loading Loading @@ -943,8 +973,7 @@ public class LinkPropertiesTest { assertEquals(new ArraySet<>(expectRemoved), (new ArraySet<>(result.removed))); } @Test public void testLinkPropertiesParcelable() throws Exception { private static LinkProperties makeLinkPropertiesForParceling() { LinkProperties source = new LinkProperties(); source.setInterfaceName(NAME); Loading Loading @@ -978,16 +1007,27 @@ public class LinkPropertiesTest { source.setNat64Prefix(new IpPrefix("2001:db8:1:2:64:64::/96")); source.setWakeOnLanSupported(true); source.setCaptivePortalApiUrl(CAPPORT_API_URL); source.setCaptivePortalData(CAPPORT_DATA); source.setDhcpServerAddress((Inet4Address) GATEWAY1); final LinkProperties stacked = new LinkProperties(); stacked.setInterfaceName("test-stacked"); source.addStackedLink(stacked); return source; } @Test @IgnoreAfter(Build.VERSION_CODES.Q) public void testLinkPropertiesParcelable_Q() throws Exception { final LinkProperties source = makeLinkPropertiesForParceling(); assertParcelSane(source, 14 /* fieldCount */); } @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testLinkPropertiesParcelable() throws Exception { final LinkProperties source = makeLinkPropertiesForParceling(); source.setWakeOnLanSupported(true); source.setCaptivePortalApiUrl(CAPPORT_API_URL); source.setCaptivePortalData((CaptivePortalData) getCaptivePortalData()); source.setDhcpServerAddress((Inet4Address) GATEWAY1); assertParcelSane(source.makeSensitiveFieldsParcelingCopy(), 18 /* fieldCount */); // Verify that without using a sensitiveFieldsParcelingCopy, sensitive fields are cleared. Loading @@ -997,7 +1037,8 @@ public class LinkPropertiesTest { assertEquals(sanitized, parcelingRoundTrip(source)); } @Test // Parceling of the scope was broken until Q-QPR2 @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testLinkLocalDnsServerParceling() throws Exception { final String strAddress = "fe80::1%lo"; final LinkProperties lp = new LinkProperties(); Loading Loading @@ -1120,7 +1161,7 @@ public class LinkPropertiesTest { assertFalse(lp.isPrivateDnsActive()); } @Test @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testDhcpServerAddress() { final LinkProperties lp = makeTestObject(); assertEquals(DHCPSERVER, lp.getDhcpServerAddress()); Loading @@ -1129,7 +1170,7 @@ public class LinkPropertiesTest { assertNull(lp.getDhcpServerAddress()); } @Test @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testWakeOnLanSupported() { final LinkProperties lp = makeTestObject(); assertTrue(lp.isWakeOnLanSupported()); Loading @@ -1138,7 +1179,7 @@ public class LinkPropertiesTest { assertFalse(lp.isWakeOnLanSupported()); } @Test @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testCaptivePortalApiUrl() { final LinkProperties lp = makeTestObject(); assertEquals(CAPPORT_API_URL, lp.getCaptivePortalApiUrl()); Loading @@ -1147,10 +1188,10 @@ public class LinkPropertiesTest { assertNull(lp.getCaptivePortalApiUrl()); } @Test @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testCaptivePortalData() { final LinkProperties lp = makeTestObject(); assertEquals(CAPPORT_DATA, lp.getCaptivePortalData()); assertEquals(getCaptivePortalData(), lp.getCaptivePortalData()); lp.clear(); assertNull(lp.getCaptivePortalData()); Loading Loading
tests/net/common/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ java_library { name: "FrameworksNetCommonTests", srcs: ["java/**/*.java", "java/**/*.kt"], static_libs: [ "androidx.core_core", "androidx.test.rules", "junit", "mockito-target-minus-junit4", Loading
tests/net/common/java/android/net/LinkPropertiesTest.java +71 −30 Original line number Diff line number Diff line Loading @@ -29,12 +29,19 @@ import static org.junit.Assert.fail; import android.net.LinkProperties.ProvisioningChange; import android.net.util.LinkPropertiesUtils.CompareResult; import android.os.Build; import android.system.OsConstants; import android.util.ArraySet; import androidx.core.os.BuildCompat; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRule.IgnoreAfter; import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -50,6 +57,9 @@ import java.util.Set; @RunWith(AndroidJUnit4.class) @SmallTest public class LinkPropertiesTest { @Rule public final DevSdkIgnoreRule ignoreRule = new DevSdkIgnoreRule(); private static final InetAddress ADDRV4 = address("75.208.6.1"); private static final InetAddress ADDRV6 = address("2001:0db8:85a3:0000:0000:8a2e:0370:7334"); private static final InetAddress DNS1 = address("75.208.7.1"); Loading @@ -76,13 +86,23 @@ public class LinkPropertiesTest { private static final LinkAddress LINKADDRV6 = new LinkAddress(ADDRV6, 128); private static final LinkAddress LINKADDRV6LINKLOCAL = new LinkAddress("fe80::1/64"); private static final Uri CAPPORT_API_URL = Uri.parse("https://test.example.com/capportapi"); private static final CaptivePortalData CAPPORT_DATA = new CaptivePortalData.Builder() // CaptivePortalData cannot be in a constant as it does not exist on Q. // The test runner also crashes when scanning for tests if it is a return type. private static Object getCaptivePortalData() { return new CaptivePortalData.Builder() .setVenueInfoUrl(Uri.parse("https://test.example.com/venue")).build(); } private static InetAddress address(String addrString) { return InetAddresses.parseNumericAddress(addrString); } private static boolean isAtLeastR() { // BuildCompat.isAtLeastR is documented to return false on release SDKs (including R) return Build.VERSION.SDK_INT > Build.VERSION_CODES.Q || BuildCompat.isAtLeastR(); } private void checkEmpty(final LinkProperties lp) { assertEquals(0, lp.getAllInterfaceNames().size()); assertEquals(0, lp.getAllAddresses().size()); Loading @@ -98,15 +118,18 @@ public class LinkPropertiesTest { assertNull(lp.getHttpProxy()); assertNull(lp.getTcpBufferSizes()); assertNull(lp.getNat64Prefix()); assertNull(lp.getDhcpServerAddress()); assertFalse(lp.isProvisioned()); assertFalse(lp.isIpv4Provisioned()); assertFalse(lp.isIpv6Provisioned()); assertFalse(lp.isPrivateDnsActive()); if (isAtLeastR()) { assertNull(lp.getDhcpServerAddress()); assertFalse(lp.isWakeOnLanSupported()); assertNull(lp.getCaptivePortalApiUrl()); assertNull(lp.getCaptivePortalData()); } } private LinkProperties makeTestObject() { final LinkProperties lp = new LinkProperties(); Loading @@ -127,10 +150,12 @@ public class LinkPropertiesTest { lp.setMtu(MTU); lp.setTcpBufferSizes(TCP_BUFFER_SIZES); lp.setNat64Prefix(new IpPrefix("2001:db8:0:64::/96")); if (isAtLeastR()) { lp.setDhcpServerAddress(DHCPSERVER); lp.setWakeOnLanSupported(true); lp.setCaptivePortalApiUrl(CAPPORT_API_URL); lp.setCaptivePortalData(CAPPORT_DATA); lp.setCaptivePortalData((CaptivePortalData) getCaptivePortalData()); } return lp; } Loading Loading @@ -169,6 +194,10 @@ public class LinkPropertiesTest { assertTrue(source.isIdenticalTcpBufferSizes(target)); assertTrue(target.isIdenticalTcpBufferSizes(source)); if (isAtLeastR()) { assertTrue(source.isIdenticalDhcpServerAddress(target)); assertTrue(source.isIdenticalDhcpServerAddress(source)); assertTrue(source.isIdenticalWakeOnLan(target)); assertTrue(target.isIdenticalWakeOnLan(source)); Loading @@ -177,6 +206,7 @@ public class LinkPropertiesTest { assertTrue(source.isIdenticalCaptivePortalData(target)); assertTrue(target.isIdenticalCaptivePortalData(source)); } // Check result of equals(). assertTrue(source.equals(target)); Loading Loading @@ -943,8 +973,7 @@ public class LinkPropertiesTest { assertEquals(new ArraySet<>(expectRemoved), (new ArraySet<>(result.removed))); } @Test public void testLinkPropertiesParcelable() throws Exception { private static LinkProperties makeLinkPropertiesForParceling() { LinkProperties source = new LinkProperties(); source.setInterfaceName(NAME); Loading Loading @@ -978,16 +1007,27 @@ public class LinkPropertiesTest { source.setNat64Prefix(new IpPrefix("2001:db8:1:2:64:64::/96")); source.setWakeOnLanSupported(true); source.setCaptivePortalApiUrl(CAPPORT_API_URL); source.setCaptivePortalData(CAPPORT_DATA); source.setDhcpServerAddress((Inet4Address) GATEWAY1); final LinkProperties stacked = new LinkProperties(); stacked.setInterfaceName("test-stacked"); source.addStackedLink(stacked); return source; } @Test @IgnoreAfter(Build.VERSION_CODES.Q) public void testLinkPropertiesParcelable_Q() throws Exception { final LinkProperties source = makeLinkPropertiesForParceling(); assertParcelSane(source, 14 /* fieldCount */); } @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testLinkPropertiesParcelable() throws Exception { final LinkProperties source = makeLinkPropertiesForParceling(); source.setWakeOnLanSupported(true); source.setCaptivePortalApiUrl(CAPPORT_API_URL); source.setCaptivePortalData((CaptivePortalData) getCaptivePortalData()); source.setDhcpServerAddress((Inet4Address) GATEWAY1); assertParcelSane(source.makeSensitiveFieldsParcelingCopy(), 18 /* fieldCount */); // Verify that without using a sensitiveFieldsParcelingCopy, sensitive fields are cleared. Loading @@ -997,7 +1037,8 @@ public class LinkPropertiesTest { assertEquals(sanitized, parcelingRoundTrip(source)); } @Test // Parceling of the scope was broken until Q-QPR2 @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testLinkLocalDnsServerParceling() throws Exception { final String strAddress = "fe80::1%lo"; final LinkProperties lp = new LinkProperties(); Loading Loading @@ -1120,7 +1161,7 @@ public class LinkPropertiesTest { assertFalse(lp.isPrivateDnsActive()); } @Test @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testDhcpServerAddress() { final LinkProperties lp = makeTestObject(); assertEquals(DHCPSERVER, lp.getDhcpServerAddress()); Loading @@ -1129,7 +1170,7 @@ public class LinkPropertiesTest { assertNull(lp.getDhcpServerAddress()); } @Test @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testWakeOnLanSupported() { final LinkProperties lp = makeTestObject(); assertTrue(lp.isWakeOnLanSupported()); Loading @@ -1138,7 +1179,7 @@ public class LinkPropertiesTest { assertFalse(lp.isWakeOnLanSupported()); } @Test @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testCaptivePortalApiUrl() { final LinkProperties lp = makeTestObject(); assertEquals(CAPPORT_API_URL, lp.getCaptivePortalApiUrl()); Loading @@ -1147,10 +1188,10 @@ public class LinkPropertiesTest { assertNull(lp.getCaptivePortalApiUrl()); } @Test @Test @IgnoreUpTo(Build.VERSION_CODES.Q) public void testCaptivePortalData() { final LinkProperties lp = makeTestObject(); assertEquals(CAPPORT_DATA, lp.getCaptivePortalData()); assertEquals(getCaptivePortalData(), lp.getCaptivePortalData()); lp.clear(); assertNull(lp.getCaptivePortalData()); Loading