diff options
| author | Chiachang Wang <chiachangwang@google.com> | 2021-12-16 10:01:45 +0800 |
|---|---|---|
| committer | Chiachang Wang <chiachangwang@google.com> | 2021-12-28 11:13:21 +0800 |
| commit | bb754d6cc59611cc033928786cc51d93afc1ef89 (patch) | |
| tree | 081bef733e218ccb3a54bda7b27a3ac0daf5c245 /tests/unit/java/com/android/internal/net/VpnProfileTest.java | |
| parent | 05e12e6f790570f9ea42f170fe73def3fd6917e1 (diff) | |
Allow VPN network agent to exclude local traffic
Add API to allow network agent to set whether the local traffic
is excluded from the network. This commit is nonfunctional
currently but only storing the boolean inside the NAI.
Bug: 184750836
Test: atest FrameworksNetTests
Change-Id: I3799216ac8fdf22eb4bcabc6c6136d8edbf69360
Diffstat (limited to 'tests/unit/java/com/android/internal/net/VpnProfileTest.java')
| -rw-r--r-- | tests/unit/java/com/android/internal/net/VpnProfileTest.java | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/tests/unit/java/com/android/internal/net/VpnProfileTest.java b/tests/unit/java/com/android/internal/net/VpnProfileTest.java index a945a1f2cd..960a9f1b10 100644 --- a/tests/unit/java/com/android/internal/net/VpnProfileTest.java +++ b/tests/unit/java/com/android/internal/net/VpnProfileTest.java @@ -16,6 +16,7 @@ package com.android.internal.net; +import static com.android.modules.utils.build.SdkLevel.isAtLeastT; import static com.android.testutils.ParcelUtils.assertParcelSane; import static org.junit.Assert.assertEquals; @@ -48,6 +49,7 @@ public class VpnProfileTest { private static final int ENCODED_INDEX_AUTH_PARAMS_INLINE = 23; private static final int ENCODED_INDEX_RESTRICTED_TO_TEST_NETWORKS = 24; + private static final int ENCODED_INDEX_EXCLUDE_LOCAL_ROUTE = 25; @Test public void testDefaults() throws Exception { @@ -126,7 +128,12 @@ public class VpnProfileTest { @Test public void testParcelUnparcel() { - assertParcelSane(getSampleIkev2Profile(DUMMY_PROFILE_KEY), 23); + if (isAtLeastT()) { + // excludeLocalRoutes is added in T. + assertParcelSane(getSampleIkev2Profile(DUMMY_PROFILE_KEY), 24); + } else { + assertParcelSane(getSampleIkev2Profile(DUMMY_PROFILE_KEY), 23); + } } @Test @@ -166,7 +173,8 @@ public class VpnProfileTest { final String tooFewValues = getEncodedDecodedIkev2ProfileMissingValues( ENCODED_INDEX_AUTH_PARAMS_INLINE, - ENCODED_INDEX_RESTRICTED_TO_TEST_NETWORKS /* missingIndices */); + ENCODED_INDEX_RESTRICTED_TO_TEST_NETWORKS, + ENCODED_INDEX_EXCLUDE_LOCAL_ROUTE /* missingIndices */); assertNull(VpnProfile.decode(DUMMY_PROFILE_KEY, tooFewValues.getBytes())); } @@ -183,6 +191,17 @@ public class VpnProfileTest { } @Test + public void testEncodeDecodeMissingExcludeLocalRoutes() { + final String tooFewValues = + getEncodedDecodedIkev2ProfileMissingValues( + ENCODED_INDEX_EXCLUDE_LOCAL_ROUTE /* missingIndices */); + + // Verify decoding without isRestrictedToTestNetworks defaults to false + final VpnProfile decoded = VpnProfile.decode(DUMMY_PROFILE_KEY, tooFewValues.getBytes()); + assertFalse(decoded.excludeLocalRoutes); + } + + @Test public void testEncodeDecodeLoginsNotSaved() { final VpnProfile profile = getSampleIkev2Profile(DUMMY_PROFILE_KEY); profile.saveLogin = false; |
