Skip to content
Snippets Groups Projects
Commit c8a42f6a authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Disable the remaining VPN CTS tests on watches." into main

parents d393732d 5bcbbc1c
No related branches found
No related tags found
No related merge requests found
......@@ -35,12 +35,14 @@ import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import static org.junit.Assume.assumeFalse;
import android.Manifest;
import android.annotation.NonNull;
import android.app.AppOpsManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.net.Ikev2VpnProfile;
import android.net.IpSecAlgorithm;
......@@ -72,6 +74,7 @@ import com.android.testutils.TestableNetworkCallback;
import org.bouncycastle.x509.X509V1CertificateGenerator;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -200,6 +203,12 @@ public class Ikev2VpnTest {
mUserCertKey = generateRandomCertAndKeyPair();
}
@Before
public void setUp() {
assumeFalse("Skipping test because watches don't support VPN",
sContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH));
}
@After
public void tearDown() {
for (TestableNetworkCallback callback : mCallbacksToUnregister) {
......
......@@ -15,12 +15,28 @@
*/
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.pm.PackageManager;
import android.net.VpnService;
import android.os.ParcelFileDescriptor;
import android.platform.test.annotations.AppModeFull;
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.net.DatagramSocket;
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
* 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 final Context mContext = InstrumentationRegistry.getContext();
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")
public void testPrepare() throws Exception {
// Should never return null since we are not prepared.
......@@ -47,6 +72,7 @@ public class VpnServiceTest extends AndroidTestCase {
assertEquals(1, count);
}
@Test
@AppModeFull(reason = "establish() requires prepare(), which requires PackageManager access")
public void testEstablish() throws Exception {
ParcelFileDescriptor descriptor = null;
......@@ -63,6 +89,7 @@ public class VpnServiceTest extends AndroidTestCase {
}
}
@Test
@AppModeFull(reason = "Protecting sockets requires prepare(), which requires PackageManager")
public void testProtect_DatagramSocket() throws Exception {
DatagramSocket socket = new DatagramSocket();
......@@ -78,6 +105,7 @@ public class VpnServiceTest extends AndroidTestCase {
}
}
@Test
@AppModeFull(reason = "Protecting sockets requires prepare(), which requires PackageManager")
public void testProtect_Socket() throws Exception {
Socket socket = new Socket();
......@@ -93,6 +121,7 @@ public class VpnServiceTest extends AndroidTestCase {
}
}
@Test
@AppModeFull(reason = "Protecting sockets requires prepare(), which requires PackageManager")
public void testProtect_int() throws Exception {
DatagramSocket socket = new DatagramSocket();
......@@ -114,6 +143,7 @@ public class VpnServiceTest extends AndroidTestCase {
}
}
@Test
public void testTunDevice() throws Exception {
File file = new File("/dev/tun");
assertTrue(file.exists());
......
......@@ -19,6 +19,7 @@ package android.net;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assume.assumeFalse;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
......@@ -27,11 +28,13 @@ import static org.mockito.Mockito.when;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.test.mock.MockContext;
import android.util.SparseArray;
import androidx.test.filters.SmallTest;
import androidx.test.InstrumentationRegistry;
import com.android.internal.net.VpnProfile;
import com.android.internal.util.MessageUtils;
......@@ -47,6 +50,7 @@ import org.junit.runner.RunWith;
@RunWith(DevSdkIgnoreRunner.class)
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.R)
public class VpnManagerTest {
private static final String PKG_NAME = "fooPackage";
private static final String SESSION_NAME_STRING = "testSession";
......@@ -66,6 +70,9 @@ public class VpnManagerTest {
@Before
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);
mVpnManager = new VpnManager(mMockContext, mMockService);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment