ConnectivityManager: unit test for argument validation
Bug: 36701874, 37107940 Test: new test passes Change-Id: Ie762ce758b3d94052b7438a67fc55bef4690cbbb
This commit is contained in:
@@ -45,6 +45,7 @@ import static org.mockito.Mockito.times;
|
|||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import android.app.PendingIntent;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.NetworkCapabilities;
|
import android.net.NetworkCapabilities;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -66,8 +67,6 @@ import org.mockito.ArgumentCaptor;
|
|||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public class ConnectivityManagerTest {
|
public class ConnectivityManagerTest {
|
||||||
@@ -296,6 +295,43 @@ public class ConnectivityManagerTest {
|
|||||||
manager.requestNetwork(request, callback);
|
manager.requestNetwork(request, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testArgumentValidation() throws Exception {
|
||||||
|
ConnectivityManager manager = new ConnectivityManager(mCtx, mService);
|
||||||
|
|
||||||
|
NetworkRequest request = mock(NetworkRequest.class);
|
||||||
|
NetworkCallback callback = mock(NetworkCallback.class);
|
||||||
|
Handler handler = mock(Handler.class);
|
||||||
|
NetworkCallback nullCallback = null;
|
||||||
|
PendingIntent nullIntent = null;
|
||||||
|
|
||||||
|
mustFail(() -> { manager.requestNetwork(null, callback); });
|
||||||
|
mustFail(() -> { manager.requestNetwork(request, nullCallback); });
|
||||||
|
mustFail(() -> { manager.requestNetwork(request, callback, null); });
|
||||||
|
mustFail(() -> { manager.requestNetwork(request, callback, -1); });
|
||||||
|
mustFail(() -> { manager.requestNetwork(request, nullIntent); });
|
||||||
|
|
||||||
|
mustFail(() -> { manager.registerNetworkCallback(null, callback, handler); });
|
||||||
|
mustFail(() -> { manager.registerNetworkCallback(request, null, handler); });
|
||||||
|
mustFail(() -> { manager.registerNetworkCallback(request, callback, null); });
|
||||||
|
mustFail(() -> { manager.registerNetworkCallback(request, nullIntent); });
|
||||||
|
|
||||||
|
mustFail(() -> { manager.registerDefaultNetworkCallback(null, handler); });
|
||||||
|
mustFail(() -> { manager.registerDefaultNetworkCallback(callback, null); });
|
||||||
|
|
||||||
|
mustFail(() -> { manager.unregisterNetworkCallback(nullCallback); });
|
||||||
|
mustFail(() -> { manager.unregisterNetworkCallback(nullIntent); });
|
||||||
|
mustFail(() -> { manager.releaseNetworkRequest(nullIntent); });
|
||||||
|
}
|
||||||
|
|
||||||
|
static void mustFail(Runnable fn) {
|
||||||
|
try {
|
||||||
|
fn.run();
|
||||||
|
fail();
|
||||||
|
} catch (Exception expected) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static Message makeMessage(NetworkRequest req, int messageType) {
|
static Message makeMessage(NetworkRequest req, int messageType) {
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putParcelable(NetworkRequest.class.getSimpleName(), req);
|
bundle.putParcelable(NetworkRequest.class.getSimpleName(), req);
|
||||||
|
|||||||
Reference in New Issue
Block a user