diff options
17 files changed, 400 insertions, 222 deletions
diff --git a/tests/net/java/android/net/IpSecManagerTest.java b/tests/net/java/android/net/IpSecManagerTest.java index 9f31d27508b2..ccb0f3b07d0f 100644 --- a/tests/net/java/android/net/IpSecManagerTest.java +++ b/tests/net/java/android/net/IpSecManagerTest.java @@ -31,19 +31,21 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.support.test.filters.SmallTest; +import android.support.test.runner.AndroidJUnit4; import android.system.Os; -import android.test.AndroidTestCase; + import com.android.server.IpSecService; + import java.net.InetAddress; import java.net.UnknownHostException; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; /** Unit tests for {@link IpSecManager}. */ @SmallTest -@RunWith(JUnit4.class) +@RunWith(AndroidJUnit4.class) public class IpSecManagerTest { private static final int TEST_UDP_ENCAP_PORT = 34567; diff --git a/tests/net/java/android/net/NetworkStatsTest.java b/tests/net/java/android/net/NetworkStatsTest.java index eb85eb445cbc..25289ba92e24 100644 --- a/tests/net/java/android/net/NetworkStatsTest.java +++ b/tests/net/java/android/net/NetworkStatsTest.java @@ -30,23 +30,30 @@ import static android.net.NetworkStats.SET_ALL; import static android.net.NetworkStats.IFACE_ALL; import static android.net.NetworkStats.TAG_NONE; import static android.net.NetworkStats.UID_ALL; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; -import android.test.suitebuilder.annotation.SmallTest; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; import com.google.android.collect.Sets; -import junit.framework.TestCase; - import java.util.HashSet; +import org.junit.runner.RunWith; +import org.junit.Test; + +@RunWith(AndroidJUnit4.class) @SmallTest -public class NetworkStatsTest extends TestCase { +public class NetworkStatsTest { private static final String TEST_IFACE = "test0"; private static final String TEST_IFACE2 = "test2"; private static final int TEST_UID = 1001; private static final long TEST_START = 1194220800000L; + @Test public void testFindIndex() throws Exception { final NetworkStats stats = new NetworkStats(TEST_START, 5) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO, 1024L, @@ -74,6 +81,7 @@ public class NetworkStatsTest extends TestCase { ROAMING_NO)); } + @Test public void testFindIndexHinted() { final NetworkStats stats = new NetworkStats(TEST_START, 3) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO, 1024L, @@ -116,6 +124,7 @@ public class NetworkStatsTest extends TestCase { } } + @Test public void testAddEntryGrow() throws Exception { final NetworkStats stats = new NetworkStats(TEST_START, 4); @@ -168,6 +177,7 @@ public class NetworkStatsTest extends TestCase { ROAMING_YES, 7L, 70L, 5L, 50L, 11); } + @Test public void testCombineExisting() throws Exception { final NetworkStats stats = new NetworkStats(TEST_START, 10); @@ -190,6 +200,7 @@ public class NetworkStatsTest extends TestCase { 256L, 2L, 256L, 2L, 6); } + @Test public void testSubtractIdenticalData() throws Exception { final NetworkStats before = new NetworkStats(TEST_START, 2) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 1024L, 8L, 0L, 0L, 11) @@ -208,6 +219,7 @@ public class NetworkStatsTest extends TestCase { 0L, 0L, 0L, 0); } + @Test public void testSubtractIdenticalRows() throws Exception { final NetworkStats before = new NetworkStats(TEST_START, 2) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 1024L, 8L, 0L, 0L, 11) @@ -226,6 +238,7 @@ public class NetworkStatsTest extends TestCase { 1L, 4L, 1L, 8); } + @Test public void testSubtractNewRows() throws Exception { final NetworkStats before = new NetworkStats(TEST_START, 2) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 1024L, 8L, 0L, 0L, 11) @@ -247,6 +260,7 @@ public class NetworkStatsTest extends TestCase { 1024L, 8L, 1024L, 8L, 20); } + @Test public void testSubtractMissingRows() throws Exception { final NetworkStats before = new NetworkStats(TEST_START, 2) .addValues(TEST_IFACE, UID_ALL, SET_DEFAULT, TAG_NONE, 1024L, 0L, 0L, 0L, 0) @@ -264,6 +278,7 @@ public class NetworkStatsTest extends TestCase { assertEquals(4L, result.getTotalBytes()); } + @Test public void testTotalBytes() throws Exception { final NetworkStats iface = new NetworkStats(TEST_START, 2) .addValues(TEST_IFACE, UID_ALL, SET_DEFAULT, TAG_NONE, 128L, 0L, 0L, 0L, 0L) @@ -304,6 +319,7 @@ public class NetworkStatsTest extends TestCase { assertEquals(96L, uidRoaming.getTotalBytes()); } + @Test public void testGroupedByIfaceEmpty() throws Exception { final NetworkStats uidStats = new NetworkStats(TEST_START, 3); final NetworkStats grouped = uidStats.groupedByIface(); @@ -312,6 +328,7 @@ public class NetworkStatsTest extends TestCase { assertEquals(0, grouped.size()); } + @Test public void testGroupedByIfaceAll() throws Exception { final NetworkStats uidStats = new NetworkStats(TEST_START, 3) .addValues(IFACE_ALL, 100, SET_ALL, TAG_NONE, METERED_NO, ROAMING_NO, 128L, 8L, 0L, @@ -329,6 +346,7 @@ public class NetworkStatsTest extends TestCase { 384L, 24L, 0L, 6L, 0L); } + @Test public void testGroupedByIface() throws Exception { final NetworkStats uidStats = new NetworkStats(TEST_START, 7) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO, 128L, 8L, @@ -357,6 +375,7 @@ public class NetworkStatsTest extends TestCase { 1024L, 64L, 0L, 0L, 0L); } + @Test public void testAddAllValues() { final NetworkStats first = new NetworkStats(TEST_START, 5) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, METERED_YES, ROAMING_NO, 32L, 0L, @@ -387,6 +406,7 @@ public class NetworkStatsTest extends TestCase { 32L, 0L, 0L, 0L, 0L); } + @Test public void testGetTotal() { final NetworkStats stats = new NetworkStats(TEST_START, 7) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO, 128L, 8L, @@ -415,6 +435,7 @@ public class NetworkStatsTest extends TestCase { assertValues(stats.getTotal(null, ifaces), 1024L, 64L, 0L, 0L, 0L); } + @Test public void testWithoutUid() throws Exception { final NetworkStats before = new NetworkStats(TEST_START, 3) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 128L, 8L, 0L, 2L, 20L) @@ -433,6 +454,7 @@ public class NetworkStatsTest extends TestCase { 8L, 0L, 0L, 0L); } + @Test public void testClone() throws Exception { final NetworkStats original = new NetworkStats(TEST_START, 5) .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 128L, 8L, 0L, 2L, 20L) @@ -449,6 +471,7 @@ public class NetworkStatsTest extends TestCase { assertEquals(128L + 512L, clone.getTotalBytes()); } + @Test public void testAddWhenEmpty() throws Exception { final NetworkStats red = new NetworkStats(TEST_START, -1); final NetworkStats blue = new NetworkStats(TEST_START, 5) @@ -459,6 +482,7 @@ public class NetworkStatsTest extends TestCase { red.combineAllValues(blue); } + @Test public void testMigrateTun() throws Exception { final int tunUid = 10030; final String tunIface = "tun0"; @@ -556,6 +580,7 @@ public class NetworkStatsTest extends TestCase { // interface by the vpn app before it's sent out of the underlying interface. The VPN app should // not be charged for the echoed data but it should still be charged for any extra data it sends // via the underlying interface. + @Test public void testMigrateTun_VpnAsLoopback() { final int tunUid = 10030; final String tunIface = "tun0"; diff --git a/tests/net/java/android/net/UidRangeTest.java b/tests/net/java/android/net/UidRangeTest.java index 0a56e1be6cae..1d1013e79219 100644 --- a/tests/net/java/android/net/UidRangeTest.java +++ b/tests/net/java/android/net/UidRangeTest.java @@ -16,14 +16,20 @@ package android.net; -import android.os.Parcel; -import android.test.suitebuilder.annotation.SmallTest; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; -import junit.framework.TestCase; +import android.os.Parcel; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; -import static org.junit.Assert.assertArrayEquals; +import org.junit.runner.RunWith; +import org.junit.Test; -public class UidRangeTest extends TestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class UidRangeTest { static { System.loadLibrary("frameworksnettestsjni"); @@ -33,7 +39,7 @@ public class UidRangeTest extends TestCase { private static native int getStart(byte[] inParcel); private static native int getStop(byte[] inParcel); - @SmallTest + @Test public void testNativeParcelUnparcel() { UidRange original = new UidRange(1234, Integer.MAX_VALUE); @@ -45,7 +51,7 @@ public class UidRangeTest extends TestCase { assertArrayEquals(inParcel, outParcel); } - @SmallTest + @Test public void testIndividualNativeFields() { UidRange original = new UidRange(0x11115678, 0x22224321); byte[] originalBytes = marshall(original); @@ -54,14 +60,14 @@ public class UidRangeTest extends TestCase { assertEquals(original.stop, getStop(originalBytes)); } - @SmallTest + @Test public void testSingleItemUidRangeAllowed() { new UidRange(123, 123); new UidRange(0, 0); new UidRange(Integer.MAX_VALUE, Integer.MAX_VALUE); } - @SmallTest + @Test public void testNegativeUidsDisallowed() { try { new UidRange(-2, 100); @@ -76,7 +82,7 @@ public class UidRangeTest extends TestCase { } } - @SmallTest + @Test public void testStopLessThanStartDisallowed() { final int x = 4195000; try { diff --git a/tests/net/java/android/net/apf/ApfTest.java b/tests/net/java/android/net/apf/ApfTest.java index 5008a4188905..99a2ad942003 100644 --- a/tests/net/java/android/net/apf/ApfTest.java +++ b/tests/net/java/android/net/apf/ApfTest.java @@ -16,6 +16,16 @@ package android.net.apf; +import static android.system.OsConstants.*; +import static com.android.internal.util.BitUtils.bytesToBEInt; +import static com.android.internal.util.BitUtils.put; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.atLeastOnce; +import static org.mockito.Mockito.verify; + import android.net.LinkAddress; import android.net.LinkProperties; import android.net.NetworkUtils; @@ -30,23 +40,22 @@ import android.net.metrics.RaEvent; import android.os.ConditionVariable; import android.os.Parcelable; import android.os.SystemClock; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; import android.system.ErrnoException; import android.system.Os; -import android.test.AndroidTestCase; import android.text.format.DateUtils; -import android.test.suitebuilder.annotation.SmallTest; -import static android.system.OsConstants.*; import com.android.frameworks.tests.net.R; import com.android.internal.util.HexDump; -import static com.android.internal.util.BitUtils.bytesToBEInt; -import static com.android.internal.util.BitUtils.put; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import static org.mockito.Mockito.atLeastOnce; -import static org.mockito.Mockito.verify; import java.io.File; import java.io.FileDescriptor; @@ -69,14 +78,15 @@ import libcore.io.Streams; * Build, install and run with: * runtest frameworks-net -c android.net.apf.ApfTest */ -public class ApfTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class ApfTest { private static final int TIMEOUT_MS = 500; @Mock IpConnectivityLog mLog; - @Override + @Before public void setUp() throws Exception { - super.setUp(); MockitoAnnotations.initMocks(this); // Load up native shared library containing APF interpreter exposed via JNI. System.loadLibrary("frameworksnettestsjni"); @@ -161,7 +171,7 @@ public class ApfTest extends AndroidTestCase { * generating bytecode for that program and running it through the * interpreter to verify it functions correctly. */ - @SmallTest + @Test public void testApfInstructions() throws IllegalInstructionException { // Empty program should pass because having the program counter reach the // location immediately after the program indicates the packet should be @@ -569,7 +579,7 @@ public class ApfTest extends AndroidTestCase { * Generate some BPF programs, translate them to APF, then run APF and BPF programs * over packet traces and verify both programs filter out the same packets. */ - @SmallTest + @Test public void testApfAgainstBpf() throws Exception { String[] tcpdump_filters = new String[]{ "udp", "tcp", "icmp", "icmp6", "udp port 53", "arp", "dst 239.255.255.250", "arp or tcp or udp port 53", "net 192.168.1.0/24", @@ -739,7 +749,7 @@ public class ApfTest extends AndroidTestCase { private static final byte[] ANOTHER_IPV4_ADDR = {10, 0, 0, 2}; private static final byte[] IPV4_ANY_HOST_ADDR = {0, 0, 0, 0}; - @SmallTest + @Test public void testApfFilterIPv4() throws Exception { MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback(); LinkAddress link = new LinkAddress(InetAddress.getByAddress(MOCK_IPV4_ADDR), 19); @@ -796,7 +806,7 @@ public class ApfTest extends AndroidTestCase { apfFilter.shutdown(); } - @SmallTest + @Test public void testApfFilterIPv6() throws Exception { final int[] ethTypeBlackList = {}; MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback(); @@ -830,7 +840,7 @@ public class ApfTest extends AndroidTestCase { apfFilter.shutdown(); } - @SmallTest + @Test public void testApfFilterMulticast() throws Exception { final byte[] unicastIpv4Addr = {(byte)192,0,2,63}; final byte[] broadcastIpv4Addr = {(byte)192,0,2,(byte)255}; @@ -922,7 +932,7 @@ public class ApfTest extends AndroidTestCase { apfFilter.shutdown(); } - @SmallTest + @Test public void testApfFilter802_3() throws Exception { MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback(); LinkAddress link = new LinkAddress(InetAddress.getByAddress(MOCK_IPV4_ADDR), 19); @@ -973,7 +983,7 @@ public class ApfTest extends AndroidTestCase { apfFilter.shutdown(); } - @SmallTest + @Test public void testApfFilterEthTypeBL() throws Exception { MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback(); LinkAddress link = new LinkAddress(InetAddress.getByAddress(MOCK_IPV4_ADDR), 19); @@ -1058,7 +1068,7 @@ public class ApfTest extends AndroidTestCase { assertDrop(program, garpReply()); } - @SmallTest + @Test public void testApfFilterArp() throws Exception { final int[] ethTypeBlackList = {}; MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback(); @@ -1136,7 +1146,7 @@ public class ApfTest extends AndroidTestCase { // Test that when ApfFilter is shown the given packet, it generates a program to filter it // for the given lifetime. - private void testRaLifetime(TestApfFilter apfFilter, MockIpManagerCallback ipManagerCallback, + private void verifyRaLifetime(TestApfFilter apfFilter, MockIpManagerCallback ipManagerCallback, ByteBuffer packet, int lifetime) throws IOException, ErrnoException { // Verify new program generated if ApfFilter witnesses RA ipManagerCallback.resetApfProgramWait(); @@ -1181,7 +1191,7 @@ public class ApfTest extends AndroidTestCase { ipManagerCallback.assertNoProgramUpdate(); } - @SmallTest + @Test public void testApfFilterRa() throws Exception { MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback(); final int[] ethTypeBlackList = {}; @@ -1212,7 +1222,7 @@ public class ApfTest extends AndroidTestCase { basePacket.put(IPV6_ALL_NODES_ADDRESS); assertPass(program, basePacket.array()); - testRaLifetime(apfFilter, ipManagerCallback, basePacket, ROUTER_LIFETIME); + verifyRaLifetime(apfFilter, ipManagerCallback, basePacket, ROUTER_LIFETIME); verifyRaEvent(new RaEvent(ROUTER_LIFETIME, -1, -1, -1, -1, -1)); ByteBuffer newFlowLabelPacket = ByteBuffer.wrap(new byte[ICMP6_RA_OPTION_OFFSET]); @@ -1247,7 +1257,8 @@ public class ApfTest extends AndroidTestCase { prefixOptionPacket.putInt( ICMP6_RA_OPTION_OFFSET + ICMP6_PREFIX_OPTION_VALID_LIFETIME_OFFSET, PREFIX_VALID_LIFETIME); - testRaLifetime(apfFilter, ipManagerCallback, prefixOptionPacket, PREFIX_PREFERRED_LIFETIME); + verifyRaLifetime( + apfFilter, ipManagerCallback, prefixOptionPacket, PREFIX_PREFERRED_LIFETIME); verifyRaEvent(new RaEvent( ROUTER_LIFETIME, PREFIX_VALID_LIFETIME, PREFIX_PREFERRED_LIFETIME, -1, -1, -1)); @@ -1259,7 +1270,7 @@ public class ApfTest extends AndroidTestCase { rdnssOptionPacket.put((byte)(ICMP6_4_BYTE_OPTION_LEN / 8)); rdnssOptionPacket.putInt( ICMP6_RA_OPTION_OFFSET + ICMP6_4_BYTE_LIFETIME_OFFSET, RDNSS_LIFETIME); - testRaLifetime(apfFilter, ipManagerCallback, rdnssOptionPacket, RDNSS_LIFETIME); + verifyRaLifetime(apfFilter, ipManagerCallback, rdnssOptionPacket, RDNSS_LIFETIME); verifyRaEvent(new RaEvent(ROUTER_LIFETIME, -1, -1, -1, RDNSS_LIFETIME, -1)); ByteBuffer routeInfoOptionPacket = ByteBuffer.wrap( @@ -1270,7 +1281,7 @@ public class ApfTest extends AndroidTestCase { routeInfoOptionPacket.put((byte)(ICMP6_4_BYTE_OPTION_LEN / 8)); routeInfoOptionPacket.putInt( ICMP6_RA_OPTION_OFFSET + ICMP6_4_BYTE_LIFETIME_OFFSET, ROUTE_LIFETIME); - testRaLifetime(apfFilter, ipManagerCallback, routeInfoOptionPacket, ROUTE_LIFETIME); + verifyRaLifetime(apfFilter, ipManagerCallback, routeInfoOptionPacket, ROUTE_LIFETIME); verifyRaEvent(new RaEvent(ROUTER_LIFETIME, -1, -1, ROUTE_LIFETIME, -1, -1)); ByteBuffer dnsslOptionPacket = ByteBuffer.wrap( @@ -1281,7 +1292,7 @@ public class ApfTest extends AndroidTestCase { dnsslOptionPacket.put((byte)(ICMP6_4_BYTE_OPTION_LEN / 8)); dnsslOptionPacket.putInt( ICMP6_RA_OPTION_OFFSET + ICMP6_4_BYTE_LIFETIME_OFFSET, DNSSL_LIFETIME); - testRaLifetime(apfFilter, ipManagerCallback, dnsslOptionPacket, ROUTER_LIFETIME); + verifyRaLifetime(apfFilter, ipManagerCallback, dnsslOptionPacket, ROUTER_LIFETIME); verifyRaEvent(new RaEvent(ROUTER_LIFETIME, -1, -1, -1, -1, DNSSL_LIFETIME)); // Verify that current program filters all five RAs: @@ -1301,12 +1312,12 @@ public class ApfTest extends AndroidTestCase { * copy that resource into the app's data directory and return the path to it. */ private String stageFile(int rawId) throws Exception { - File file = new File(getContext().getFilesDir(), "staged_file"); + File file = new File(InstrumentationRegistry.getContext().getFilesDir(), "staged_file"); new File(file.getParent()).mkdirs(); InputStream in = null; OutputStream out = null; try { - in = getContext().getResources().openRawResource(rawId); + in = InstrumentationRegistry.getContext().getResources().openRawResource(rawId); out = new FileOutputStream(file); Streams.copy(in, out); } finally { @@ -1323,7 +1334,7 @@ public class ApfTest extends AndroidTestCase { buffer.position(original); } - @SmallTest + @Test public void testRaParsing() throws Exception { final int maxRandomPacketSize = 512; final Random r = new Random(); @@ -1343,7 +1354,7 @@ public class ApfTest extends AndroidTestCase { } } - @SmallTest + @Test public void testRaProcessing() throws Exception { final int maxRandomPacketSize = 512; final Random r = new Random(); @@ -1383,7 +1394,7 @@ public class ApfTest extends AndroidTestCase { private native static boolean compareBpfApf(String filter, String pcap_filename, byte[] apf_program); - @SmallTest + @Test public void testBroadcastAddress() throws Exception { assertEqualsIp("255.255.255.255", ApfFilter.ipv4BroadcastAddress(IPV4_ANY_HOST_ADDR, 0)); assertEqualsIp("0.0.0.0", ApfFilter.ipv4BroadcastAddress(IPV4_ANY_HOST_ADDR, 32)); diff --git a/tests/net/java/android/net/dhcp/DhcpPacketTest.java b/tests/net/java/android/net/dhcp/DhcpPacketTest.java index d79c312a9edd..050183c1ac1f 100644 --- a/tests/net/java/android/net/dhcp/DhcpPacketTest.java +++ b/tests/net/java/android/net/dhcp/DhcpPacketTest.java @@ -16,23 +16,36 @@ package android.net.dhcp; +import static android.net.dhcp.DhcpPacket.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import android.net.DhcpResults; import android.net.LinkAddress; import android.net.NetworkUtils; import android.net.metrics.DhcpErrorEvent; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; import android.system.OsConstants; -import android.test.suitebuilder.annotation.SmallTest; + import com.android.internal.util.HexDump; + import java.net.Inet4Address; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.Random; -import junit.framework.TestCase; -import static android.net.dhcp.DhcpPacket.*; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; -public class DhcpPacketTest extends TestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class DhcpPacketTest { private static Inet4Address SERVER_ADDR = v4Address("192.0.2.1"); private static Inet4Address CLIENT_ADDR = v4Address("192.0.2.234"); @@ -46,6 +59,7 @@ public class DhcpPacketTest extends TestCase { return (Inet4Address) NetworkUtils.numericToInetAddress(addrString); } + @Before public void setUp() { DhcpPacket.testOverrideVendorId = "android-dhcp-???"; DhcpPacket.testOverrideHostname = "android-01234567890abcde"; @@ -131,7 +145,7 @@ public class DhcpPacketTest extends TestCase { assertEquals(expectedVendorInfo, offerPacket.mVendorInfo); } - @SmallTest + @Test public void testDomainName() throws Exception { byte[] nullByte = new byte[] { 0x00 }; byte[] twoNullBytes = new byte[] { 0x00, 0x00 }; @@ -186,7 +200,7 @@ public class DhcpPacketTest extends TestCase { assertEquals(leaseTimeMillis, offerPacket.getLeaseTimeMillis()); } - @SmallTest + @Test public void testLeaseTime() throws Exception { byte[] noLease = null; byte[] tooShortLease = new byte[] { 0x00, 0x00 }; @@ -234,7 +248,7 @@ public class DhcpPacketTest extends TestCase { } } - @SmallTest + @Test public void testIpAddress() throws Exception { byte[] slash11Netmask = new byte[] { (byte) 0xff, (byte) 0xe0, 0x00, 0x00 }; byte[] slash24Netmask = new byte[] { (byte) 0xff, (byte) 0xff, (byte) 0xff, 0x00 }; @@ -278,11 +292,11 @@ public class DhcpPacketTest extends TestCase { assertEquals(mtu, dhcpResults.mtu); } - @SmallTest + @Test public void testOffer1() throws Exception { - // TODO: Turn all of these into golden files. This will probably require modifying - // Android.mk appropriately, making this into an AndroidTestCase, and adding code to read - // the golden files from the test APK's assets via mContext.getAssets(). + // TODO: Turn all of these into golden files. This will probably require using + // android.support.test.InstrumentationRegistry for obtaining a Context object + // to read such golden files, along with an appropriate Android.mk. final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // IP header. "451001480000000080118849c0a89003c0a89ff7" + @@ -311,7 +325,7 @@ public class DhcpPacketTest extends TestCase { null, "192.168.144.3", null, 7200, false, 0, dhcpResults); } - @SmallTest + @Test public void testOffer2() throws Exception { final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // IP header. @@ -343,7 +357,7 @@ public class DhcpPacketTest extends TestCase { assertTrue(dhcpResults.hasMeteredHint()); } - @SmallTest + @Test public void testBadIpPacket() throws Exception { final byte[] packet = HexDump.hexStringToByteArray( // IP header. @@ -358,7 +372,7 @@ public class DhcpPacketTest extends TestCase { fail("Dhcp packet parsing should have failed"); } - @SmallTest + @Test public void testBadDhcpPacket() throws Exception { final byte[] packet = HexDump.hexStringToByteArray( // IP header. @@ -377,7 +391,7 @@ public class DhcpPacketTest extends TestCase { fail("Dhcp packet parsing should have failed"); } - @SmallTest + @Test public void testBadTruncatedOffer() throws Exception { final byte[] packet = HexDump.hexStringToByteArray( // IP header. @@ -406,7 +420,7 @@ public class DhcpPacketTest extends TestCase { fail("Dhcp packet parsing should have failed"); } - @SmallTest + @Test public void testBadOfferWithoutACookie() throws Exception { final byte[] packet = HexDump.hexStringToByteArray( // IP header. @@ -437,7 +451,7 @@ public class DhcpPacketTest extends TestCase { fail("Dhcp packet parsing should have failed"); } - @SmallTest + @Test public void testOfferWithBadCookie() throws Exception { final byte[] packet = HexDump.hexStringToByteArray( // IP header. @@ -473,7 +487,7 @@ public class DhcpPacketTest extends TestCase { assertEquals(Integer.toHexString(expected), Integer.toHexString(got)); } - @SmallTest + @Test public void testTruncatedOfferPackets() throws Exception { final byte[] packet = HexDump.hexStringToByteArray( // IP header. @@ -507,7 +521,7 @@ public class DhcpPacketTest extends TestCase { } } - @SmallTest + @Test public void testRandomPackets() throws Exception { final int maxRandomPacketSize = 512; final Random r = new Random(); @@ -547,7 +561,7 @@ public class DhcpPacketTest extends TestCase { null, "192.168.144.3", null, 7200, false, expectedMtu, dhcpResults); } - @SmallTest + @Test public void testMtu() throws Exception { final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // IP header. @@ -583,7 +597,7 @@ public class DhcpPacketTest extends TestCase { checkMtu(packet, 0, mtuBytes(-1)); } - @SmallTest + @Test public void testBadHwaddrLength() throws Exception { final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // IP header. @@ -652,7 +666,7 @@ public class DhcpPacketTest extends TestCase { assertEquals(expectedClientMac, HexDump.toHexString(offerPacket.getClientMac())); } - @SmallTest + @Test public void testPadAndOverloadedOptionsOffer() throws Exception { // A packet observed in the real world that is interesting for two reasons: // @@ -691,7 +705,7 @@ public class DhcpPacketTest extends TestCase { null, "1.1.1.1", null, 43200, false, 0, dhcpResults); } - @SmallTest + @Test public void testBug2111() throws Exception { final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // IP header. @@ -721,7 +735,7 @@ public class DhcpPacketTest extends TestCase { "domain123.co.uk", "192.0.2.254", null, 49094, false, 0, dhcpResults); } - @SmallTest + @Test public void testBug2136() throws Exception { final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // Ethernet header. @@ -754,7 +768,7 @@ public class DhcpPacketTest extends TestCase { "lancs.ac.uk", "10.32.255.128", null, 7200, false, 0, dhcpResults); } - @SmallTest + @Test public void testUdpServerAnySourcePort() throws Exception { final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // Ethernet header. @@ -789,7 +803,7 @@ public class DhcpPacketTest extends TestCase { "wvm.edu", "10.1.105.252", null, 86400, false, 0, dhcpResults); } - @SmallTest + @Test public void testUdpInvalidDstPort() throws Exception { final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // Ethernet header. @@ -821,7 +835,7 @@ public class DhcpPacketTest extends TestCase { } catch (ParseException expected) {} } - @SmallTest + @Test public void testMultipleRouters() throws Exception { final ByteBuffer packet = ByteBuffer.wrap(HexDump.hexStringToByteArray( // Ethernet header. @@ -854,7 +868,7 @@ public class DhcpPacketTest extends TestCase { null, "192.171.189.2", null, 28800, false, 0, dhcpResults); } - @SmallTest + @Test public void testDiscoverPacket() throws Exception { short secs = 7; int transactionId = 0xdeadbeef; diff --git a/tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java b/tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java index 5deba27d80dc..6647760f2ea9 100644 --- a/tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java +++ b/tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java @@ -19,20 +19,30 @@ package android.net.netlink; import static android.net.netlink.StructNlMsgHdr.NLM_F_REQUEST; import static android.net.netlink.StructNlMsgHdr.NLM_F_ACK; import static android.net.netlink.StructNlMsgHdr.NLM_F_REPLACE; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import android.net.netlink.NetlinkConstants; import android.net.netlink.NetlinkErrorMessage; import android.net.netlink.NetlinkMessage; import android.net.netlink.StructNlMsgErr; -import android.test.suitebuilder.annotation.SmallTest; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; import android.util.Log; + import java.nio.ByteBuffer; import java.nio.ByteOrder; -import junit.framework.TestCase; + +import org.junit.runner.RunWith; +import org.junit.Test; + import libcore.util.HexEncoding; -public class NetlinkErrorMessageTest extends TestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class NetlinkErrorMessageTest { private final String TAG = "NetlinkErrorMessageTest"; // Hexadecimal representation of packet capture. @@ -54,7 +64,7 @@ public class NetlinkErrorMessageTest extends TestCase { public static final byte[] NLM_ERROR_OK = HexEncoding.decode(NLM_ERROR_OK_HEX.toCharArray(), false); - @SmallTest + @Test public void testParseNlmErrorOk() { final ByteBuffer byteBuffer = ByteBuffer.wrap(NLM_ERROR_OK); byteBuffer.order(ByteOrder.LITTLE_ENDIAN); // For testing. diff --git a/tests/net/java/android/net/netlink/NetlinkSocketTest.java b/tests/net/java/android/net/netlink/NetlinkSocketTest.java index 78b3b704e786..bd36bac8d5e2 100644 --- a/tests/net/java/android/net/netlink/NetlinkSocketTest.java +++ b/tests/net/java/android/net/netlink/NetlinkSocketTest.java @@ -16,25 +16,35 @@ package android.net.netlink; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import android.net.netlink.NetlinkSocket; import android.net.netlink.RtNetlinkNeighborMessage; import android.net.netlink.StructNdMsg; import android.net.netlink.StructNlMsgHdr; -import android.test.suitebuilder.annotation.SmallTest; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; import android.system.ErrnoException; import android.system.NetlinkSocketAddress; import android.system.OsConstants; import android.util.Log; + import java.io.InterruptedIOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; -import junit.framework.TestCase; + +import org.junit.runner.RunWith; +import org.junit.Test; -public class NetlinkSocketTest extends TestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class NetlinkSocketTest { private final String TAG = "NetlinkSocketTest"; - @SmallTest + @Test public void testBasicWorkingGetNeighborsQuery() throws Exception { NetlinkSocket s = new NetlinkSocket(OsConstants.NETLINK_ROUTE); assertNotNull(s); @@ -93,7 +103,7 @@ public class NetlinkSocketTest extends TestCase { s.close(); } - @SmallTest + @Test public void testRepeatedCloseCallsAreQuiet() throws Exception { // Create a working NetlinkSocket. NetlinkSocket s = new NetlinkSocket(OsConstants.NETLINK_ROUTE); diff --git a/tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java b/tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java index 029758eb6e5b..c9fd74fcddd9 100644 --- a/tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java +++ b/tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java @@ -16,15 +16,19 @@ package android.net.netlink; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import android.net.netlink.NetlinkConstants; import android.net.netlink.NetlinkMessage; import android.net.netlink.RtNetlinkNeighborMessage; import android.net.netlink.StructNdMsg; import android.net.netlink.StructNlMsgHdr; -import android.test.suitebuilder.annotation.SmallTest; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; import android.system.OsConstants; import android.util.Log; -import libcore.util.HexEncoding; import java.net.Inet4Address; import java.net.InetAddress; @@ -32,10 +36,15 @@ import java.net.UnknownHostException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.Arrays; -import junit.framework.TestCase; +import org.junit.runner.RunWith; +import org.junit.Test; + +import libcore.util.HexEncoding; -public class RtNetlinkNeighborMessageTest extends TestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class RtNetlinkNeighborMessageTest { private final String TAG = "RtNetlinkNeighborMessageTest"; // Hexadecimal representation of packet capture. @@ -136,7 +145,7 @@ public class RtNetlinkNeighborMessageTest extends TestCase { public static final byte[] RTM_GETNEIGH_RESPONSE = HexEncoding.decode(RTM_GETNEIGH_RESPONSE_HEX.replaceAll(" ", "").toCharArray(), false); - @SmallTest + @Test public void testParseRtmDelNeigh() { final ByteBuffer byteBuffer = ByteBuffer.wrap(RTM_DELNEIGH); byteBuffer.order(ByteOrder.LITTLE_ENDIAN); // For testing. @@ -163,7 +172,7 @@ public class RtNetlinkNeighborMessageTest extends TestCase { assertEquals(InetAddress.parseNumericAddress("192.168.159.254"), destination); } - @SmallTest + @Test public void testParseRtmNewNeigh() { final ByteBuffer byteBuffer = ByteBuffer.wrap(RTM_NEWNEIGH); byteBuffer.order(ByteOrder.LITTLE_ENDIAN); // For testing. @@ -190,7 +199,7 @@ public class RtNetlinkNeighborMessageTest extends TestCase { assertEquals(InetAddress.parseNumericAddress("fe80::86c9:b2ff:fe6a:ed4b"), destination); } - @SmallTest + @Test public void testParseRtmGetNeighResponse() { final ByteBuffer byteBuffer = ByteBuffer.wrap(RTM_GETNEIGH_RESPONSE); byteBuffer.order(ByteOrder.LITTLE_ENDIAN); // For testing. @@ -215,7 +224,7 @@ public class RtNetlinkNeighborMessageTest extends TestCase { assertEquals(14, messageCount); } - @SmallTest + @Test public void testCreateRtmNewNeighMessage() { final int seqNo = 2635; final int ifIndex = 14; diff --git a/tests/net/java/android/net/util/BlockingSocketReaderTest.java b/tests/net/java/android/net/util/BlockingSocketReaderTest.java index 1aad4533d3d1..29dfa4c3d1e1 100644 --- a/tests/net/java/android/net/util/BlockingSocketReaderTest.java +++ b/tests/net/java/android/net/util/BlockingSocketReaderTest.java @@ -18,15 +18,19 @@ package android.net.util; import static android.net.util.BlockingSocketReader.DEFAULT_RECV_BUF_SIZE; import static android.system.OsConstants.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import android.os.Handler; import android.os.HandlerThread; +import android.support.test.filters.SmallTest; +import android.support.test.runner.AndroidJUnit4; import android.system.ErrnoException; import android.system.Os; import android.system.StructTimeval; -import libcore.io.IoBridge; - import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.IOException; @@ -41,15 +45,21 @@ import java.util.Arrays; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import junit.framework.TestCase; +import org.junit.runner.RunWith; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import libcore.io.IoBridge; /** * Tests for BlockingSocketReader. * * @hide */ -public class BlockingSocketReaderTest extends TestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class BlockingSocketReaderTest { static final InetAddress LOOPBACK6 = Inet6Address.getLoopbackAddress(); static final StructTimeval TIMEO = StructTimeval.fromMillis(500); @@ -103,7 +113,7 @@ public class BlockingSocketReaderTest extends TestCase { } }; - @Override + @Before public void setUp() { resetLatch(); mLocalSocket = null; @@ -115,7 +125,7 @@ public class BlockingSocketReaderTest extends TestCase { mHandlerThread.start(); } - @Override + @After public void tearDown() throws Exception { if (mReceiver != null) { mHandlerThread.getThreadHandler().post(() -> { mReceiver.stop(); }); @@ -143,6 +153,7 @@ public class BlockingSocketReaderTest extends TestCase { sender.close(); } + @Test public void testBasicWorking() throws Exception { final Handler h = mHandlerThread.getThreadHandler(); mReceiver = new UdpLoopbackReader(h); @@ -186,6 +197,7 @@ public class BlockingSocketReaderTest extends TestCase { public FileDescriptor createFd() { return null; } } + @Test public void testMinimalRecvBufSize() throws Exception { final Handler h = mHandlerThread.getThreadHandler(); diff --git a/tests/net/java/android/net/util/ConnectivityPacketSummaryTest.java b/tests/net/java/android/net/util/ConnectivityPacketSummaryTest.java index dd679bc20090..38d3d74e64cf 100644 --- a/tests/net/java/android/net/util/ConnectivityPacketSummaryTest.java +++ b/tests/net/java/android/net/util/ConnectivityPacketSummaryTest.java @@ -17,18 +17,25 @@ package android.net.util; import static android.net.util.NetworkConstants.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; -import libcore.util.HexEncoding; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; -import junit.framework.TestCase; +import org.junit.runner.RunWith; +import org.junit.Test; +import libcore.util.HexEncoding; /** * Tests for ConnectivityPacketSummary. * * @hide */ -public class ConnectivityPacketSummaryTest extends TestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class ConnectivityPacketSummaryTest { private static final byte[] MYHWADDR = { asByte(0x80), asByte(0x7a), asByte(0xbf), asByte(0x6f), asByte(0x48), asByte(0xf3) }; @@ -39,6 +46,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { return ConnectivityPacketSummary.summarize(MYHWADDR, bytes); } + @Test public void testParseICMPv6DADProbe() { final String packet = // Ethernet @@ -60,6 +68,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertEquals(expected, getSummary(packet)); } + @Test public void testParseICMPv6RS() { final String packet = // Ethernet @@ -81,6 +90,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertEquals(expected, getSummary(packet)); } + @Test public void testParseICMPv6RA() { final String packet = // Ethernet @@ -113,6 +123,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertEquals(expected, getSummary(packet)); } + @Test public void testParseICMPv6NS() { final String packet = // Ethernet @@ -135,6 +146,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertEquals(expected, getSummary(packet)); } + @Test public void testInvalidICMPv6NDLength() { final String packet = // Ethernet @@ -159,6 +171,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertEquals(expected, getSummary(packet)); } + @Test public void testParseICMPv6NA() { final String packet = // Ethernet @@ -179,6 +192,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertEquals(expected, getSummary(packet)); } + @Test public void testParseARPRequest() { final String packet = // Ethernet @@ -197,6 +211,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertEquals(expected, getSummary(packet)); } + @Test public void testParseARPReply() { final String packet = // Ethernet @@ -217,6 +232,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertEquals(expected, getSummary(packet)); } + @Test public void testParseDHCPv4Discover() { final String packet = // Ethernet @@ -262,6 +278,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertTrue(getSummary(packet).startsWith(expectedPrefix)); } + @Test public void testParseDHCPv4Offer() { final String packet = // Ethernet @@ -307,6 +324,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertTrue(getSummary(packet).startsWith(expectedPrefix)); } + @Test public void testParseDHCPv4Request() { final String packet = // Ethernet @@ -354,6 +372,7 @@ public class ConnectivityPacketSummaryTest extends TestCase { assertTrue(getSummary(packet).startsWith(expectedPrefix)); } + @Test public void testParseDHCPv4Ack() { final String packet = // Ethernet diff --git a/tests/net/java/android/net/util/IpUtilsTest.java b/tests/net/java/android/net/util/IpUtilsTest.java index c2d1608c461c..8903bf923fbf 100644 --- a/tests/net/java/android/net/util/IpUtilsTest.java +++ b/tests/net/java/android/net/util/IpUtilsTest.java @@ -16,15 +16,19 @@ package android.net.util; -import android.net.util.IpUtils; -import android.test.suitebuilder.annotation.SmallTest; +import static org.junit.Assert.assertEquals; -import java.nio.ByteBuffer; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; -import junit.framework.TestCase; +import java.nio.ByteBuffer; +import org.junit.runner.RunWith; +import org.junit.Test; -public class IpUtilsTest extends TestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class IpUtilsTest { private static final int IPV4_HEADER_LENGTH = 20; private static final int IPV6_HEADER_LENGTH = 40; @@ -67,7 +71,7 @@ public class IpUtilsTest extends TestCase { // "hello") // print JavaPacketDefinition(str(packet)) - @SmallTest + @Test public void testIpv6TcpChecksum() throws Exception { // packet = (scapy.IPv6(src="2001:db8::1", dst="2001:db8::2", tc=0x80) / // scapy.TCP(sport=12345, dport=7, @@ -115,7 +119,7 @@ public class IpUtilsTest extends TestCase { assertEquals(0, IpUtils.tcpChecksum(packet, 0, IPV6_HEADER_LENGTH, transportLen)); } - @SmallTest + @Test public void testIpv4UdpChecksum() { // packet = (scapy.IP(src="192.0.2.1", dst="192.0.2.2", tos=0x40) / // scapy.UDP(sport=32012, dport=4500) / diff --git a/tests/net/java/com/android/internal/net/NetworkStatsFactoryTest.java b/tests/net/java/com/android/internal/net/NetworkStatsFactoryTest.java index a423c2a55b3d..fb2bd79fed3a 100644 --- a/tests/net/java/com/android/internal/net/NetworkStatsFactoryTest.java +++ b/tests/net/java/com/android/internal/net/NetworkStatsFactoryTest.java @@ -24,12 +24,15 @@ import static android.net.NetworkStats.SET_FOREGROUND; import static android.net.NetworkStats.TAG_NONE; import static android.net.NetworkStats.UID_ALL; import static com.android.server.NetworkManagementSocketTagger.kernelToTag; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; import android.content.res.Resources; import android.net.NetworkStats; import android.net.TrafficStats; +import android.support.test.InstrumentationRegistry; import android.support.test.filters.SmallTest; -import android.test.AndroidTestCase; +import android.support.test.runner.AndroidJUnit4; import com.android.frameworks.tests.net.R; @@ -42,19 +45,23 @@ import java.io.OutputStream; import libcore.io.IoUtils; import libcore.io.Streams; +import org.junit.runner.RunWith; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + /** * Tests for {@link NetworkStatsFactory}. */ +@RunWith(AndroidJUnit4.class) @SmallTest -public class NetworkStatsFactoryTest extends AndroidTestCase { +public class NetworkStatsFactoryTest { private File mTestProc; private NetworkStatsFactory mFactory; - @Override + @Before public void setUp() throws Exception { - super.setUp(); - - mTestProc = new File(getContext().getFilesDir(), "proc"); + mTestProc = new File(InstrumentationRegistry.getContext().getFilesDir(), "proc"); if (mTestProc.exists()) { IoUtils.deleteContents(mTestProc); } @@ -62,17 +69,16 @@ public class NetworkStatsFactoryTest extends AndroidTestCase { mFactory = new NetworkStatsFactory(mTestProc); } - @Override + @After public void tearDown() throws Exception { mFactory = null; if (mTestProc.exists()) { IoUtils.deleteContents(mTestProc); } - - super.tearDown(); } + @Test public void testNetworkStatsDetail() throws Exception { final NetworkStats stats = parseDetailedStats(R.raw.xt_qtaguid_typical); @@ -84,6 +90,7 @@ public class NetworkStatsFactoryTest extends AndroidTestCase { assertStatsEntry(stats, "rmnet2", 10001, SET_DEFAULT, 0x0, 1125899906842624L, 984L); } + @Test public void testKernelTags() throws Exception { assertEquals(0, kernelToTag("0x0000000000000000")); assertEquals(0x32, kernelToTag("0x0000003200000000")); @@ -98,6 +105,7 @@ public class NetworkStatsFactoryTest extends AndroidTestCase { assertEquals(TrafficStats.TAG_SYSTEM_DOWNLOAD, kernelToTag("0xffffff0100000000")); } + @Test public void testNetworkStatsWithSet() throws Exception { final NetworkStats stats = parseDetailedStats(R.raw.xt_qtaguid_typical); assertEquals(70, stats.size()); @@ -106,6 +114,7 @@ public class NetworkStatsFactoryTest extends AndroidTestCase { assertStatsEntry(stats, "rmnet1", 10021, SET_FOREGROUND, 0x30100000, 742L, 3L, 1265L, 3L); } + @Test public void testNetworkStatsSingle() throws Exception { stageFile(R.raw.xt_qtaguid_iface_typical, file("net/xt_qtaguid/iface_stat_all")); @@ -116,6 +125,7 @@ public class NetworkStatsFactoryTest extends AndroidTestCase { assertStatsEntry(stats, "test2", UID_ALL, SET_ALL, TAG_NONE, 1L, 2L, 3L, 4L); } + @Test public void testNetworkStatsXt() throws Exception { stageFile(R.raw.xt_qtaguid_iface_fmt_typical, file("net/xt_qtaguid/iface_stat_fmt")); @@ -127,6 +137,7 @@ public class NetworkStatsFactoryTest extends AndroidTestCase { assertStatsEntry(stats, "rmnet2", UID_ALL, SET_ALL, TAG_NONE, 4968L, 35L, 3081L, 39L); } + @Test public void testDoubleClatAccounting() throws Exception { NetworkStatsFactory.noteStackedIface("v4-wlan0", "wlan0"); @@ -161,6 +172,7 @@ public class NetworkStatsFactoryTest extends AndroidTestCase { NetworkStatsFactory.noteStackedIface("v4-wlan0", null); } + @Test public void testDoubleClatAccounting100MBDownload() throws Exception { // Downloading 100mb from an ipv4 only destination in a foreground activity @@ -197,7 +209,7 @@ public class NetworkStatsFactoryTest extends AndroidTestCase { InputStream in = null; OutputStream out = null; try { - in = getContext().getResources().openRawResource(rawId); + in = InstrumentationRegistry.getContext().getResources().openRawResource(rawId); out = new FileOutputStream(file); Streams.copy(in, out); } finally { @@ -251,5 +263,4 @@ public class NetworkStatsFactoryTest extends AndroidTestCase { assertEquals("unexpected txBytes", txBytes, entry.txBytes); assertEquals("unexpected txPackets", txPackets, entry.txPackets); } - } diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index 335e62405c6c..d9586c2b31c5 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -26,8 +26,13 @@ import static android.net.ConnectivityManager.TYPE_WIFI; import static android.net.ConnectivityManager.getNetworkTypeName; import static android.net.NetworkCapabilities.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.fail; import static com.android.internal.util.TestUtils.waitForIdleHandler; - import static org.mockito.Mockito.anyBoolean; import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.eq; @@ -87,9 +92,10 @@ import android.os.Process; import android.os.SystemClock; import android.os.UserHandle; import android.provider.Settings; -import android.test.AndroidTestCase; +import android.support.test.InstrumentationRegistry; +import android.support.test.filters.SmallTest; +import android.support.test.runner.AndroidJUnit4; import android.test.mock.MockContentResolver; -import android.test.suitebuilder.annotation.SmallTest; import android.text.TextUtils; import android.util.ArraySet; import android.util.Log; @@ -105,7 +111,11 @@ import com.android.server.connectivity.NetworkMonitor.CaptivePortalProbeResult; import com.android.server.net.NetworkPinner; import com.android.server.net.NetworkPolicyManagerInternal; +import org.junit.After; +import org.junit.Before; import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; @@ -123,13 +133,16 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Predicate; + /** * Tests for {@link ConnectivityService}. * * Build, install and run with: * runtest frameworks-net -c com.android.server.ConnectivityServiceTest */ -public class ConnectivityServiceTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class ConnectivityServiceTest { private static final String TAG = "ConnectivityServiceTest"; private static final int TIMEOUT_MS = 500; @@ -141,6 +154,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { private MockNetworkAgent mWiFiNetworkAgent; private MockNetworkAgent mCellNetworkAgent; private MockNetworkAgent mEthernetNetworkAgent; + private Context mContext; // This class exists to test bindProcessToNetwork and getBoundNetworkForProcess. These methods // do not go through ConnectivityService but talk to netd directly, so they don't automatically @@ -242,7 +256,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { waitForIdle(TIMEOUT_MS); } - @SmallTest + @Test public void testWaitForIdle() { final int attempts = 50; // Causes the test to take about 200ms on bullhead-eng. @@ -743,7 +757,8 @@ public class ConnectivityServiceTest extends AndroidTestCase { // Don't overlap test NetIDs with real NetIDs as binding sockets to real networks // can have odd side-effects, like network validations succeeding. - final Network[] networks = ConnectivityManager.from(getContext()).getAllNetworks(); + Context context = InstrumentationRegistry.getContext(); + final Network[] networks = ConnectivityManager.from(context).getAllNetworks(); boolean overlaps = false; for (Network network : networks) { if (netId == network.netId) { @@ -814,9 +829,9 @@ public class ConnectivityServiceTest extends AndroidTestCase { fail("ConditionVariable was blocked for more than " + TIMEOUT_MS + "ms"); } - @Override + @Before public void setUp() throws Exception { - super.setUp(); + mContext = InstrumentationRegistry.getContext(); // InstrumentationTestRunner prepares a looper, but AndroidJUnitRunner does not. // http://b/25897652 . @@ -824,7 +839,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { Looper.prepare(); } - mServiceContext = new MockContext(getContext()); + mServiceContext = new MockContext(InstrumentationRegistry.getContext()); LocalServices.removeServiceForTest(NetworkPolicyManagerInternal.class); LocalServices.addService( NetworkPolicyManagerInternal.class, mock(NetworkPolicyManagerInternal.class)); @@ -835,7 +850,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { mock(IpConnectivityLog.class)); mService.systemReady(); - mCm = new WrappedConnectivityManager(getContext(), mService); + mCm = new WrappedConnectivityManager(InstrumentationRegistry.getContext(), mService); mCm.bindProcessToNetwork(null); // Ensure that the default setting for Captive Portals is used for most tests @@ -843,6 +858,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { setMobileDataAlwaysOn(false); } + @After public void tearDown() throws Exception { setMobileDataAlwaysOn(false); if (mCellNetworkAgent != null) { @@ -857,7 +873,6 @@ public class ConnectivityServiceTest extends AndroidTestCase { mEthernetNetworkAgent.disconnect(); mEthernetNetworkAgent = null; } - super.tearDown(); } private static int transportToLegacyType(int transport) { @@ -931,6 +946,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { return cv; } + @Test public void testNetworkTypes() { // Ensure that our mocks for the networkAttributes config variable work as expected. If they // don't, then tests that depend on CONNECTIVITY_ACTION broadcasts for these network types @@ -946,7 +962,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertTrue(mCm.isNetworkSupported(TYPE_ETHERNET)); } - @SmallTest + @Test public void testLingering() throws Exception { verifyNoNetwork(); mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); @@ -987,7 +1003,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { verifyNoNetwork(); } - @SmallTest + @Test public void testValidatedCellularOutscoresUnvalidatedWiFi() throws Exception { // Test bringing up unvalidated WiFi mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); @@ -1022,7 +1038,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { verifyNoNetwork(); } - @SmallTest + @Test public void testUnvalidatedWifiOutscoresUnvalidatedCellular() throws Exception { // Test bringing up unvalidated cellular. mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); @@ -1048,7 +1064,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { verifyNoNetwork(); } - @SmallTest + @Test public void testUnlingeringDoesNotValidate() throws Exception { // Test bringing up unvalidated WiFi. mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); @@ -1076,7 +1092,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { NET_CAPABILITY_VALIDATED)); } - @SmallTest + @Test public void testCellularOutscoresWeakWifi() throws Exception { // Test bringing up validated cellular. mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); @@ -1102,7 +1118,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { verifyActiveNetwork(TRANSPORT_WIFI); } - @SmallTest + @Test public void testReapingNetwork() throws Exception { // Test bringing up WiFi without NET_CAPABILITY_INTERNET. // Expect it to be torn down immediately because it satisfies no requests. @@ -1135,7 +1151,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { waitFor(cv); } - @SmallTest + @Test public void testCellularFallback() throws Exception { // Test bringing up validated cellular. mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); @@ -1173,7 +1189,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { verifyActiveNetwork(TRANSPORT_WIFI); } - @SmallTest + @Test public void testWiFiFallback() throws Exception { // Test bringing up unvalidated WiFi. mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); @@ -1387,7 +1403,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { } } - @SmallTest + @Test public void testStateChangeNetworkCallbacks() throws Exception { final TestNetworkCallback genericNetworkCallback = new TestNetworkCallback(); final TestNetworkCallback wifiNetworkCallback = new TestNetworkCallback(); @@ -1477,7 +1493,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback); } - @SmallTest + @Test public void testMultipleLingering() { NetworkRequest request = new NetworkRequest.Builder() .clearCapabilities().addCapability(NET_CAPABILITY_NOT_METERED) @@ -1705,7 +1721,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { mCm.unregisterNetworkCallback(trackDefaultCallback); } - @SmallTest + @Test public void testExplicitlySelected() { NetworkRequest request = new NetworkRequest.Builder() .clearCapabilities().addCapability(NET_CAPABILITY_INTERNET) @@ -1872,7 +1888,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { handlerThread.quit(); } - @SmallTest + @Test public void testNetworkFactoryRequests() throws Exception { tryNetworkFactoryRequests(NET_CAPABILITY_MMS); tryNetworkFactoryRequests(NET_CAPABILITY_SUPL); @@ -1892,7 +1908,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { // Skipping VALIDATED and CAPTIVE_PORTAL as they're disallowed. } - @SmallTest + @Test public void testNoMutableNetworkRequests() throws Exception { PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, new Intent("a"), 0); NetworkRequest request1 = new NetworkRequest.Builder() @@ -1909,7 +1925,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertException(() -> { mCm.requestNetwork(request2, pendingIntent); }, expected); } - @SmallTest + @Test public void testMMSonWiFi() throws Exception { // Test bringing up cellular without MMS NetworkRequest gets reaped mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); @@ -1948,7 +1964,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { verifyActiveNetwork(TRANSPORT_WIFI); } - @SmallTest + @Test public void testMMSonCell() throws Exception { // Test bringing up cellular without MMS mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); @@ -1977,7 +1993,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { verifyActiveNetwork(TRANSPORT_CELLULAR); } - @SmallTest + @Test public void testCaptivePortal() { final TestNetworkCallback captivePortalCallback = new TestNetworkCallback(); final NetworkRequest captivePortalRequest = new NetworkRequest.Builder() @@ -2028,7 +2044,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { validatedCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent); } - @SmallTest + @Test public void testCaptivePortalApp() { final TestNetworkCallback captivePortalCallback = new TestNetworkCallback(); final NetworkRequest captivePortalRequest = new NetworkRequest.Builder() @@ -2074,7 +2090,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { mCm.unregisterNetworkCallback(captivePortalCallback); } - @SmallTest + @Test public void testAvoidOrIgnoreCaptivePortals() { final TestNetworkCallback captivePortalCallback = new TestNetworkCallback(); final NetworkRequest captivePortalRequest = new NetworkRequest.Builder() @@ -2119,7 +2135,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { return new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI); } - @SmallTest + @Test public void testNetworkSpecifier() { NetworkRequest rEmpty1 = newWifiRequestBuilder().build(); NetworkRequest rEmpty2 = newWifiRequestBuilder().setNetworkSpecifier((String) null).build(); @@ -2180,7 +2196,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertNoCallbacks(cEmpty1, cEmpty2, cEmpty3, cFoo, cBar); } - @SmallTest + @Test public void testInvalidNetworkSpecifier() { try { NetworkRequest.Builder builder = new NetworkRequest.Builder(); @@ -2241,7 +2257,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { } } - @SmallTest + @Test public void testNetworkSpecifierUidSpoofSecurityException() { class UidAwareNetworkSpecifier extends NetworkSpecifier implements Parcelable { @Override @@ -2275,7 +2291,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { } } - @SmallTest + @Test public void testRegisterDefaultNetworkCallback() throws Exception { final TestNetworkCallback defaultNetworkCallback = new TestNetworkCallback(); mCm.registerDefaultNetworkCallback(defaultNetworkCallback); @@ -2324,7 +2340,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { defaultNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent); } - @SmallTest + @Test public void testAdditionalStateCallbacks() throws Exception { // File a network request for mobile. final TestNetworkCallback cellNetworkCallback = new TestNetworkCallback(); @@ -2385,7 +2401,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { return nc.hasCapability(NET_CAPABILITY_FOREGROUND); } - @SmallTest + @Test public void testBackgroundNetworks() throws Exception { // Create a background request. We can't do this ourselves because ConnectivityService // doesn't have an API for it. So just turn on mobile data always on. @@ -2554,7 +2570,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { return false; } - @SmallTest + @Test public void testMobileDataAlwaysOn() throws Exception { final TestNetworkCallback cellNetworkCallback = new TestNetworkCallback(); final NetworkRequest cellRequest = new NetworkRequest.Builder() @@ -2619,7 +2635,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { handlerThread.quit(); } - @SmallTest + @Test public void testAvoidBadWifiSetting() throws Exception { final ContentResolver cr = mServiceContext.getContentResolver(); final WrappedMultinetworkPolicyTracker tracker = mService.getMultinetworkPolicyTracker(); @@ -2657,7 +2673,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertTrue(tracker.shouldNotifyWifiUnvalidated()); } - @SmallTest + @Test public void testAvoidBadWifi() throws Exception { final ContentResolver cr = mServiceContext.getContentResolver(); final WrappedMultinetworkPolicyTracker tracker = mService.getMultinetworkPolicyTracker(); @@ -2784,7 +2800,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { mCm.unregisterNetworkCallback(defaultCallback); } - @SmallTest + @Test public void testMeteredMultipathPreferenceSetting() throws Exception { final ContentResolver cr = mServiceContext.getContentResolver(); final WrappedMultinetworkPolicyTracker tracker = mService.getMultinetworkPolicyTracker(); @@ -2808,7 +2824,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { * Validate that a satisfied network request does not trigger onUnavailable() once the * time-out period expires. */ - @SmallTest + @Test public void testSatisfiedNetworkRequestDoesNotTriggerOnUnavailable() { NetworkRequest nr = new NetworkRequest.Builder().addTransportType( NetworkCapabilities.TRANSPORT_WIFI).build(); @@ -2828,7 +2844,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { * Validate that a satisfied network request followed by a disconnected (lost) network does * not trigger onUnavailable() once the time-out period expires. */ - @SmallTest + @Test public void testSatisfiedThenLostNetworkRequestDoesNotTriggerOnUnavailable() { NetworkRequest nr = new NetworkRequest.Builder().addTransportType( NetworkCapabilities.TRANSPORT_WIFI).build(); @@ -2852,7 +2868,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { * callback is called when time-out expires. Then validate that if network request is * (somehow) satisfied - the callback isn't called later. */ - @SmallTest + @Test public void testTimedoutNetworkRequest() { NetworkRequest nr = new NetworkRequest.Builder().addTransportType( NetworkCapabilities.TRANSPORT_WIFI).build(); @@ -2873,7 +2889,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { * Validate that when a network request is unregistered (cancelled), no posterior event can * trigger the callback. */ - @SmallTest + @Test public void testNoCallbackAfterUnregisteredNetworkRequest() { NetworkRequest nr = new NetworkRequest.Builder().addTransportType( NetworkCapabilities.TRANSPORT_WIFI).build(); @@ -2981,7 +2997,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { return mWiFiNetworkAgent.getNetwork(); } - @SmallTest + @Test public void testPacketKeepalives() throws Exception { InetAddress myIPv4 = InetAddress.getByName("192.0.2.129"); InetAddress notMyIPv4 = InetAddress.getByName("192.0.2.35"); @@ -3105,7 +3121,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { callback3.expectStopped(); } - @SmallTest + @Test public void testGetCaptivePortalServerUrl() throws Exception { String url = mCm.getCaptivePortalServerUrl(); assertEquals("http://connectivitycheck.gstatic.com/generate_204", url); @@ -3150,7 +3166,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork()); } - @SmallTest + @Test public void testNetworkPinner() { NetworkRequest wifiRequest = new NetworkRequest.Builder() .addTransportType(TRANSPORT_WIFI) @@ -3210,7 +3226,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertPinnedToWifiWithCellDefault(); } - @SmallTest + @Test public void testNetworkCallbackMaximum() { final int MAX_REQUESTS = 100; final int CALLBACKS = 90; @@ -3302,7 +3318,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { } } - @SmallTest + @Test public void testNetworkInfoOfTypeNone() { ConditionVariable broadcastCV = waitForConnectivityBroadcasts(1); @@ -3342,7 +3358,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { } } - @SmallTest + @Test public void testDeprecatedAndUnsupportedOperations() throws Exception { final int TYPE_NONE = ConnectivityManager.TYPE_NONE; assertNull(mCm.getNetworkInfo(TYPE_NONE)); @@ -3363,7 +3379,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertException(() -> { mCm.requestRouteToHostAddress(TYPE_NONE, null); }, unsupported); } - @SmallTest + @Test public void testLinkPropertiesEnsuresDirectlyConnectedRoutes() { final NetworkRequest networkRequest = new NetworkRequest.Builder() .addTransportType(TRANSPORT_WIFI).build(); diff --git a/tests/net/java/com/android/server/IpSecServiceTest.java b/tests/net/java/com/android/server/IpSecServiceTest.java index efc58ccf7346..83ee361aa2e3 100644 --- a/tests/net/java/com/android/server/IpSecServiceTest.java +++ b/tests/net/java/com/android/server/IpSecServiceTest.java @@ -36,6 +36,7 @@ import android.net.IpSecUdpEncapResponse; import android.os.Binder; import android.os.ParcelFileDescriptor; import android.support.test.filters.SmallTest; +import android.support.test.runner.AndroidJUnit4; import android.system.ErrnoException; import android.system.Os; @@ -48,11 +49,10 @@ import java.net.UnknownHostException; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; /** Unit tests for {@link IpSecService}. */ @SmallTest -@RunWith(JUnit4.class) +@RunWith(AndroidJUnit4.class) public class IpSecServiceTest { private static final int DROID_SPI = 0xD1201D; diff --git a/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java b/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java index 77956be66c9e..354cf2f2239e 100644 --- a/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java +++ b/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java @@ -16,6 +16,18 @@ package com.android.server.connectivity; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.anyBoolean; +import static org.mockito.Mockito.anyInt; +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import static org.mockito.Mockito.reset; + import android.app.PendingIntent; import android.content.Context; import android.content.res.Resources; @@ -24,27 +36,24 @@ import android.net.Network; import android.net.NetworkCapabilities; import android.net.NetworkInfo; import android.net.NetworkMisc; -import android.test.suitebuilder.annotation.SmallTest; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; import android.text.format.DateUtils; + import com.android.internal.R; import com.android.server.ConnectivityService; import com.android.server.connectivity.NetworkNotificationManager; import com.android.server.connectivity.NetworkNotificationManager.NotificationType; -import junit.framework.TestCase; + +import org.junit.runner.RunWith; +import org.junit.Before; +import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.anyBoolean; -import static org.mockito.Mockito.anyInt; -import static org.mockito.Mockito.eq; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import static org.mockito.Mockito.reset; - -public class LingerMonitorTest extends TestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class LingerMonitorTest { static final String CELLULAR = "CELLULAR"; static final String WIFI = "WIFI"; @@ -62,6 +71,7 @@ public class LingerMonitorTest extends TestCase { @Mock NetworkNotificationManager mNotifier; @Mock Resources mResources; + @Before public void setUp() { MockitoAnnotations.initMocks(this); when(mCtx.getResources()).thenReturn(mResources); @@ -71,7 +81,7 @@ public class LingerMonitorTest extends TestCase { mMonitor = new TestableLingerMonitor(mCtx, mNotifier, HIGH_DAILY_LIMIT, HIGH_RATE_LIMIT); } - @SmallTest + @Test public void testTransitions() { setNotificationSwitch(transition(WIFI, CELLULAR)); NetworkAgentInfo nai1 = wifiNai(100); @@ -81,7 +91,7 @@ public class LingerMonitorTest extends TestCase { assertFalse(mMonitor.isNotificationEnabled(nai2, nai1)); } - @SmallTest + @Test public void testNotificationOnLinger() { setNotificationSwitch(transition(WIFI, CELLULAR)); setNotificationType(LingerMonitor.NOTIFY_TYPE_NOTIFICATION); @@ -92,7 +102,7 @@ public class LingerMonitorTest extends TestCase { verifyNotification(from, to); } - @SmallTest + @Test public void testToastOnLinger() { setNotificationSwitch(transition(WIFI, CELLULAR)); setNotificationType(LingerMonitor.NOTIFY_TYPE_TOAST); @@ -103,7 +113,7 @@ public class LingerMonitorTest extends TestCase { verifyToast(from, to); } - @SmallTest + @Test public void testNotificationClearedAfterDisconnect() { setNotificationSwitch(transition(WIFI, CELLULAR)); setNotificationType(LingerMonitor.NOTIFY_TYPE_NOTIFICATION); @@ -117,7 +127,7 @@ public class LingerMonitorTest extends TestCase { verify(mNotifier, times(1)).clearNotification(100); } - @SmallTest + @Test public void testNotificationClearedAfterSwitchingBack() { setNotificationSwitch(transition(WIFI, CELLULAR)); setNotificationType(LingerMonitor.NOTIFY_TYPE_NOTIFICATION); @@ -131,7 +141,7 @@ public class LingerMonitorTest extends TestCase { verify(mNotifier, times(1)).clearNotification(100); } - @SmallTest + @Test public void testUniqueToast() { setNotificationSwitch(transition(WIFI, CELLULAR)); setNotificationType(LingerMonitor.NOTIFY_TYPE_TOAST); @@ -149,7 +159,7 @@ public class LingerMonitorTest extends TestCase { verifyNoNotifications(); } - @SmallTest + @Test public void testMultipleNotifications() { setNotificationSwitch(transition(WIFI, CELLULAR)); setNotificationType(LingerMonitor.NOTIFY_TYPE_NOTIFICATION); @@ -168,7 +178,7 @@ public class LingerMonitorTest extends TestCase { verifyNotification(wifi2, cell); } - @SmallTest + @Test public void testRateLimiting() throws InterruptedException { mMonitor = new TestableLingerMonitor(mCtx, mNotifier, HIGH_DAILY_LIMIT, LOW_RATE_LIMIT); @@ -194,7 +204,7 @@ public class LingerMonitorTest extends TestCase { verifyNoNotifications(); } - @SmallTest + @Test public void testDailyLimiting() throws InterruptedException { mMonitor = new TestableLingerMonitor(mCtx, mNotifier, LOW_DAILY_LIMIT, HIGH_RATE_LIMIT); @@ -221,7 +231,7 @@ public class LingerMonitorTest extends TestCase { verifyNoNotifications(); } - @SmallTest + @Test public void testUniqueNotification() { setNotificationSwitch(transition(WIFI, CELLULAR)); setNotificationType(LingerMonitor.NOTIFY_TYPE_NOTIFICATION); @@ -238,7 +248,7 @@ public class LingerMonitorTest extends TestCase { verifyNotification(from, to); } - @SmallTest + @Test public void testIgnoreNeverValidatedNetworks() { setNotificationType(LingerMonitor.NOTIFY_TYPE_TOAST); setNotificationSwitch(transition(WIFI, CELLULAR)); @@ -250,7 +260,7 @@ public class LingerMonitorTest extends TestCase { verifyNoNotifications(); } - @SmallTest + @Test public void testIgnoreCurrentlyValidatedNetworks() { setNotificationType(LingerMonitor.NOTIFY_TYPE_TOAST); setNotificationSwitch(transition(WIFI, CELLULAR)); @@ -262,7 +272,7 @@ public class LingerMonitorTest extends TestCase { verifyNoNotifications(); } - @SmallTest + @Test public void testNoNotificationType() { setNotificationType(LingerMonitor.NOTIFY_TYPE_TOAST); setNotificationSwitch(); @@ -273,7 +283,7 @@ public class LingerMonitorTest extends TestCase { verifyNoNotifications(); } - @SmallTest + @Test public void testNoTransitionToNotify() { setNotificationType(LingerMonitor.NOTIFY_TYPE_NONE); setNotificationSwitch(transition(WIFI, CELLULAR)); @@ -284,7 +294,7 @@ public class LingerMonitorTest extends TestCase { verifyNoNotifications(); } - @SmallTest + @Test public void testDifferentTransitionToNotify() { setNotificationType(LingerMonitor.NOTIFY_TYPE_TOAST); setNotificationSwitch(transition(CELLULAR, WIFI)); diff --git a/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java b/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java index 911347c13478..125fe7258e94 100644 --- a/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java +++ b/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java @@ -34,20 +34,29 @@ import android.content.pm.PackageManager; import android.content.res.Resources; import android.net.NetworkCapabilities; import android.net.NetworkInfo; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; import android.telephony.TelephonyManager; -import android.test.suitebuilder.annotation.SmallTest; + import com.android.server.connectivity.NetworkNotificationManager.NotificationType; + import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; -import junit.framework.TestCase; + +import org.junit.runner.RunWith; +import org.junit.Before; +import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -public class NetworkNotificationManagerTest extends TestCase { + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class NetworkNotificationManagerTest { static final NetworkCapabilities CELL_CAPABILITIES = new NetworkCapabilities(); static final NetworkCapabilities WIFI_CAPABILITIES = new NetworkCapabilities(); @@ -71,6 +80,7 @@ public class NetworkNotificationManagerTest extends TestCase { NetworkNotificationManager mManager; + @Before public void setUp() { MockitoAnnotations.initMocks(this); mCaptor = ArgumentCaptor.forClass(Notification.class); @@ -87,7 +97,7 @@ public class NetworkNotificationManagerTest extends TestCase { mManager = new NetworkNotificationManager(mCtx, mTelephonyManager, mNotificationManager); } - @SmallTest + @Test public void testNotificationsShownAndCleared() { final int NETWORK_ID_BASE = 100; List<NotificationType> types = Arrays.asList(NotificationType.values()); @@ -117,7 +127,7 @@ public class NetworkNotificationManagerTest extends TestCase { } } - @SmallTest + @Test public void testNoInternetNotificationsNotShownForCellular() { mManager.showNotification(100, NO_INTERNET, mCellNai, mWifiNai, null, false); mManager.showNotification(101, LOST_INTERNET, mCellNai, mWifiNai, null, false); @@ -131,7 +141,7 @@ public class NetworkNotificationManagerTest extends TestCase { verify(mNotificationManager, times(1)).notifyAsUser(eq(tag), eq(eventId), any(), any()); } - @SmallTest + @Test public void testNotificationsNotShownIfNoInternetCapability() { mWifiNai.networkCapabilities = new NetworkCapabilities(); mWifiNai.networkCapabilities .addTransportType(NetworkCapabilities.TRANSPORT_WIFI); @@ -142,7 +152,7 @@ public class NetworkNotificationManagerTest extends TestCase { verify(mNotificationManager, never()).notifyAsUser(any(), anyInt(), any(), any()); } - @SmallTest + @Test public void testDuplicatedNotificationsNoInternetThenSignIn() { final int id = 101; final String tag = NetworkNotificationManager.tagFor(id); @@ -164,7 +174,7 @@ public class NetworkNotificationManagerTest extends TestCase { verify(mNotificationManager, times(1)).cancelAsUser(eq(tag), eq(SIGN_IN.eventId), any()); } - @SmallTest + @Test public void testDuplicatedNotificationsSignInThenNoInternet() { final int id = 101; final String tag = NetworkNotificationManager.tagFor(id); diff --git a/tests/net/java/com/android/server/connectivity/VpnTest.java b/tests/net/java/com/android/server/connectivity/VpnTest.java index 4f18da7056ef..fe396c3a5c40 100644 --- a/tests/net/java/com/android/server/connectivity/VpnTest.java +++ b/tests/net/java/com/android/server/connectivity/VpnTest.java @@ -20,6 +20,9 @@ import static android.content.pm.UserInfo.FLAG_ADMIN; import static android.content.pm.UserInfo.FLAG_MANAGED_PROFILE; import static android.content.pm.UserInfo.FLAG_PRIMARY; import static android.content.pm.UserInfo.FLAG_RESTRICTED; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static org.mockito.AdditionalMatchers.*; import static org.mockito.Mockito.*; @@ -42,14 +45,17 @@ import android.os.INetworkManagementService; import android.os.Looper; import android.os.UserHandle; import android.os.UserManager; -import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; +import android.support.test.runner.AndroidJUnit4; +import android.support.test.filters.SmallTest; import android.util.ArrayMap; import android.util.ArraySet; import com.android.internal.R; import com.android.internal.net.VpnConfig; +import org.junit.runner.RunWith; +import org.junit.Before; +import org.junit.Test; import org.mockito.Answers; import org.mockito.InOrder; import org.mockito.Mock; @@ -61,13 +67,16 @@ import java.util.Collections; import java.util.Map; import java.util.Set; + /** * Tests for {@link Vpn}. * * Build, install and run with: - * runtest --path java/com/android/server/connectivity/VpnTest.java + * runtest frameworks-net -c com.android.server.connectivity.VpnTest */ -public class VpnTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +@SmallTest +public class VpnTest { private static final String TAG = "VpnTest"; // Mock users @@ -106,7 +115,7 @@ public class VpnTest extends AndroidTestCase { @Mock private NotificationManager mNotificationManager; @Mock private Vpn.SystemServices mSystemServices; - @Override + @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); @@ -130,7 +139,7 @@ public class VpnTest extends AndroidTestCase { doNothing().when(mNetService).registerObserver(any()); } - @SmallTest + @Test public void testRestrictedProfilesAreAddedToVpn() { setMockedUsers(primaryUser, secondaryUser, restrictedProfileA, restrictedProfileB); @@ -144,7 +153,7 @@ public class VpnTest extends AndroidTestCase { })), ranges); } - @SmallTest + @Test public void testManagedProfilesAreNotAddedToVpn() { setMockedUsers(primaryUser, managedProfileA); @@ -157,7 +166,7 @@ public class VpnTest extends AndroidTestCase { })), ranges); } - @SmallTest + @Test public void testAddUserToVpnOnlyAddsOneUser() { setMockedUsers(primaryUser, restrictedProfileA, managedProfileA); @@ -170,7 +179,7 @@ public class VpnTest extends AndroidTestCase { })), ranges); } - @SmallTest + @Test public void testUidWhiteAndBlacklist() throws Exception { final Vpn vpn = createVpn(primaryUser.id); final UidRange user = UidRange.createForUser(primaryUser.id); @@ -195,7 +204,7 @@ public class VpnTest extends AndroidTestCase { })), disallow); } - @SmallTest + @Test public void testLockdownChangingPackage() throws Exception { final Vpn vpn = createVpn(primaryUser.id); final UidRange user = UidRange.createForUser(primaryUser.id); @@ -230,7 +239,7 @@ public class VpnTest extends AndroidTestCase { assertUnblocked(vpn, user.start + PKG_UIDS[3]); } - @SmallTest + @Test public void testLockdownAddingAProfile() throws Exception { final Vpn vpn = createVpn(primaryUser.id); setMockedUsers(primaryUser); @@ -270,7 +279,7 @@ public class VpnTest extends AndroidTestCase { })); } - @SmallTest + @Test public void testLockdownRuleRepeatability() throws Exception { final Vpn vpn = createVpn(primaryUser.id); @@ -293,7 +302,7 @@ public class VpnTest extends AndroidTestCase { verify(mNetService, times(2)).setAllowOnlyVpnForUids(anyBoolean(), any(UidRange[].class)); } - @SmallTest + @Test public void testLockdownRuleReversibility() throws Exception { final Vpn vpn = createVpn(primaryUser.id); @@ -322,7 +331,7 @@ public class VpnTest extends AndroidTestCase { order.verify(mNetService).setAllowOnlyVpnForUids(eq(true), aryEq(entireUser)); } - @SmallTest + @Test public void testIsAlwaysOnPackageSupported() throws Exception { final Vpn vpn = createVpn(primaryUser.id); @@ -356,7 +365,7 @@ public class VpnTest extends AndroidTestCase { assertFalse(vpn.isAlwaysOnPackageSupported(PKGS[0])); } - @SmallTest + @Test public void testNotificationShownForAlwaysOnApp() { final UserHandle userHandle = UserHandle.of(primaryUser.id); final Vpn vpn = createVpn(primaryUser.id); |