[SP07] Remove reference of NetworkStatsService in IpServer
Currently NetworkStatsService is notified when downstream is updated. However, it seems unnecessary given that tether stats is persist since boot, and there is no any upstream change when downstream is changed. Test: atest NetworkStatsServiceTest IpServerTest Bug: 130855321 Change-Id: Ie300bfeb0a04678fcfcf300843b6f859af9df91d
This commit is contained in:
@@ -52,7 +52,6 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.net.INetd;
|
||||
import android.net.INetworkStatsService;
|
||||
import android.net.InterfaceConfigurationParcel;
|
||||
import android.net.IpPrefix;
|
||||
import android.net.LinkAddress;
|
||||
@@ -99,7 +98,6 @@ public class IpServerTest {
|
||||
private static final int MAKE_DHCPSERVER_TIMEOUT_MS = 1000;
|
||||
|
||||
@Mock private INetd mNetd;
|
||||
@Mock private INetworkStatsService mStatsService;
|
||||
@Mock private IpServer.Callback mCallback;
|
||||
@Mock private SharedLog mSharedLog;
|
||||
@Mock private IDhcpServer mDhcpServer;
|
||||
@@ -139,13 +137,13 @@ public class IpServerTest {
|
||||
mInterfaceConfiguration.prefixLength = BLUETOOTH_DHCP_PREFIX_LENGTH;
|
||||
}
|
||||
mIpServer = new IpServer(
|
||||
IFACE_NAME, mLooper.getLooper(), interfaceType, mSharedLog, mNetd, mStatsService,
|
||||
IFACE_NAME, mLooper.getLooper(), interfaceType, mSharedLog, mNetd,
|
||||
mCallback, usingLegacyDhcp, mDependencies);
|
||||
mIpServer.start();
|
||||
// Starting the state machine always puts us in a consistent state and notifies
|
||||
// the rest of the world that we've changed from an unknown to available state.
|
||||
mLooper.dispatchAll();
|
||||
reset(mNetd, mStatsService, mCallback);
|
||||
reset(mNetd, mCallback);
|
||||
|
||||
when(mRaDaemon.start()).thenReturn(true);
|
||||
}
|
||||
@@ -162,7 +160,7 @@ public class IpServerTest {
|
||||
if (upstreamIface != null) {
|
||||
dispatchTetherConnectionChanged(upstreamIface);
|
||||
}
|
||||
reset(mNetd, mStatsService, mCallback);
|
||||
reset(mNetd, mCallback);
|
||||
}
|
||||
|
||||
@Before public void setUp() throws Exception {
|
||||
@@ -173,13 +171,13 @@ public class IpServerTest {
|
||||
@Test
|
||||
public void startsOutAvailable() {
|
||||
mIpServer = new IpServer(IFACE_NAME, mLooper.getLooper(), TETHERING_BLUETOOTH, mSharedLog,
|
||||
mNetd, mStatsService, mCallback, false /* usingLegacyDhcp */, mDependencies);
|
||||
mNetd, mCallback, false /* usingLegacyDhcp */, mDependencies);
|
||||
mIpServer.start();
|
||||
mLooper.dispatchAll();
|
||||
verify(mCallback).updateInterfaceState(
|
||||
mIpServer, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
|
||||
verify(mCallback).updateLinkProperties(eq(mIpServer), any(LinkProperties.class));
|
||||
verifyNoMoreInteractions(mCallback, mNetd, mStatsService);
|
||||
verifyNoMoreInteractions(mCallback, mNetd);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -198,7 +196,7 @@ public class IpServerTest {
|
||||
// None of these commands should trigger us to request action from
|
||||
// the rest of the system.
|
||||
dispatchCommand(command);
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -210,7 +208,7 @@ public class IpServerTest {
|
||||
verify(mCallback).updateInterfaceState(
|
||||
mIpServer, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR);
|
||||
verify(mCallback).updateLinkProperties(eq(mIpServer), any(LinkProperties.class));
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -228,7 +226,7 @@ public class IpServerTest {
|
||||
mIpServer, STATE_TETHERED, TETHER_ERROR_NO_ERROR);
|
||||
inOrder.verify(mCallback).updateLinkProperties(
|
||||
eq(mIpServer), any(LinkProperties.class));
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -236,7 +234,7 @@ public class IpServerTest {
|
||||
initTetheredStateMachine(TETHERING_BLUETOOTH, null);
|
||||
|
||||
dispatchCommand(IpServer.CMD_TETHER_UNREQUESTED);
|
||||
InOrder inOrder = inOrder(mNetd, mStatsService, mCallback);
|
||||
InOrder inOrder = inOrder(mNetd, mCallback);
|
||||
inOrder.verify(mNetd).tetherApplyDnsInterfaces();
|
||||
inOrder.verify(mNetd).tetherInterfaceRemove(IFACE_NAME);
|
||||
inOrder.verify(mNetd).networkRemoveInterface(INetd.LOCAL_NET_ID, IFACE_NAME);
|
||||
@@ -245,7 +243,7 @@ public class IpServerTest {
|
||||
mIpServer, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
|
||||
inOrder.verify(mCallback).updateLinkProperties(
|
||||
eq(mIpServer), any(LinkProperties.class));
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -265,7 +263,7 @@ public class IpServerTest {
|
||||
inOrder.verify(mCallback).updateLinkProperties(
|
||||
eq(mIpServer), mLinkPropertiesCaptor.capture());
|
||||
assertIPv4AddressAndDirectlyConnectedRoute(mLinkPropertiesCaptor.getValue());
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -285,7 +283,7 @@ public class IpServerTest {
|
||||
inOrder.verify(mCallback).updateLinkProperties(
|
||||
eq(mIpServer), mLinkPropertiesCaptor.capture());
|
||||
assertIPv4AddressAndDirectlyConnectedRoute(mLinkPropertiesCaptor.getValue());
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -298,7 +296,7 @@ public class IpServerTest {
|
||||
InOrder inOrder = inOrder(mNetd);
|
||||
inOrder.verify(mNetd).tetherAddForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
inOrder.verify(mNetd).ipfwdAddInterfaceForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -306,13 +304,12 @@ public class IpServerTest {
|
||||
initTetheredStateMachine(TETHERING_BLUETOOTH, UPSTREAM_IFACE);
|
||||
|
||||
dispatchTetherConnectionChanged(UPSTREAM_IFACE2);
|
||||
InOrder inOrder = inOrder(mNetd, mStatsService);
|
||||
inOrder.verify(mStatsService).forceUpdate();
|
||||
InOrder inOrder = inOrder(mNetd);
|
||||
inOrder.verify(mNetd).ipfwdRemoveInterfaceForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
inOrder.verify(mNetd).tetherRemoveForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
inOrder.verify(mNetd).tetherAddForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
inOrder.verify(mNetd).ipfwdAddInterfaceForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -322,12 +319,10 @@ public class IpServerTest {
|
||||
doThrow(RemoteException.class).when(mNetd).tetherAddForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
|
||||
dispatchTetherConnectionChanged(UPSTREAM_IFACE2);
|
||||
InOrder inOrder = inOrder(mNetd, mStatsService);
|
||||
inOrder.verify(mStatsService).forceUpdate();
|
||||
InOrder inOrder = inOrder(mNetd);
|
||||
inOrder.verify(mNetd).ipfwdRemoveInterfaceForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
inOrder.verify(mNetd).tetherRemoveForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
inOrder.verify(mNetd).tetherAddForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
inOrder.verify(mStatsService).forceUpdate();
|
||||
inOrder.verify(mNetd).ipfwdRemoveInterfaceForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
inOrder.verify(mNetd).tetherRemoveForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
}
|
||||
@@ -340,13 +335,11 @@ public class IpServerTest {
|
||||
IFACE_NAME, UPSTREAM_IFACE2);
|
||||
|
||||
dispatchTetherConnectionChanged(UPSTREAM_IFACE2);
|
||||
InOrder inOrder = inOrder(mNetd, mStatsService);
|
||||
inOrder.verify(mStatsService).forceUpdate();
|
||||
InOrder inOrder = inOrder(mNetd);
|
||||
inOrder.verify(mNetd).ipfwdRemoveInterfaceForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
inOrder.verify(mNetd).tetherRemoveForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
inOrder.verify(mNetd).tetherAddForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
inOrder.verify(mNetd).ipfwdAddInterfaceForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
inOrder.verify(mStatsService).forceUpdate();
|
||||
inOrder.verify(mNetd).ipfwdRemoveInterfaceForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
inOrder.verify(mNetd).tetherRemoveForward(IFACE_NAME, UPSTREAM_IFACE2);
|
||||
}
|
||||
@@ -356,8 +349,7 @@ public class IpServerTest {
|
||||
initTetheredStateMachine(TETHERING_BLUETOOTH, UPSTREAM_IFACE);
|
||||
|
||||
dispatchCommand(IpServer.CMD_TETHER_UNREQUESTED);
|
||||
InOrder inOrder = inOrder(mNetd, mStatsService, mCallback);
|
||||
inOrder.verify(mStatsService).forceUpdate();
|
||||
InOrder inOrder = inOrder(mNetd, mCallback);
|
||||
inOrder.verify(mNetd).ipfwdRemoveInterfaceForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
inOrder.verify(mNetd).tetherRemoveForward(IFACE_NAME, UPSTREAM_IFACE);
|
||||
inOrder.verify(mNetd).tetherApplyDnsInterfaces();
|
||||
@@ -368,7 +360,7 @@ public class IpServerTest {
|
||||
mIpServer, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
|
||||
inOrder.verify(mCallback).updateLinkProperties(
|
||||
eq(mIpServer), any(LinkProperties.class));
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -435,11 +427,11 @@ public class IpServerTest {
|
||||
public void ignoresDuplicateUpstreamNotifications() throws Exception {
|
||||
initTetheredStateMachine(TETHERING_WIFI, UPSTREAM_IFACE);
|
||||
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
dispatchTetherConnectionChanged(UPSTREAM_IFACE);
|
||||
verifyNoMoreInteractions(mNetd, mStatsService, mCallback);
|
||||
verifyNoMoreInteractions(mNetd, mCallback);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user