Merge "Prevent NPEs when registering/unregistering ConnDiags CBs."

This commit is contained in:
Benedict Wong
2021-08-12 20:35:39 +00:00
committed by Gerrit Code Review
2 changed files with 56 additions and 0 deletions

View File

@@ -204,6 +204,7 @@ import android.content.res.Resources;
import android.location.LocationManager;
import android.net.CaptivePortalData;
import android.net.ConnectionInfo;
import android.net.ConnectivityDiagnosticsManager.DataStallReport;
import android.net.ConnectivityManager;
import android.net.ConnectivityManager.NetworkCallback;
import android.net.ConnectivityManager.PacketKeepalive;
@@ -285,6 +286,7 @@ import android.os.Messenger;
import android.os.Parcel;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
import android.os.PersistableBundle;
import android.os.Process;
import android.os.RemoteException;
import android.os.ServiceSpecificException;
@@ -10126,6 +10128,35 @@ public class ConnectivityServiceTest {
assertTrue(mService.mConnectivityDiagnosticsCallbacks.containsKey(mIBinder));
}
@Test(expected = NullPointerException.class)
public void testRegisterConnectivityDiagnosticsCallbackNullCallback() {
mService.registerConnectivityDiagnosticsCallback(
null /* callback */,
new NetworkRequest.Builder().build(),
mContext.getPackageName());
}
@Test(expected = NullPointerException.class)
public void testRegisterConnectivityDiagnosticsCallbackNullNetworkRequest() {
mService.registerConnectivityDiagnosticsCallback(
mConnectivityDiagnosticsCallback,
null /* request */,
mContext.getPackageName());
}
@Test(expected = NullPointerException.class)
public void testRegisterConnectivityDiagnosticsCallbackNullPackageName() {
mService.registerConnectivityDiagnosticsCallback(
mConnectivityDiagnosticsCallback,
new NetworkRequest.Builder().build(),
null /* callingPackageName */);
}
@Test(expected = NullPointerException.class)
public void testUnregisterConnectivityDiagnosticsCallbackNullPackageName() {
mService.unregisterConnectivityDiagnosticsCallback(null /* callback */);
}
public NetworkAgentInfo fakeMobileNai(NetworkCapabilities nc) {
final NetworkCapabilities cellNc = new NetworkCapabilities.Builder(nc)
.addTransportType(TRANSPORT_CELLULAR).build();
@@ -10436,6 +10467,24 @@ public class ConnectivityServiceTest {
areConnDiagCapsRedacted(report.getNetworkCapabilities())));
}
@Test(expected = NullPointerException.class)
public void testSimulateDataStallNullNetwork() {
mService.simulateDataStall(
DataStallReport.DETECTION_METHOD_DNS_EVENTS,
0L /* timestampMillis */,
null /* network */,
new PersistableBundle());
}
@Test(expected = NullPointerException.class)
public void testSimulateDataStallNullPersistableBundle() {
mService.simulateDataStall(
DataStallReport.DETECTION_METHOD_DNS_EVENTS,
0L /* timestampMillis */,
mock(Network.class),
null /* extras */);
}
@Test
public void testRouteAddDeleteUpdate() throws Exception {
final NetworkRequest request = new NetworkRequest.Builder().build();