ethernet: delete testListenEthernetStateChange
This test has been broken for a while. It tested: - adding a listener triggers an interface state changed callback and an ethernet state changed callback. - setEthernetEnabled calls back the correct listeners and removes / adds the interface. Interface state listeners are already well covered in EthernetManagerTest. I am currently working on adding tests for setEthernetEnabled (there is partial coverage in setUp and tearDown of EthernetManagerTest). Bug: 242671512 Test: atest EthernetTrackerTest Change-Id: Id1325a9056384444affb5c096cbc19d200ae0c4e
This commit is contained in:
@@ -23,24 +23,15 @@ import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertThrows;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.reset;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.EthernetManager;
|
||||
import android.net.IEthernetServiceListener;
|
||||
import android.net.INetd;
|
||||
import android.net.InetAddresses;
|
||||
import android.net.InterfaceConfigurationParcel;
|
||||
import android.net.IpConfiguration;
|
||||
import android.net.IpConfiguration.IpAssignment;
|
||||
import android.net.IpConfiguration.ProxySettings;
|
||||
@@ -66,7 +57,6 @@ import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
@SmallTest
|
||||
@RunWith(DevSdkIgnoreRunner.class)
|
||||
@@ -384,74 +374,4 @@ public class EthernetTrackerTest {
|
||||
|
||||
assertTrue(isValidTestInterface);
|
||||
}
|
||||
|
||||
public static class EthernetStateListener extends IEthernetServiceListener.Stub {
|
||||
@Override
|
||||
public void onEthernetStateChanged(int state) { }
|
||||
|
||||
@Override
|
||||
public void onInterfaceStateChanged(String iface, int state, int role,
|
||||
IpConfiguration configuration) { }
|
||||
}
|
||||
|
||||
private InterfaceConfigurationParcel createMockedIfaceParcel(final String ifname,
|
||||
final String hwAddr) {
|
||||
final InterfaceConfigurationParcel ifaceParcel = new InterfaceConfigurationParcel();
|
||||
ifaceParcel.ifName = ifname;
|
||||
ifaceParcel.hwAddr = hwAddr;
|
||||
ifaceParcel.flags = new String[] {INetd.IF_STATE_UP};
|
||||
return ifaceParcel;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListenEthernetStateChange() throws Exception {
|
||||
tracker.setIncludeTestInterfaces(true);
|
||||
waitForIdle();
|
||||
|
||||
final String testIface = "testtap123";
|
||||
final String testHwAddr = "11:22:33:44:55:66";
|
||||
final InterfaceConfigurationParcel ifaceParcel = createMockedIfaceParcel(testIface,
|
||||
testHwAddr);
|
||||
when(mNetd.interfaceGetList()).thenReturn(new String[] {testIface});
|
||||
when(mNetd.interfaceGetCfg(eq(testIface))).thenReturn(ifaceParcel);
|
||||
doReturn(new String[] {testIface}).when(mFactory).getAvailableInterfaces(anyBoolean());
|
||||
|
||||
final AtomicBoolean ifaceUp = new AtomicBoolean(true);
|
||||
doAnswer(inv -> ifaceUp.get()).when(mFactory).hasInterface(testIface);
|
||||
doAnswer(inv ->
|
||||
ifaceUp.get() ? EthernetManager.STATE_LINK_UP : EthernetManager.STATE_ABSENT)
|
||||
.when(mFactory).getInterfaceState(testIface);
|
||||
doAnswer(inv -> {
|
||||
ifaceUp.set(true);
|
||||
return null;
|
||||
}).when(mFactory).addInterface(eq(testIface), eq(testHwAddr), any(), any());
|
||||
doAnswer(inv -> {
|
||||
ifaceUp.set(false);
|
||||
return null;
|
||||
}).when(mFactory).removeInterface(testIface);
|
||||
|
||||
final EthernetStateListener listener = spy(new EthernetStateListener());
|
||||
tracker.addListener(listener, true /* canUseRestrictedNetworks */);
|
||||
// Check default state.
|
||||
waitForIdle();
|
||||
verify(listener).onInterfaceStateChanged(eq(testIface), eq(EthernetManager.STATE_LINK_UP),
|
||||
anyInt(), any());
|
||||
verify(listener).onEthernetStateChanged(eq(EthernetManager.ETHERNET_STATE_ENABLED));
|
||||
reset(listener);
|
||||
|
||||
tracker.setEthernetEnabled(false);
|
||||
waitForIdle();
|
||||
verify(mFactory).removeInterface(eq(testIface));
|
||||
verify(listener).onEthernetStateChanged(eq(EthernetManager.ETHERNET_STATE_DISABLED));
|
||||
verify(listener).onInterfaceStateChanged(eq(testIface), eq(EthernetManager.STATE_ABSENT),
|
||||
anyInt(), any());
|
||||
reset(listener);
|
||||
|
||||
tracker.setEthernetEnabled(true);
|
||||
waitForIdle();
|
||||
verify(mFactory).addInterface(eq(testIface), eq(testHwAddr), any(), any());
|
||||
verify(listener).onEthernetStateChanged(eq(EthernetManager.ETHERNET_STATE_ENABLED));
|
||||
verify(listener).onInterfaceStateChanged(eq(testIface), eq(EthernetManager.STATE_LINK_UP),
|
||||
anyInt(), any());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user