Backport test coverage from aosp/1547496. am: 1255ddbc76
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13425319 Change-Id: I559be41c77cc6348e745324ab675c603b1f3ad1d
This commit is contained in:
@@ -5521,32 +5521,40 @@ public class ConnectivityServiceTest {
|
|||||||
assertNetworkInfo(TYPE_MOBILE, DetailedState.CONNECTED);
|
assertNetworkInfo(TYPE_MOBILE, DetailedState.CONNECTED);
|
||||||
assertNetworkInfo(TYPE_WIFI, DetailedState.DISCONNECTED);
|
assertNetworkInfo(TYPE_WIFI, DetailedState.DISCONNECTED);
|
||||||
assertNetworkInfo(TYPE_VPN, DetailedState.SUSPENDED); // BUG: VPN caps have NOT_SUSPENDED.
|
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.
|
// BUG: the device has connectivity, so this should return true.
|
||||||
assertGetNetworkInfoOfGetActiveNetworkIsConnected(false);
|
assertGetNetworkInfoOfGetActiveNetworkIsConnected(false);
|
||||||
|
|
||||||
// Suspending and resuming reveals other bugs.
|
// Re-suspending the current network fixes the problem.
|
||||||
mCellNetworkAgent.suspend();
|
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())
|
assertFalse(mCm.getNetworkCapabilities(mMockVpn.getNetwork())
|
||||||
.hasCapability(NET_CAPABILITY_NOT_SUSPENDED)); // BUG: VPN should be SUSPENDED.
|
.hasCapability(NET_CAPABILITY_NOT_SUSPENDED));
|
||||||
assertNetworkInfo(TYPE_MOBILE, DetailedState.SUSPENDED);
|
assertNetworkInfo(TYPE_MOBILE, DetailedState.SUSPENDED);
|
||||||
assertNetworkInfo(TYPE_WIFI, DetailedState.DISCONNECTED);
|
assertNetworkInfo(TYPE_WIFI, DetailedState.DISCONNECTED);
|
||||||
assertNetworkInfo(TYPE_VPN, DetailedState.SUSPENDED);
|
assertNetworkInfo(TYPE_VPN, DetailedState.SUSPENDED);
|
||||||
assertNull(mCm.getActiveNetworkInfo()); // ???
|
assertActiveNetworkInfo(TYPE_MOBILE, DetailedState.SUSPENDED);
|
||||||
assertGetNetworkInfoOfGetActiveNetworkIsConnected(false);
|
assertGetNetworkInfoOfGetActiveNetworkIsConnected(false);
|
||||||
|
|
||||||
mCellNetworkAgent.resume();
|
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())
|
assertTrue(mCm.getNetworkCapabilities(mMockVpn.getNetwork())
|
||||||
.hasCapability(NET_CAPABILITY_NOT_SUSPENDED));
|
.hasCapability(NET_CAPABILITY_NOT_SUSPENDED));
|
||||||
assertNetworkInfo(TYPE_MOBILE, DetailedState.CONNECTED);
|
assertNetworkInfo(TYPE_MOBILE, DetailedState.CONNECTED);
|
||||||
assertNetworkInfo(TYPE_WIFI, DetailedState.DISCONNECTED);
|
assertNetworkInfo(TYPE_WIFI, DetailedState.DISCONNECTED);
|
||||||
assertNetworkInfo(TYPE_VPN, DetailedState.SUSPENDED);
|
assertNetworkInfo(TYPE_VPN, DetailedState.CONNECTED);
|
||||||
assertNull(mCm.getActiveNetworkInfo()); // ???
|
assertActiveNetworkInfo(TYPE_MOBILE, DetailedState.CONNECTED);
|
||||||
assertGetNetworkInfoOfGetActiveNetworkIsConnected(false);
|
assertGetNetworkInfoOfGetActiveNetworkIsConnected(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user