Merge "Use InetDiagMessage.destroyLiveTcpSocket instead of netd.socketDestroy"

This commit is contained in:
Treehugger Robot
2023-04-26 04:49:20 +00:00
committed by Gerrit Code Review
2 changed files with 38 additions and 18 deletions

View File

@@ -1853,7 +1853,7 @@ public class ConnectivityServiceTest {
final Context mockResContext = mock(Context.class);
doReturn(mResources).when(mockResContext).getResources();
ConnectivityResources.setResourcesContextForTest(mockResContext);
mDeps = new ConnectivityServiceDependencies(mockResContext);
mDeps = spy(new ConnectivityServiceDependencies(mockResContext));
mAutoOnOffKeepaliveDependencies =
new AutomaticOnOffKeepaliveTrackerDependencies(mServiceContext);
mService = new ConnectivityService(mServiceContext,
@@ -1912,7 +1912,8 @@ public class ConnectivityServiceTest {
.getBoolean(R.bool.config_cellular_radio_timesharing_capable);
}
class ConnectivityServiceDependencies extends ConnectivityService.Dependencies {
// ConnectivityServiceDependencies is public to use Mockito.spy
public class ConnectivityServiceDependencies extends ConnectivityService.Dependencies {
final ConnectivityResources mConnRes;
ConnectivityServiceDependencies(final Context mockResContext) {
@@ -2148,6 +2149,12 @@ public class ConnectivityServiceTest {
}
}
}
@Override
public void destroyLiveTcpSockets(final Set<Range<Integer>> ranges,
final Set<Integer> exemptUids) {
// This function is empty since the invocation of this method is verified by mocks
}
}
private class AutomaticOnOffKeepaliveTrackerDependencies
@@ -12471,12 +12478,11 @@ public class ConnectivityServiceTest {
private void assertVpnUidRangesUpdated(boolean add, Set<UidRange> vpnRanges, int exemptUid)
throws Exception {
InOrder inOrder = inOrder(mMockNetd);
ArgumentCaptor<int[]> exemptUidCaptor = ArgumentCaptor.forClass(int[].class);
InOrder inOrder = inOrder(mMockNetd, mDeps);
final Set<Integer> exemptUidSet = new ArraySet<>(List.of(exemptUid, Process.VPN_UID));
inOrder.verify(mMockNetd, times(1)).socketDestroy(eq(toUidRangeStableParcels(vpnRanges)),
exemptUidCaptor.capture());
assertContainsExactly(exemptUidCaptor.getValue(), Process.VPN_UID, exemptUid);
inOrder.verify(mDeps).destroyLiveTcpSockets(UidRange.toIntRanges(vpnRanges),
exemptUidSet);
if (add) {
inOrder.verify(mMockNetd, times(1)).networkAddUidRangesParcel(
@@ -12488,9 +12494,8 @@ public class ConnectivityServiceTest {
toUidRangeStableParcels(vpnRanges), PREFERENCE_ORDER_VPN));
}
inOrder.verify(mMockNetd, times(1)).socketDestroy(eq(toUidRangeStableParcels(vpnRanges)),
exemptUidCaptor.capture());
assertContainsExactly(exemptUidCaptor.getValue(), Process.VPN_UID, exemptUid);
inOrder.verify(mDeps).destroyLiveTcpSockets(UidRange.toIntRanges(vpnRanges),
exemptUidSet);
}
@Test