Rename members in TestConnectivityManager. am: 9bbdac6275 am: a6d9d23180
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1659938 Change-Id: If02ce4eed9804d705a575fe7171459dafba216c9
This commit is contained in:
@@ -58,17 +58,17 @@ import java.util.Objects;
|
|||||||
* that state changes), this may become less important or unnecessary.
|
* that state changes), this may become less important or unnecessary.
|
||||||
*/
|
*/
|
||||||
public class TestConnectivityManager extends ConnectivityManager {
|
public class TestConnectivityManager extends ConnectivityManager {
|
||||||
public Map<NetworkCallback, NetworkRequestInfo> allCallbacks = new ArrayMap<>();
|
final Map<NetworkCallback, NetworkRequestInfo> mAllCallbacks = new ArrayMap<>();
|
||||||
public Map<NetworkCallback, NetworkRequestInfo> trackingDefault = new ArrayMap<>();
|
final Map<NetworkCallback, NetworkRequestInfo> mTrackingDefault = new ArrayMap<>();
|
||||||
public TestNetworkAgent defaultNetwork = null;
|
final Map<NetworkCallback, NetworkRequestInfo> mListening = new ArrayMap<>();
|
||||||
public Map<NetworkCallback, NetworkRequestInfo> listening = new ArrayMap<>();
|
final Map<NetworkCallback, NetworkRequestInfo> mRequested = new ArrayMap<>();
|
||||||
public Map<NetworkCallback, NetworkRequestInfo> requested = new ArrayMap<>();
|
final Map<NetworkCallback, Integer> mLegacyTypeMap = new ArrayMap<>();
|
||||||
public Map<NetworkCallback, Integer> legacyTypeMap = new ArrayMap<>();
|
|
||||||
|
|
||||||
private final NetworkRequest mDefaultRequest;
|
private final NetworkRequest mDefaultRequest;
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
|
|
||||||
private int mNetworkId = 100;
|
private int mNetworkId = 100;
|
||||||
|
private TestNetworkAgent mDefaultNetwork = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a TestConnectivityManager.
|
* Constructs a TestConnectivityManager.
|
||||||
@@ -94,26 +94,26 @@ public class TestConnectivityManager extends ConnectivityManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
boolean hasNoCallbacks() {
|
boolean hasNoCallbacks() {
|
||||||
return allCallbacks.isEmpty()
|
return mAllCallbacks.isEmpty()
|
||||||
&& trackingDefault.isEmpty()
|
&& mTrackingDefault.isEmpty()
|
||||||
&& listening.isEmpty()
|
&& mListening.isEmpty()
|
||||||
&& requested.isEmpty()
|
&& mRequested.isEmpty()
|
||||||
&& legacyTypeMap.isEmpty();
|
&& mLegacyTypeMap.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean onlyHasDefaultCallbacks() {
|
boolean onlyHasDefaultCallbacks() {
|
||||||
return (allCallbacks.size() == 1)
|
return (mAllCallbacks.size() == 1)
|
||||||
&& (trackingDefault.size() == 1)
|
&& (mTrackingDefault.size() == 1)
|
||||||
&& listening.isEmpty()
|
&& mListening.isEmpty()
|
||||||
&& requested.isEmpty()
|
&& mRequested.isEmpty()
|
||||||
&& legacyTypeMap.isEmpty();
|
&& mLegacyTypeMap.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isListeningForAll() {
|
boolean isListeningForAll() {
|
||||||
final NetworkCapabilities empty = new NetworkCapabilities();
|
final NetworkCapabilities empty = new NetworkCapabilities();
|
||||||
empty.clearAll();
|
empty.clearAll();
|
||||||
|
|
||||||
for (NetworkRequestInfo nri : listening.values()) {
|
for (NetworkRequestInfo nri : mListening.values()) {
|
||||||
if (nri.request.networkCapabilities.equalRequestableCapabilities(empty)) {
|
if (nri.request.networkCapabilities.equalRequestableCapabilities(empty)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -137,8 +137,8 @@ public class TestConnectivityManager extends ConnectivityManager {
|
|||||||
|
|
||||||
private void sendDefaultNetworkCallbacks(TestNetworkAgent formerDefault,
|
private void sendDefaultNetworkCallbacks(TestNetworkAgent formerDefault,
|
||||||
TestNetworkAgent defaultNetwork) {
|
TestNetworkAgent defaultNetwork) {
|
||||||
for (NetworkCallback cb : trackingDefault.keySet()) {
|
for (NetworkCallback cb : mTrackingDefault.keySet()) {
|
||||||
final NetworkRequestInfo nri = trackingDefault.get(cb);
|
final NetworkRequestInfo nri = mTrackingDefault.get(cb);
|
||||||
if (defaultNetwork != null) {
|
if (defaultNetwork != null) {
|
||||||
nri.handler.post(() -> cb.onAvailable(defaultNetwork.networkId));
|
nri.handler.post(() -> cb.onAvailable(defaultNetwork.networkId));
|
||||||
nri.handler.post(() -> cb.onCapabilitiesChanged(
|
nri.handler.post(() -> cb.onCapabilitiesChanged(
|
||||||
@@ -152,25 +152,25 @@ public class TestConnectivityManager extends ConnectivityManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void makeDefaultNetwork(TestNetworkAgent agent) {
|
void makeDefaultNetwork(TestNetworkAgent agent) {
|
||||||
if (Objects.equals(defaultNetwork, agent)) return;
|
if (Objects.equals(mDefaultNetwork, agent)) return;
|
||||||
|
|
||||||
final TestNetworkAgent formerDefault = defaultNetwork;
|
final TestNetworkAgent formerDefault = mDefaultNetwork;
|
||||||
defaultNetwork = agent;
|
mDefaultNetwork = agent;
|
||||||
|
|
||||||
sendDefaultNetworkCallbacks(formerDefault, defaultNetwork);
|
sendDefaultNetworkCallbacks(formerDefault, mDefaultNetwork);
|
||||||
sendDefaultNetworkBroadcasts(formerDefault, defaultNetwork);
|
sendDefaultNetworkBroadcasts(formerDefault, mDefaultNetwork);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void requestNetwork(NetworkRequest req, NetworkCallback cb, Handler h) {
|
public void requestNetwork(NetworkRequest req, NetworkCallback cb, Handler h) {
|
||||||
assertFalse(allCallbacks.containsKey(cb));
|
assertFalse(mAllCallbacks.containsKey(cb));
|
||||||
allCallbacks.put(cb, new NetworkRequestInfo(req, h));
|
mAllCallbacks.put(cb, new NetworkRequestInfo(req, h));
|
||||||
if (mDefaultRequest.equals(req)) {
|
if (mDefaultRequest.equals(req)) {
|
||||||
assertFalse(trackingDefault.containsKey(cb));
|
assertFalse(mTrackingDefault.containsKey(cb));
|
||||||
trackingDefault.put(cb, new NetworkRequestInfo(req, h));
|
mTrackingDefault.put(cb, new NetworkRequestInfo(req, h));
|
||||||
} else {
|
} else {
|
||||||
assertFalse(requested.containsKey(cb));
|
assertFalse(mRequested.containsKey(cb));
|
||||||
requested.put(cb, new NetworkRequestInfo(req, h));
|
mRequested.put(cb, new NetworkRequestInfo(req, h));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,22 +182,22 @@ public class TestConnectivityManager extends ConnectivityManager {
|
|||||||
@Override
|
@Override
|
||||||
public void requestNetwork(NetworkRequest req,
|
public void requestNetwork(NetworkRequest req,
|
||||||
int timeoutMs, int legacyType, Handler h, NetworkCallback cb) {
|
int timeoutMs, int legacyType, Handler h, NetworkCallback cb) {
|
||||||
assertFalse(allCallbacks.containsKey(cb));
|
assertFalse(mAllCallbacks.containsKey(cb));
|
||||||
allCallbacks.put(cb, new NetworkRequestInfo(req, h));
|
mAllCallbacks.put(cb, new NetworkRequestInfo(req, h));
|
||||||
assertFalse(requested.containsKey(cb));
|
assertFalse(mRequested.containsKey(cb));
|
||||||
requested.put(cb, new NetworkRequestInfo(req, h));
|
mRequested.put(cb, new NetworkRequestInfo(req, h));
|
||||||
assertFalse(legacyTypeMap.containsKey(cb));
|
assertFalse(mLegacyTypeMap.containsKey(cb));
|
||||||
if (legacyType != ConnectivityManager.TYPE_NONE) {
|
if (legacyType != ConnectivityManager.TYPE_NONE) {
|
||||||
legacyTypeMap.put(cb, legacyType);
|
mLegacyTypeMap.put(cb, legacyType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerNetworkCallback(NetworkRequest req, NetworkCallback cb, Handler h) {
|
public void registerNetworkCallback(NetworkRequest req, NetworkCallback cb, Handler h) {
|
||||||
assertFalse(allCallbacks.containsKey(cb));
|
assertFalse(mAllCallbacks.containsKey(cb));
|
||||||
allCallbacks.put(cb, new NetworkRequestInfo(req, h));
|
mAllCallbacks.put(cb, new NetworkRequestInfo(req, h));
|
||||||
assertFalse(listening.containsKey(cb));
|
assertFalse(mListening.containsKey(cb));
|
||||||
listening.put(cb, new NetworkRequestInfo(req, h));
|
mListening.put(cb, new NetworkRequestInfo(req, h));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -217,22 +217,22 @@ public class TestConnectivityManager extends ConnectivityManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void unregisterNetworkCallback(NetworkCallback cb) {
|
public void unregisterNetworkCallback(NetworkCallback cb) {
|
||||||
if (trackingDefault.containsKey(cb)) {
|
if (mTrackingDefault.containsKey(cb)) {
|
||||||
trackingDefault.remove(cb);
|
mTrackingDefault.remove(cb);
|
||||||
} else if (listening.containsKey(cb)) {
|
} else if (mListening.containsKey(cb)) {
|
||||||
listening.remove(cb);
|
mListening.remove(cb);
|
||||||
} else if (requested.containsKey(cb)) {
|
} else if (mRequested.containsKey(cb)) {
|
||||||
requested.remove(cb);
|
mRequested.remove(cb);
|
||||||
legacyTypeMap.remove(cb);
|
mLegacyTypeMap.remove(cb);
|
||||||
} else {
|
} else {
|
||||||
fail("Unexpected callback removed");
|
fail("Unexpected callback removed");
|
||||||
}
|
}
|
||||||
allCallbacks.remove(cb);
|
mAllCallbacks.remove(cb);
|
||||||
|
|
||||||
assertFalse(allCallbacks.containsKey(cb));
|
assertFalse(mAllCallbacks.containsKey(cb));
|
||||||
assertFalse(trackingDefault.containsKey(cb));
|
assertFalse(mTrackingDefault.containsKey(cb));
|
||||||
assertFalse(listening.containsKey(cb));
|
assertFalse(mListening.containsKey(cb));
|
||||||
assertFalse(requested.containsKey(cb));
|
assertFalse(mRequested.containsKey(cb));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendConnectivityAction(int type, boolean connected) {
|
private void sendConnectivityAction(int type, boolean connected) {
|
||||||
@@ -294,15 +294,15 @@ public class TestConnectivityManager extends ConnectivityManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void fakeConnect() {
|
public void fakeConnect() {
|
||||||
for (NetworkRequestInfo nri : cm.requested.values()) {
|
for (NetworkRequestInfo nri : cm.mRequested.values()) {
|
||||||
if (matchesLegacyType(nri.request.legacyType)) {
|
if (matchesLegacyType(nri.request.legacyType)) {
|
||||||
cm.sendConnectivityAction(legacyType, true /* connected */);
|
cm.sendConnectivityAction(legacyType, true /* connected */);
|
||||||
// In practice, a given network can match only one legacy type.
|
// In practice, a given network can match only one legacy type.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (NetworkCallback cb : cm.listening.keySet()) {
|
for (NetworkCallback cb : cm.mListening.keySet()) {
|
||||||
final NetworkRequestInfo nri = cm.listening.get(cb);
|
final NetworkRequestInfo nri = cm.mListening.get(cb);
|
||||||
nri.handler.post(() -> cb.onAvailable(networkId));
|
nri.handler.post(() -> cb.onAvailable(networkId));
|
||||||
nri.handler.post(() -> cb.onCapabilitiesChanged(
|
nri.handler.post(() -> cb.onCapabilitiesChanged(
|
||||||
networkId, copy(networkCapabilities)));
|
networkId, copy(networkCapabilities)));
|
||||||
@@ -311,19 +311,19 @@ public class TestConnectivityManager extends ConnectivityManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void fakeDisconnect() {
|
public void fakeDisconnect() {
|
||||||
for (NetworkRequestInfo nri : cm.requested.values()) {
|
for (NetworkRequestInfo nri : cm.mRequested.values()) {
|
||||||
if (matchesLegacyType(nri.request.legacyType)) {
|
if (matchesLegacyType(nri.request.legacyType)) {
|
||||||
cm.sendConnectivityAction(legacyType, false /* connected */);
|
cm.sendConnectivityAction(legacyType, false /* connected */);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (NetworkCallback cb : cm.listening.keySet()) {
|
for (NetworkCallback cb : cm.mListening.keySet()) {
|
||||||
cb.onLost(networkId);
|
cb.onLost(networkId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendLinkProperties() {
|
public void sendLinkProperties() {
|
||||||
for (NetworkCallback cb : cm.listening.keySet()) {
|
for (NetworkCallback cb : cm.mListening.keySet()) {
|
||||||
cb.onLinkPropertiesChanged(networkId, copy(linkProperties));
|
cb.onLinkPropertiesChanged(networkId, copy(linkProperties));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
mUNM.startTrackDefaultNetwork(sDefaultRequest, mEntitleMgr);
|
mUNM.startTrackDefaultNetwork(sDefaultRequest, mEntitleMgr);
|
||||||
|
|
||||||
mUNM.startObserveAllNetworks();
|
mUNM.startObserveAllNetworks();
|
||||||
assertEquals(1, mCM.trackingDefault.size());
|
assertEquals(1, mCM.mTrackingDefault.size());
|
||||||
|
|
||||||
mUNM.stop();
|
mUNM.stop();
|
||||||
assertTrue(mCM.onlyHasDefaultCallbacks());
|
assertTrue(mCM.onlyHasDefaultCallbacks());
|
||||||
@@ -157,11 +157,11 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testListensForAllNetworks() throws Exception {
|
public void testListensForAllNetworks() throws Exception {
|
||||||
assertTrue(mCM.listening.isEmpty());
|
assertTrue(mCM.mListening.isEmpty());
|
||||||
|
|
||||||
mUNM.startTrackDefaultNetwork(sDefaultRequest, mEntitleMgr);
|
mUNM.startTrackDefaultNetwork(sDefaultRequest, mEntitleMgr);
|
||||||
mUNM.startObserveAllNetworks();
|
mUNM.startObserveAllNetworks();
|
||||||
assertFalse(mCM.listening.isEmpty());
|
assertFalse(mCM.mListening.isEmpty());
|
||||||
assertTrue(mCM.isListeningForAll());
|
assertTrue(mCM.isListeningForAll());
|
||||||
|
|
||||||
mUNM.stop();
|
mUNM.stop();
|
||||||
@@ -184,15 +184,15 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testRequestsMobileNetwork() throws Exception {
|
public void testRequestsMobileNetwork() throws Exception {
|
||||||
assertFalse(mUNM.mobileNetworkRequested());
|
assertFalse(mUNM.mobileNetworkRequested());
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
mUNM.startObserveAllNetworks();
|
mUNM.startObserveAllNetworks();
|
||||||
assertFalse(mUNM.mobileNetworkRequested());
|
assertFalse(mUNM.mobileNetworkRequested());
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
mUNM.setUpstreamConfig(false /* autoUpstream */, false /* dunRequired */);
|
mUNM.setUpstreamConfig(false /* autoUpstream */, false /* dunRequired */);
|
||||||
assertFalse(mUNM.mobileNetworkRequested());
|
assertFalse(mUNM.mobileNetworkRequested());
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
mUNM.setTryCell(true);
|
mUNM.setTryCell(true);
|
||||||
assertTrue(mUNM.mobileNetworkRequested());
|
assertTrue(mUNM.mobileNetworkRequested());
|
||||||
@@ -207,13 +207,13 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testDuplicateMobileRequestsIgnored() throws Exception {
|
public void testDuplicateMobileRequestsIgnored() throws Exception {
|
||||||
assertFalse(mUNM.mobileNetworkRequested());
|
assertFalse(mUNM.mobileNetworkRequested());
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
mUNM.startObserveAllNetworks();
|
mUNM.startObserveAllNetworks();
|
||||||
verify(mCM, times(1)).registerNetworkCallback(
|
verify(mCM, times(1)).registerNetworkCallback(
|
||||||
any(NetworkRequest.class), any(NetworkCallback.class), any(Handler.class));
|
any(NetworkRequest.class), any(NetworkCallback.class), any(Handler.class));
|
||||||
assertFalse(mUNM.mobileNetworkRequested());
|
assertFalse(mUNM.mobileNetworkRequested());
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
mUNM.setUpstreamConfig(false /* autoUpstream */, true /* dunRequired */);
|
mUNM.setUpstreamConfig(false /* autoUpstream */, true /* dunRequired */);
|
||||||
mUNM.setTryCell(true);
|
mUNM.setTryCell(true);
|
||||||
@@ -243,15 +243,15 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testRequestsDunNetwork() throws Exception {
|
public void testRequestsDunNetwork() throws Exception {
|
||||||
assertFalse(mUNM.mobileNetworkRequested());
|
assertFalse(mUNM.mobileNetworkRequested());
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
mUNM.startObserveAllNetworks();
|
mUNM.startObserveAllNetworks();
|
||||||
assertFalse(mUNM.mobileNetworkRequested());
|
assertFalse(mUNM.mobileNetworkRequested());
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
mUNM.setUpstreamConfig(false /* autoUpstream */, true /* dunRequired */);
|
mUNM.setUpstreamConfig(false /* autoUpstream */, true /* dunRequired */);
|
||||||
assertFalse(mUNM.mobileNetworkRequested());
|
assertFalse(mUNM.mobileNetworkRequested());
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
mUNM.setTryCell(true);
|
mUNM.setTryCell(true);
|
||||||
assertTrue(mUNM.mobileNetworkRequested());
|
assertTrue(mUNM.mobileNetworkRequested());
|
||||||
@@ -326,14 +326,14 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
assertSatisfiesLegacyType(TYPE_MOBILE_HIPRI,
|
assertSatisfiesLegacyType(TYPE_MOBILE_HIPRI,
|
||||||
mUNM.selectPreferredUpstreamType(preferredTypes));
|
mUNM.selectPreferredUpstreamType(preferredTypes));
|
||||||
// Check to see we filed an explicit request.
|
// Check to see we filed an explicit request.
|
||||||
assertEquals(1, mCM.requested.size());
|
assertEquals(1, mCM.mRequested.size());
|
||||||
NetworkRequest netReq = ((NetworkRequestInfo) mCM.requested.values().toArray()[0]).request;
|
NetworkRequest netReq = ((NetworkRequestInfo) mCM.mRequested.values().toArray()[0]).request;
|
||||||
assertTrue(netReq.networkCapabilities.hasTransport(TRANSPORT_CELLULAR));
|
assertTrue(netReq.networkCapabilities.hasTransport(TRANSPORT_CELLULAR));
|
||||||
assertFalse(netReq.networkCapabilities.hasCapability(NET_CAPABILITY_DUN));
|
assertFalse(netReq.networkCapabilities.hasCapability(NET_CAPABILITY_DUN));
|
||||||
// mobile is not permitted, we should not use HIPRI.
|
// mobile is not permitted, we should not use HIPRI.
|
||||||
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(false);
|
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(false);
|
||||||
assertSatisfiesLegacyType(TYPE_NONE, mUNM.selectPreferredUpstreamType(preferredTypes));
|
assertSatisfiesLegacyType(TYPE_NONE, mUNM.selectPreferredUpstreamType(preferredTypes));
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
// mobile change back to permitted, HIRPI should come back
|
// mobile change back to permitted, HIRPI should come back
|
||||||
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(true);
|
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(true);
|
||||||
assertSatisfiesLegacyType(TYPE_MOBILE_HIPRI,
|
assertSatisfiesLegacyType(TYPE_MOBILE_HIPRI,
|
||||||
@@ -343,7 +343,7 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
mLooper.dispatchAll();
|
mLooper.dispatchAll();
|
||||||
// WiFi is up, and we should prefer it over cell.
|
// WiFi is up, and we should prefer it over cell.
|
||||||
assertSatisfiesLegacyType(TYPE_WIFI, mUNM.selectPreferredUpstreamType(preferredTypes));
|
assertSatisfiesLegacyType(TYPE_WIFI, mUNM.selectPreferredUpstreamType(preferredTypes));
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
preferredTypes.remove(TYPE_MOBILE_HIPRI);
|
preferredTypes.remove(TYPE_MOBILE_HIPRI);
|
||||||
preferredTypes.add(TYPE_MOBILE_DUN);
|
preferredTypes.add(TYPE_MOBILE_DUN);
|
||||||
@@ -364,14 +364,14 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
assertSatisfiesLegacyType(TYPE_MOBILE_DUN,
|
assertSatisfiesLegacyType(TYPE_MOBILE_DUN,
|
||||||
mUNM.selectPreferredUpstreamType(preferredTypes));
|
mUNM.selectPreferredUpstreamType(preferredTypes));
|
||||||
// Check to see we filed an explicit request.
|
// Check to see we filed an explicit request.
|
||||||
assertEquals(1, mCM.requested.size());
|
assertEquals(1, mCM.mRequested.size());
|
||||||
netReq = ((NetworkRequestInfo) mCM.requested.values().toArray()[0]).request;
|
netReq = ((NetworkRequestInfo) mCM.mRequested.values().toArray()[0]).request;
|
||||||
assertTrue(netReq.networkCapabilities.hasTransport(TRANSPORT_CELLULAR));
|
assertTrue(netReq.networkCapabilities.hasTransport(TRANSPORT_CELLULAR));
|
||||||
assertTrue(netReq.networkCapabilities.hasCapability(NET_CAPABILITY_DUN));
|
assertTrue(netReq.networkCapabilities.hasCapability(NET_CAPABILITY_DUN));
|
||||||
// mobile is not permitted, we should not use DUN.
|
// mobile is not permitted, we should not use DUN.
|
||||||
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(false);
|
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(false);
|
||||||
assertSatisfiesLegacyType(TYPE_NONE, mUNM.selectPreferredUpstreamType(preferredTypes));
|
assertSatisfiesLegacyType(TYPE_NONE, mUNM.selectPreferredUpstreamType(preferredTypes));
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
// mobile change back to permitted, DUN should come back
|
// mobile change back to permitted, DUN should come back
|
||||||
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(true);
|
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(true);
|
||||||
assertSatisfiesLegacyType(TYPE_MOBILE_DUN,
|
assertSatisfiesLegacyType(TYPE_MOBILE_DUN,
|
||||||
@@ -391,38 +391,38 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
mCM.makeDefaultNetwork(cellAgent);
|
mCM.makeDefaultNetwork(cellAgent);
|
||||||
mLooper.dispatchAll();
|
mLooper.dispatchAll();
|
||||||
assertEquals(cellAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
assertEquals(cellAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
// [1] Mobile connects but not permitted -> null selected
|
// [1] Mobile connects but not permitted -> null selected
|
||||||
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(false);
|
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(false);
|
||||||
assertEquals(null, mUNM.getCurrentPreferredUpstream());
|
assertEquals(null, mUNM.getCurrentPreferredUpstream());
|
||||||
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(true);
|
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(true);
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
// [2] WiFi connects but not validated/promoted to default -> mobile selected.
|
// [2] WiFi connects but not validated/promoted to default -> mobile selected.
|
||||||
final TestNetworkAgent wifiAgent = new TestNetworkAgent(mCM, WIFI_CAPABILITIES);
|
final TestNetworkAgent wifiAgent = new TestNetworkAgent(mCM, WIFI_CAPABILITIES);
|
||||||
wifiAgent.fakeConnect();
|
wifiAgent.fakeConnect();
|
||||||
mLooper.dispatchAll();
|
mLooper.dispatchAll();
|
||||||
assertEquals(cellAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
assertEquals(cellAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
// [3] WiFi validates and is promoted to the default network -> WiFi selected.
|
// [3] WiFi validates and is promoted to the default network -> WiFi selected.
|
||||||
mCM.makeDefaultNetwork(wifiAgent);
|
mCM.makeDefaultNetwork(wifiAgent);
|
||||||
mLooper.dispatchAll();
|
mLooper.dispatchAll();
|
||||||
assertEquals(wifiAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
assertEquals(wifiAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
|
|
||||||
// [4] DUN required, no other changes -> WiFi still selected
|
// [4] DUN required, no other changes -> WiFi still selected
|
||||||
mUNM.setUpstreamConfig(false /* autoUpstream */, true /* dunRequired */);
|
mUNM.setUpstreamConfig(false /* autoUpstream */, true /* dunRequired */);
|
||||||
assertEquals(wifiAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
assertEquals(wifiAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
||||||
assertEquals(1, mCM.requested.size());
|
assertEquals(1, mCM.mRequested.size());
|
||||||
assertTrue(isDunRequested());
|
assertTrue(isDunRequested());
|
||||||
|
|
||||||
// [5] WiFi no longer validated, mobile becomes default, DUN required -> null selected.
|
// [5] WiFi no longer validated, mobile becomes default, DUN required -> null selected.
|
||||||
mCM.makeDefaultNetwork(cellAgent);
|
mCM.makeDefaultNetwork(cellAgent);
|
||||||
mLooper.dispatchAll();
|
mLooper.dispatchAll();
|
||||||
assertEquals(null, mUNM.getCurrentPreferredUpstream());
|
assertEquals(null, mUNM.getCurrentPreferredUpstream());
|
||||||
assertEquals(1, mCM.requested.size());
|
assertEquals(1, mCM.mRequested.size());
|
||||||
assertTrue(isDunRequested());
|
assertTrue(isDunRequested());
|
||||||
|
|
||||||
// [6] DUN network arrives -> DUN selected
|
// [6] DUN network arrives -> DUN selected
|
||||||
@@ -432,21 +432,21 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
dunAgent.fakeConnect();
|
dunAgent.fakeConnect();
|
||||||
mLooper.dispatchAll();
|
mLooper.dispatchAll();
|
||||||
assertEquals(dunAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
assertEquals(dunAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
||||||
assertEquals(1, mCM.requested.size());
|
assertEquals(1, mCM.mRequested.size());
|
||||||
|
|
||||||
// [7] Mobile is not permitted -> null selected
|
// [7] Mobile is not permitted -> null selected
|
||||||
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(false);
|
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(false);
|
||||||
assertEquals(null, mUNM.getCurrentPreferredUpstream());
|
assertEquals(null, mUNM.getCurrentPreferredUpstream());
|
||||||
assertEquals(1, mCM.requested.size());
|
assertEquals(1, mCM.mRequested.size());
|
||||||
|
|
||||||
// [7] Mobile is permitted again -> DUN selected
|
// [7] Mobile is permitted again -> DUN selected
|
||||||
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(true);
|
when(mEntitleMgr.isCellularUpstreamPermitted()).thenReturn(true);
|
||||||
assertEquals(dunAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
assertEquals(dunAgent.networkId, mUNM.getCurrentPreferredUpstream().network);
|
||||||
assertEquals(1, mCM.requested.size());
|
assertEquals(1, mCM.mRequested.size());
|
||||||
|
|
||||||
// [8] DUN no longer required -> request is withdrawn
|
// [8] DUN no longer required -> request is withdrawn
|
||||||
mUNM.setUpstreamConfig(true /* autoUpstream */, false /* dunRequired */);
|
mUNM.setUpstreamConfig(true /* autoUpstream */, false /* dunRequired */);
|
||||||
assertEquals(0, mCM.requested.size());
|
assertEquals(0, mCM.mRequested.size());
|
||||||
assertFalse(isDunRequested());
|
assertFalse(isDunRequested());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -591,14 +591,14 @@ public class UpstreamNetworkMonitorTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void assertUpstreamTypeRequested(int upstreamType) throws Exception {
|
private void assertUpstreamTypeRequested(int upstreamType) throws Exception {
|
||||||
assertEquals(1, mCM.requested.size());
|
assertEquals(1, mCM.mRequested.size());
|
||||||
assertEquals(1, mCM.legacyTypeMap.size());
|
assertEquals(1, mCM.mLegacyTypeMap.size());
|
||||||
assertEquals(Integer.valueOf(upstreamType),
|
assertEquals(Integer.valueOf(upstreamType),
|
||||||
mCM.legacyTypeMap.values().iterator().next());
|
mCM.mLegacyTypeMap.values().iterator().next());
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isDunRequested() {
|
private boolean isDunRequested() {
|
||||||
for (NetworkRequestInfo nri : mCM.requested.values()) {
|
for (NetworkRequestInfo nri : mCM.mRequested.values()) {
|
||||||
if (nri.request.networkCapabilities.hasCapability(NET_CAPABILITY_DUN)) {
|
if (nri.request.networkCapabilities.hasCapability(NET_CAPABILITY_DUN)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user