Merge "Disable the remaining VPN CTS tests on watches." into main
This commit is contained in:
@@ -35,12 +35,14 @@ import static org.junit.Assert.assertThrows;
|
|||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
import static org.junit.Assume.assumeTrue;
|
import static org.junit.Assume.assumeTrue;
|
||||||
|
import static org.junit.Assume.assumeFalse;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.app.AppOpsManager;
|
import android.app.AppOpsManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.Ikev2VpnProfile;
|
import android.net.Ikev2VpnProfile;
|
||||||
import android.net.IpSecAlgorithm;
|
import android.net.IpSecAlgorithm;
|
||||||
@@ -72,6 +74,7 @@ import com.android.testutils.TestableNetworkCallback;
|
|||||||
|
|
||||||
import org.bouncycastle.x509.X509V1CertificateGenerator;
|
import org.bouncycastle.x509.X509V1CertificateGenerator;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -200,6 +203,12 @@ public class Ikev2VpnTest {
|
|||||||
mUserCertKey = generateRandomCertAndKeyPair();
|
mUserCertKey = generateRandomCertAndKeyPair();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
assumeFalse("Skipping test because watches don't support VPN",
|
||||||
|
sContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH));
|
||||||
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
public void tearDown() {
|
public void tearDown() {
|
||||||
for (TestableNetworkCallback callback : mCallbacksToUnregister) {
|
for (TestableNetworkCallback callback : mCallbacksToUnregister) {
|
||||||
|
|||||||
@@ -15,12 +15,28 @@
|
|||||||
*/
|
*/
|
||||||
package android.net.cts;
|
package android.net.cts;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertNull;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assume.assumeFalse;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.net.VpnService;
|
import android.net.VpnService;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
import android.platform.test.annotations.AppModeFull;
|
import android.platform.test.annotations.AppModeFull;
|
||||||
import android.test.AndroidTestCase;
|
import android.test.AndroidTestCase;
|
||||||
|
|
||||||
|
import androidx.test.InstrumentationRegistry;
|
||||||
|
import androidx.test.runner.AndroidJUnit4;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.net.DatagramSocket;
|
import java.net.DatagramSocket;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
@@ -30,12 +46,21 @@ import java.net.Socket;
|
|||||||
* blocks us from writing tests for positive cases. For now we only test for
|
* blocks us from writing tests for positive cases. For now we only test for
|
||||||
* negative cases, and we will try to cover the rest in the future.
|
* negative cases, and we will try to cover the rest in the future.
|
||||||
*/
|
*/
|
||||||
public class VpnServiceTest extends AndroidTestCase {
|
@RunWith(AndroidJUnit4.class)
|
||||||
|
public class VpnServiceTest {
|
||||||
|
|
||||||
private static final String TAG = VpnServiceTest.class.getSimpleName();
|
private static final String TAG = VpnServiceTest.class.getSimpleName();
|
||||||
|
|
||||||
|
private final Context mContext = InstrumentationRegistry.getContext();
|
||||||
private VpnService mVpnService = new VpnService();
|
private VpnService mVpnService = new VpnService();
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
assumeFalse("Skipping test because watches don't support VPN",
|
||||||
|
mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
@AppModeFull(reason = "PackageManager#queryIntentActivities cannot access in instant app mode")
|
@AppModeFull(reason = "PackageManager#queryIntentActivities cannot access in instant app mode")
|
||||||
public void testPrepare() throws Exception {
|
public void testPrepare() throws Exception {
|
||||||
// Should never return null since we are not prepared.
|
// Should never return null since we are not prepared.
|
||||||
@@ -47,6 +72,7 @@ public class VpnServiceTest extends AndroidTestCase {
|
|||||||
assertEquals(1, count);
|
assertEquals(1, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
@AppModeFull(reason = "establish() requires prepare(), which requires PackageManager access")
|
@AppModeFull(reason = "establish() requires prepare(), which requires PackageManager access")
|
||||||
public void testEstablish() throws Exception {
|
public void testEstablish() throws Exception {
|
||||||
ParcelFileDescriptor descriptor = null;
|
ParcelFileDescriptor descriptor = null;
|
||||||
@@ -63,6 +89,7 @@ public class VpnServiceTest extends AndroidTestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
@AppModeFull(reason = "Protecting sockets requires prepare(), which requires PackageManager")
|
@AppModeFull(reason = "Protecting sockets requires prepare(), which requires PackageManager")
|
||||||
public void testProtect_DatagramSocket() throws Exception {
|
public void testProtect_DatagramSocket() throws Exception {
|
||||||
DatagramSocket socket = new DatagramSocket();
|
DatagramSocket socket = new DatagramSocket();
|
||||||
@@ -78,6 +105,7 @@ public class VpnServiceTest extends AndroidTestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
@AppModeFull(reason = "Protecting sockets requires prepare(), which requires PackageManager")
|
@AppModeFull(reason = "Protecting sockets requires prepare(), which requires PackageManager")
|
||||||
public void testProtect_Socket() throws Exception {
|
public void testProtect_Socket() throws Exception {
|
||||||
Socket socket = new Socket();
|
Socket socket = new Socket();
|
||||||
@@ -93,6 +121,7 @@ public class VpnServiceTest extends AndroidTestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
@AppModeFull(reason = "Protecting sockets requires prepare(), which requires PackageManager")
|
@AppModeFull(reason = "Protecting sockets requires prepare(), which requires PackageManager")
|
||||||
public void testProtect_int() throws Exception {
|
public void testProtect_int() throws Exception {
|
||||||
DatagramSocket socket = new DatagramSocket();
|
DatagramSocket socket = new DatagramSocket();
|
||||||
@@ -114,6 +143,7 @@ public class VpnServiceTest extends AndroidTestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testTunDevice() throws Exception {
|
public void testTunDevice() throws Exception {
|
||||||
File file = new File("/dev/tun");
|
File file = new File("/dev/tun");
|
||||||
assertTrue(file.exists());
|
assertTrue(file.exists());
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package android.net;
|
|||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
|
import static org.junit.Assume.assumeFalse;
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Matchers.eq;
|
import static org.mockito.Matchers.eq;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
@@ -27,11 +28,13 @@ import static org.mockito.Mockito.when;
|
|||||||
|
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.test.mock.MockContext;
|
import android.test.mock.MockContext;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
|
import androidx.test.InstrumentationRegistry;
|
||||||
|
|
||||||
import com.android.internal.net.VpnProfile;
|
import com.android.internal.net.VpnProfile;
|
||||||
import com.android.internal.util.MessageUtils;
|
import com.android.internal.util.MessageUtils;
|
||||||
@@ -47,6 +50,7 @@ import org.junit.runner.RunWith;
|
|||||||
@RunWith(DevSdkIgnoreRunner.class)
|
@RunWith(DevSdkIgnoreRunner.class)
|
||||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.R)
|
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.R)
|
||||||
public class VpnManagerTest {
|
public class VpnManagerTest {
|
||||||
|
|
||||||
private static final String PKG_NAME = "fooPackage";
|
private static final String PKG_NAME = "fooPackage";
|
||||||
|
|
||||||
private static final String SESSION_NAME_STRING = "testSession";
|
private static final String SESSION_NAME_STRING = "testSession";
|
||||||
@@ -66,6 +70,9 @@ public class VpnManagerTest {
|
|||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
|
assumeFalse("Skipping test because watches don't support VPN",
|
||||||
|
InstrumentationRegistry.getContext().getPackageManager().hasSystemFeature(
|
||||||
|
PackageManager.FEATURE_WATCH));
|
||||||
mMockService = mock(IVpnManager.class);
|
mMockService = mock(IVpnManager.class);
|
||||||
mVpnManager = new VpnManager(mMockContext, mMockService);
|
mVpnManager = new VpnManager(mMockContext, mMockService);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user