Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1929)

Unified Diff: net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java

Issue 1747223003: Fix NetworkChangeNotifierTests on Lolipop+ devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated commit subject line and addressed comments Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « AUTHORS ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
diff --git a/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java b/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
index 0d56633351548447fa41484f9180dd60fe0d4a78..def7deceefd08c6f12472bc7ad2a17630093ab21 100644
--- a/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
+++ b/net/android/javatests/src/org/chromium/net/NetworkChangeNotifierTest.java
@@ -185,8 +185,6 @@ public class NetworkChangeNotifierTest extends InstrumentationTestCase {
@Override
public void onNetworkConnect(int netId, int connectionType) {
ThreadUtils.assertOnUiThread();
- assertEquals(mLastChangeSeen, ChangeType.NONE);
- assertEquals(mLastNetIdSeen, NetId.INVALID);
mLastChangeSeen = ChangeType.CONNECT;
mLastNetIdSeen = netId;
}
@@ -194,8 +192,6 @@ public class NetworkChangeNotifierTest extends InstrumentationTestCase {
@Override
public void onNetworkSoonToDisconnect(int netId) {
ThreadUtils.assertOnUiThread();
- assertEquals(mLastChangeSeen, ChangeType.NONE);
- assertEquals(mLastNetIdSeen, NetId.INVALID);
mLastChangeSeen = ChangeType.SOON_TO_DISCONNECT;
mLastNetIdSeen = netId;
}
@@ -203,8 +199,6 @@ public class NetworkChangeNotifierTest extends InstrumentationTestCase {
@Override
public void onNetworkDisconnect(int netId) {
ThreadUtils.assertOnUiThread();
- assertEquals(mLastChangeSeen, ChangeType.NONE);
- assertEquals(mLastNetIdSeen, NetId.INVALID);
mLastChangeSeen = ChangeType.DISCONNECT;
mLastNetIdSeen = netId;
}
@@ -212,8 +206,6 @@ public class NetworkChangeNotifierTest extends InstrumentationTestCase {
@Override
public void updateActiveNetworkList(int[] activeNetIds) {
ThreadUtils.assertOnUiThread();
- assertEquals(mLastChangeSeen, ChangeType.NONE);
- assertEquals(mLastNetIdSeen, NetId.INVALID);
mLastChangeSeen = ChangeType.PURGE_LIST;
if (activeNetIds.length >= 1) {
mLastNetIdSeen = activeNetIds[0];
@@ -306,12 +298,14 @@ public class NetworkChangeNotifierTest extends InstrumentationTestCase {
}
/**
- * Tests that the receiver registers for connectivity intents during construction.
+ * Tests that the receiver registers for connectivity
+ * broadcasts during construction when the registration policy dictates.
*/
@UiThreadTest
@MediumTest
@Feature({"Android-AppBase"})
- public void testNetworkChangeNotifierRegistersInConstructor() throws InterruptedException {
+ public void testNetworkChangeNotifierRegistersWhenPolicyDictates()
+ throws InterruptedException {
Context context = getInstrumentation().getTargetContext();
NetworkChangeNotifierAutoDetect.Observer observer =
@@ -326,6 +320,16 @@ public class NetworkChangeNotifierTest extends InstrumentationTestCase {
});
assertTrue(receiver.isReceiverRegisteredForTesting());
+
+ receiver = new NetworkChangeNotifierAutoDetect(
+ observer, context, new RegistrationPolicyApplicationStatus() {
+ @Override
+ int getApplicationState() {
+ return ApplicationState.HAS_PAUSED_ACTIVITIES;
+ }
+ });
+
+ assertFalse(receiver.isReceiverRegisteredForTesting());
}
/**
@@ -599,6 +603,73 @@ public class NetworkChangeNotifierTest extends InstrumentationTestCase {
}
/**
+ * Tests that NetworkChangeNotifierAutoDetect query-able APIs return expected
+ * values from the inserted mock ConnectivityManager.
+ */
+ @UiThreadTest
+ @MediumTest
+ @Feature({"Android-AppBase"})
+ public void testQueryableAPIsReturnExpectedValuesFromMockDelegate() throws Exception {
+ Context context = getInstrumentation().getTargetContext();
+
+ NetworkChangeNotifierAutoDetect.Observer observer =
+ new TestNetworkChangeNotifierAutoDetectObserver();
+
+ NetworkChangeNotifierAutoDetect ncn = new NetworkChangeNotifierAutoDetect(
+ observer, context, new RegistrationPolicyApplicationStatus() {
+ @Override
+ int getApplicationState() {
+ return ApplicationState.HAS_PAUSED_ACTIVITIES;
+ }
+ });
+
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
+ assertEquals(0, ncn.getNetworksAndTypes().length);
+ assertEquals(NetId.INVALID, ncn.getDefaultNetId());
+ return;
+ }
+
+ // Insert a mocked dummy implementation for the ConnectivityDelegate.
+ ncn.setConnectivityManagerDelegateForTests(new ConnectivityManagerDelegate() {
+ public final Network[] mNetworks =
+ new Network[] {netIdToNetwork(111), netIdToNetwork(333)};
+
+ @Override
+ Network[] getAllNetworks() {
+ return mNetworks;
+ }
+
+ @Override
+ int getDefaultNetId() {
+ return Integer.parseInt(mNetworks[1].toString());
+ }
+
+ @Override
+ boolean hasInternetCapability(Network network) {
+ return true;
+ }
+
+ @Override
+ public NetworkState getNetworkState(Network network) {
+ return new NetworkState(false, -1, -1);
+ }
+ });
+
+ // Verify that the mock delegate connectivity manager is being used
+ // by the network change notifier auto-detector.
+ assertEquals(333, ncn.getDefaultNetId());
+
+ // The api {@link NetworkChangeNotifierAutoDetect#getNetworksAndTypes()}
+ // returns an array of a repeated sequence of: (NetID, ConnectionType).
+ // There are 4 entries in the array, two for each network.
+ assertEquals(4, ncn.getNetworksAndTypes().length);
+ assertEquals(111, ncn.getNetworksAndTypes()[0]);
+ assertEquals(ConnectionType.CONNECTION_NONE, ncn.getNetworksAndTypes()[1]);
+ assertEquals(333, ncn.getNetworksAndTypes()[2]);
+ assertEquals(ConnectionType.CONNECTION_NONE, ncn.getNetworksAndTypes()[3]);
+ }
+
+ /**
* Tests that callbacks are issued to Observers when NetworkChangeNotifierAutoDetect receives
* the right signals (via its NetworkCallback).
*/
« no previous file with comments | « AUTHORS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698