Fix netId testing on Q and R

Do not call getNetId() on Q as it did not exist yet. Add a separate test
for getNetId(), only run after Q.

Also add testing for getNetIdForResolv and fromNetworkHandle on Q and R.

Bug: 185731396
Test: atest NetworkTest
Change-Id: I03f9eb0c94b09dc285018e9887fe20d95a93ae45
This commit is contained in:
Remi NGUYEN VAN
2021-04-22 14:35:37 +09:00
parent e7897d5495
commit 5ce07b2098

View File

@@ -29,6 +29,7 @@ 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;
@@ -158,16 +159,22 @@ public class NetworkTest {
assertEquals(16290598925L, three.getNetworkHandle());
}
// getNetId() did not exist in Q
@Test @IgnoreUpTo(Build.VERSION_CODES.Q)
public void testGetNetId() {
assertEquals(1234, new Network(1234).getNetId());
assertEquals(2345, new Network(2345, true).getNetId());
}
@Test
public void testFromNetworkHandle() {
final Network network = new Network(1234);
assertEquals(network.getNetId(),
Network.fromNetworkHandle(network.getNetworkHandle()).getNetId());
assertEquals(network.netId, Network.fromNetworkHandle(network.getNetworkHandle()).netId);
}
// Parsing private DNS bypassing handle was not supported until S
@Test @IgnoreUpTo(Build.VERSION_CODES.R)
public void testFromNetworkHandle_S() {
public void testFromNetworkHandlePrivateDnsBypass_S() {
final Network network = new Network(1234, true);
final Network recreatedNetwork = Network.fromNetworkHandle(network.getNetworkHandle());
@@ -175,6 +182,16 @@ public class NetworkTest {
assertEquals(network.getNetIdForResolv(), recreatedNetwork.getNetIdForResolv());
}
@Test @IgnoreAfter(Build.VERSION_CODES.R)
public void testFromNetworkHandlePrivateDnsBypass_R() {
final Network network = new Network(1234, true);
final Network recreatedNetwork = Network.fromNetworkHandle(network.getNetworkHandle());
assertEquals(network.netId, recreatedNetwork.netId);
// Until R included, fromNetworkHandle would not parse the private DNS bypass flag
assertEquals(network.netId, recreatedNetwork.getNetIdForResolv());
}
@Test
public void testGetPrivateDnsBypassingCopy() {
final Network copy = mNetwork.getPrivateDnsBypassingCopy();