Merge "[SP32.3] No-op refactoring of OffloadControllerTest"
This commit is contained in:
@@ -177,87 +177,65 @@ public class OffloadControllerTest {
|
|||||||
return offload;
|
return offload;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@NonNull
|
||||||
public void testNoSettingsValueDefaultDisabledDoesNotStart() throws Exception {
|
private OffloadController startOffloadController(boolean expectStart)
|
||||||
|
throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
setupFunctioningHardwareInterface();
|
||||||
when(mHardware.getDefaultTetherOffloadDisabled()).thenReturn(1);
|
|
||||||
assertThrows(SettingNotFoundException.class, () ->
|
|
||||||
Settings.Global.getInt(mContentResolver, TETHER_OFFLOAD_DISABLED));
|
|
||||||
|
|
||||||
final OffloadController offload = makeOffloadController();
|
final OffloadController offload = makeOffloadController();
|
||||||
offload.start();
|
offload.start();
|
||||||
|
|
||||||
final InOrder inOrder = inOrder(mHardware);
|
final InOrder inOrder = inOrder(mHardware);
|
||||||
inOrder.verify(mHardware, times(1)).getDefaultTetherOffloadDisabled();
|
inOrder.verify(mHardware, times(1)).getDefaultTetherOffloadDisabled();
|
||||||
inOrder.verify(mHardware, never()).initOffloadConfig();
|
inOrder.verify(mHardware, times(expectStart ? 1 : 0)).initOffloadConfig();
|
||||||
inOrder.verify(mHardware, never()).initOffloadControl(
|
inOrder.verify(mHardware, times(expectStart ? 1 : 0)).initOffloadControl(
|
||||||
any(OffloadHardwareInterface.ControlCallback.class));
|
any(OffloadHardwareInterface.ControlCallback.class));
|
||||||
inOrder.verifyNoMoreInteractions();
|
inOrder.verifyNoMoreInteractions();
|
||||||
|
// Clear counters only instead of whole mock to preserve the mocking setup.
|
||||||
|
clearInvocations(mHardware);
|
||||||
|
return offload;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void stopOffloadController(final OffloadController offload) throws Exception {
|
||||||
|
final InOrder inOrder = inOrder(mHardware);
|
||||||
|
offload.stop();
|
||||||
|
inOrder.verify(mHardware, times(1)).stopOffloadControl();
|
||||||
|
inOrder.verifyNoMoreInteractions();
|
||||||
|
reset(mHardware);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testNoSettingsValueDefaultDisabledDoesNotStart() throws Exception {
|
||||||
|
when(mHardware.getDefaultTetherOffloadDisabled()).thenReturn(1);
|
||||||
|
assertThrows(SettingNotFoundException.class, () ->
|
||||||
|
Settings.Global.getInt(mContentResolver, TETHER_OFFLOAD_DISABLED));
|
||||||
|
startOffloadController(false /*expectStart*/);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNoSettingsValueDefaultEnabledDoesStart() throws Exception {
|
public void testNoSettingsValueDefaultEnabledDoesStart() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
when(mHardware.getDefaultTetherOffloadDisabled()).thenReturn(0);
|
when(mHardware.getDefaultTetherOffloadDisabled()).thenReturn(0);
|
||||||
assertThrows(SettingNotFoundException.class, () ->
|
assertThrows(SettingNotFoundException.class, () ->
|
||||||
Settings.Global.getInt(mContentResolver, TETHER_OFFLOAD_DISABLED));
|
Settings.Global.getInt(mContentResolver, TETHER_OFFLOAD_DISABLED));
|
||||||
|
startOffloadController(true /*expectStart*/);
|
||||||
final OffloadController offload = makeOffloadController();
|
|
||||||
offload.start();
|
|
||||||
|
|
||||||
final InOrder inOrder = inOrder(mHardware);
|
|
||||||
inOrder.verify(mHardware, times(1)).getDefaultTetherOffloadDisabled();
|
|
||||||
inOrder.verify(mHardware, times(1)).initOffloadConfig();
|
|
||||||
inOrder.verify(mHardware, times(1)).initOffloadControl(
|
|
||||||
any(OffloadHardwareInterface.ControlCallback.class));
|
|
||||||
inOrder.verifyNoMoreInteractions();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSettingsAllowsStart() throws Exception {
|
public void testSettingsAllowsStart() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
Settings.Global.putInt(mContentResolver, TETHER_OFFLOAD_DISABLED, 0);
|
Settings.Global.putInt(mContentResolver, TETHER_OFFLOAD_DISABLED, 0);
|
||||||
|
startOffloadController(true /*expectStart*/);
|
||||||
final OffloadController offload = makeOffloadController();
|
|
||||||
offload.start();
|
|
||||||
|
|
||||||
final InOrder inOrder = inOrder(mHardware);
|
|
||||||
inOrder.verify(mHardware, times(1)).getDefaultTetherOffloadDisabled();
|
|
||||||
inOrder.verify(mHardware, times(1)).initOffloadConfig();
|
|
||||||
inOrder.verify(mHardware, times(1)).initOffloadControl(
|
|
||||||
any(OffloadHardwareInterface.ControlCallback.class));
|
|
||||||
inOrder.verifyNoMoreInteractions();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSettingsDisablesStart() throws Exception {
|
public void testSettingsDisablesStart() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
Settings.Global.putInt(mContentResolver, TETHER_OFFLOAD_DISABLED, 1);
|
Settings.Global.putInt(mContentResolver, TETHER_OFFLOAD_DISABLED, 1);
|
||||||
|
startOffloadController(false /*expectStart*/);
|
||||||
final OffloadController offload = makeOffloadController();
|
|
||||||
offload.start();
|
|
||||||
|
|
||||||
final InOrder inOrder = inOrder(mHardware);
|
|
||||||
inOrder.verify(mHardware, times(1)).getDefaultTetherOffloadDisabled();
|
|
||||||
inOrder.verify(mHardware, never()).initOffloadConfig();
|
|
||||||
inOrder.verify(mHardware, never()).initOffloadControl(anyObject());
|
|
||||||
inOrder.verifyNoMoreInteractions();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetUpstreamLinkPropertiesWorking() throws Exception {
|
public void testSetUpstreamLinkPropertiesWorking() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
enableOffload();
|
enableOffload();
|
||||||
|
final OffloadController offload =
|
||||||
final OffloadController offload = makeOffloadController();
|
startOffloadController(true /*expectStart*/);
|
||||||
offload.start();
|
|
||||||
|
|
||||||
final InOrder inOrder = inOrder(mHardware);
|
|
||||||
inOrder.verify(mHardware, times(1)).getDefaultTetherOffloadDisabled();
|
|
||||||
inOrder.verify(mHardware, times(1)).initOffloadConfig();
|
|
||||||
inOrder.verify(mHardware, times(1)).initOffloadControl(
|
|
||||||
any(OffloadHardwareInterface.ControlCallback.class));
|
|
||||||
inOrder.verifyNoMoreInteractions();
|
|
||||||
|
|
||||||
// In reality, the UpstreamNetworkMonitor would have passed down to us
|
// In reality, the UpstreamNetworkMonitor would have passed down to us
|
||||||
// a covering set of local prefixes representing a minimum essential
|
// a covering set of local prefixes representing a minimum essential
|
||||||
@@ -271,6 +249,7 @@ public class OffloadControllerTest {
|
|||||||
minimumLocalPrefixes.add(new IpPrefix(s));
|
minimumLocalPrefixes.add(new IpPrefix(s));
|
||||||
}
|
}
|
||||||
offload.setLocalPrefixes(minimumLocalPrefixes);
|
offload.setLocalPrefixes(minimumLocalPrefixes);
|
||||||
|
final InOrder inOrder = inOrder(mHardware);
|
||||||
inOrder.verify(mHardware, times(1)).setLocalPrefixes(mStringArrayCaptor.capture());
|
inOrder.verify(mHardware, times(1)).setLocalPrefixes(mStringArrayCaptor.capture());
|
||||||
ArrayList<String> localPrefixes = mStringArrayCaptor.getValue();
|
ArrayList<String> localPrefixes = mStringArrayCaptor.getValue();
|
||||||
assertEquals(4, localPrefixes.size());
|
assertEquals(4, localPrefixes.size());
|
||||||
@@ -425,11 +404,9 @@ public class OffloadControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetForwardedStats() throws Exception {
|
public void testGetForwardedStats() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
enableOffload();
|
enableOffload();
|
||||||
|
final OffloadController offload =
|
||||||
final OffloadController offload = makeOffloadController();
|
startOffloadController(true /*expectStart*/);
|
||||||
offload.start();
|
|
||||||
|
|
||||||
final String ethernetIface = "eth1";
|
final String ethernetIface = "eth1";
|
||||||
final String mobileIface = "rmnet_data0";
|
final String mobileIface = "rmnet_data0";
|
||||||
@@ -439,7 +416,7 @@ public class OffloadControllerTest {
|
|||||||
when(mHardware.getForwardedStats(eq(mobileIface))).thenReturn(
|
when(mHardware.getForwardedStats(eq(mobileIface))).thenReturn(
|
||||||
new ForwardedStats(999, 99999));
|
new ForwardedStats(999, 99999));
|
||||||
|
|
||||||
InOrder inOrder = inOrder(mHardware);
|
final InOrder inOrder = inOrder(mHardware);
|
||||||
|
|
||||||
final LinkProperties lp = new LinkProperties();
|
final LinkProperties lp = new LinkProperties();
|
||||||
lp.setInterfaceName(ethernetIface);
|
lp.setInterfaceName(ethernetIface);
|
||||||
@@ -517,11 +494,9 @@ public class OffloadControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetInterfaceQuota() throws Exception {
|
public void testSetInterfaceQuota() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
enableOffload();
|
enableOffload();
|
||||||
|
final OffloadController offload =
|
||||||
final OffloadController offload = makeOffloadController();
|
startOffloadController(true /*expectStart*/);
|
||||||
offload.start();
|
|
||||||
|
|
||||||
final String ethernetIface = "eth1";
|
final String ethernetIface = "eth1";
|
||||||
final String mobileIface = "rmnet_data0";
|
final String mobileIface = "rmnet_data0";
|
||||||
@@ -581,11 +556,9 @@ public class OffloadControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDataLimitCallback() throws Exception {
|
public void testDataLimitCallback() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
enableOffload();
|
enableOffload();
|
||||||
|
final OffloadController offload =
|
||||||
final OffloadController offload = makeOffloadController();
|
startOffloadController(true /*expectStart*/);
|
||||||
offload.start();
|
|
||||||
|
|
||||||
OffloadHardwareInterface.ControlCallback callback = mControlCallbackCaptor.getValue();
|
OffloadHardwareInterface.ControlCallback callback = mControlCallbackCaptor.getValue();
|
||||||
callback.onStoppedLimitReached();
|
callback.onStoppedLimitReached();
|
||||||
@@ -594,17 +567,10 @@ public class OffloadControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAddRemoveDownstreams() throws Exception {
|
public void testAddRemoveDownstreams() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
enableOffload();
|
enableOffload();
|
||||||
|
final OffloadController offload =
|
||||||
final OffloadController offload = makeOffloadController();
|
startOffloadController(true /*expectStart*/);
|
||||||
offload.start();
|
|
||||||
|
|
||||||
final InOrder inOrder = inOrder(mHardware);
|
final InOrder inOrder = inOrder(mHardware);
|
||||||
inOrder.verify(mHardware, times(1)).initOffloadConfig();
|
|
||||||
inOrder.verify(mHardware, times(1)).initOffloadControl(
|
|
||||||
any(OffloadHardwareInterface.ControlCallback.class));
|
|
||||||
inOrder.verifyNoMoreInteractions();
|
|
||||||
|
|
||||||
// Tethering makes several calls to setLocalPrefixes() before add/remove
|
// Tethering makes several calls to setLocalPrefixes() before add/remove
|
||||||
// downstream calls are made. This is not tested here; only the behavior
|
// downstream calls are made. This is not tested here; only the behavior
|
||||||
@@ -668,11 +634,9 @@ public class OffloadControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testControlCallbackOnStoppedUnsupportedFetchesAllStats() throws Exception {
|
public void testControlCallbackOnStoppedUnsupportedFetchesAllStats() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
enableOffload();
|
enableOffload();
|
||||||
|
final OffloadController offload =
|
||||||
final OffloadController offload = makeOffloadController();
|
startOffloadController(true /*expectStart*/);
|
||||||
offload.start();
|
|
||||||
|
|
||||||
// Pretend to set a few different upstreams (only the interface name
|
// Pretend to set a few different upstreams (only the interface name
|
||||||
// matters for this test; we're ignoring IP and route information).
|
// matters for this test; we're ignoring IP and route information).
|
||||||
@@ -701,11 +665,9 @@ public class OffloadControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testControlCallbackOnSupportAvailableFetchesAllStatsAndPushesAllParameters()
|
public void testControlCallbackOnSupportAvailableFetchesAllStatsAndPushesAllParameters()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
enableOffload();
|
enableOffload();
|
||||||
|
final OffloadController offload =
|
||||||
final OffloadController offload = makeOffloadController();
|
startOffloadController(true /*expectStart*/);
|
||||||
offload.start();
|
|
||||||
|
|
||||||
// Pretend to set a few different upstreams (only the interface name
|
// Pretend to set a few different upstreams (only the interface name
|
||||||
// matters for this test; we're ignoring IP and route information).
|
// matters for this test; we're ignoring IP and route information).
|
||||||
@@ -780,11 +742,10 @@ public class OffloadControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnSetAlert() throws Exception {
|
public void testOnSetAlert() throws Exception {
|
||||||
setupFunctioningHardwareInterface();
|
|
||||||
enableOffload();
|
enableOffload();
|
||||||
setOffloadPollInterval(DEFAULT_TETHER_OFFLOAD_POLL_INTERVAL_MS);
|
setOffloadPollInterval(DEFAULT_TETHER_OFFLOAD_POLL_INTERVAL_MS);
|
||||||
final OffloadController offload = makeOffloadController();
|
final OffloadController offload =
|
||||||
offload.start();
|
startOffloadController(true /*expectStart*/);
|
||||||
|
|
||||||
// Initialize with fake eth upstream.
|
// Initialize with fake eth upstream.
|
||||||
final String ethernetIface = "eth1";
|
final String ethernetIface = "eth1";
|
||||||
|
|||||||
Reference in New Issue
Block a user