summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2021-03-17 09:15:02 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-03-17 09:15:02 +0000
commit134a538d0bc05fa0af2de64e5b395878a0f67b02 (patch)
treef68f6abe2289c59c42e6407ed764ceae0b88ec72
parent04daf7b175d5cdb6580b169f4d7ec4e422fb3ac3 (diff)
parent1255ddbc76df53c9562a87cd5701d791e0ec55ad (diff)
downloadbase-134a538d0bc05fa0af2de64e5b395878a0f67b02.tar.gz
Backport test coverage from aosp/1547496. am: 1255ddbc76
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13425319 Change-Id: I559be41c77cc6348e745324ab675c603b1f3ad1d
-rw-r--r--tests/net/java/com/android/server/ConnectivityServiceTest.java28
1 files changed, 18 insertions, 10 deletions
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index d8e1f0a434f1..3d4ff41d65fb 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -5521,32 +5521,40 @@ public class ConnectivityServiceTest {
assertNetworkInfo(TYPE_MOBILE, DetailedState.CONNECTED);
assertNetworkInfo(TYPE_WIFI, DetailedState.DISCONNECTED);
assertNetworkInfo(TYPE_VPN, DetailedState.SUSPENDED); // BUG: VPN caps have NOT_SUSPENDED.
- assertNull(mCm.getActiveNetworkInfo()); // ???
+ assertActiveNetworkInfo(TYPE_MOBILE, DetailedState.CONNECTED);
// BUG: the device has connectivity, so this should return true.
assertGetNetworkInfoOfGetActiveNetworkIsConnected(false);
- // Suspending and resuming reveals other bugs.
+ // Re-suspending the current network fixes the problem.
mCellNetworkAgent.suspend();
- callback.assertNoCallback(); // BUG: should get callback that VPN is suspended.
+ callback.expectCapabilitiesThat(mMockVpn,
+ nc -> !nc.hasCapability(NET_CAPABILITY_NOT_SUSPENDED)
+ && nc.hasTransport(TRANSPORT_CELLULAR));
+ callback.expectCallback(CallbackEntry.SUSPENDED, mMockVpn);
+ callback.assertNoCallback();
- assertTrue(mCm.getNetworkCapabilities(mMockVpn.getNetwork())
- .hasCapability(NET_CAPABILITY_NOT_SUSPENDED)); // BUG: VPN should be SUSPENDED.
+ assertFalse(mCm.getNetworkCapabilities(mMockVpn.getNetwork())
+ .hasCapability(NET_CAPABILITY_NOT_SUSPENDED));
assertNetworkInfo(TYPE_MOBILE, DetailedState.SUSPENDED);
assertNetworkInfo(TYPE_WIFI, DetailedState.DISCONNECTED);
assertNetworkInfo(TYPE_VPN, DetailedState.SUSPENDED);
- assertNull(mCm.getActiveNetworkInfo()); // ???
+ assertActiveNetworkInfo(TYPE_MOBILE, DetailedState.SUSPENDED);
assertGetNetworkInfoOfGetActiveNetworkIsConnected(false);
mCellNetworkAgent.resume();
- callback.assertNoCallback(); // BUG: should get callback that VPN is no longer suspended.
+ callback.expectCapabilitiesThat(mMockVpn,
+ nc -> nc.hasCapability(NET_CAPABILITY_NOT_SUSPENDED)
+ && nc.hasTransport(TRANSPORT_CELLULAR));
+ callback.expectCallback(CallbackEntry.RESUMED, mMockVpn);
+ callback.assertNoCallback();
assertTrue(mCm.getNetworkCapabilities(mMockVpn.getNetwork())
.hasCapability(NET_CAPABILITY_NOT_SUSPENDED));
assertNetworkInfo(TYPE_MOBILE, DetailedState.CONNECTED);
assertNetworkInfo(TYPE_WIFI, DetailedState.DISCONNECTED);
- assertNetworkInfo(TYPE_VPN, DetailedState.SUSPENDED);
- assertNull(mCm.getActiveNetworkInfo()); // ???
- assertGetNetworkInfoOfGetActiveNetworkIsConnected(false);
+ assertNetworkInfo(TYPE_VPN, DetailedState.CONNECTED);
+ assertActiveNetworkInfo(TYPE_MOBILE, DetailedState.CONNECTED);
+ assertGetNetworkInfoOfGetActiveNetworkIsConnected(true);
}
@Test