diff options
Diffstat (limited to 'tests/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java')
-rw-r--r-- | tests/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java | 72 |
1 files changed, 39 insertions, 33 deletions
diff --git a/tests/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java b/tests/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java index 5d23aaf..726833f 100644 --- a/tests/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java +++ b/tests/java/com/android/server/ethernet/EthernetNetworkFactoryTest.java @@ -41,8 +41,8 @@ import android.content.Context; import android.content.res.Resources; import android.net.ConnectivityManager; import android.net.EthernetNetworkSpecifier; +import android.net.IEthernetNetworkManagementListener; import android.net.EthernetNetworkManagementException; -import android.net.INetworkInterfaceOutcomeReceiver; import android.net.IpConfiguration; import android.net.LinkAddress; import android.net.LinkProperties; @@ -85,7 +85,7 @@ import java.util.concurrent.TimeUnit; public class EthernetNetworkFactoryTest { private static final int TIMEOUT_MS = 2_000; private static final String TEST_IFACE = "test123"; - private static final INetworkInterfaceOutcomeReceiver NULL_LISTENER = null; + private static final IEthernetNetworkManagementListener NULL_LISTENER = null; private static final String IP_ADDR = "192.0.2.2/25"; private static final LinkAddress LINK_ADDR = new LinkAddress(IP_ADDR); private static final String HW_ADDR = "01:02:03:04:05:06"; @@ -322,7 +322,7 @@ public class EthernetNetworkFactoryTest { assertTrue(ret); verify(mIpClient).shutdown(); - assertEquals(listener.expectOnResult(), TEST_IFACE); + assertSuccessfulListener(listener, null); } @Test @@ -336,7 +336,7 @@ public class EthernetNetworkFactoryTest { assertTrue(ret); verifyStop(); - assertEquals(listener.expectOnResult(), TEST_IFACE); + assertSuccessfulListener(listener, mMockNetwork); } @Test @@ -353,7 +353,7 @@ public class EthernetNetworkFactoryTest { verify(mDeps, never()).makeIpClient(any(), any(), any()); verify(mDeps, never()) .makeEthernetNetworkAgent(any(), any(), any(), any(), any(), any(), any()); - assertEquals(listener.expectOnResult(), TEST_IFACE); + assertSuccessfulListener(listener, null); } @Test @@ -367,7 +367,7 @@ public class EthernetNetworkFactoryTest { assertFalse(ret); verifyNoStopOrStart(); - listener.expectOnErrorWithMessage("can't be updated as it is not available"); + assertFailedListener(listener, "can't be updated as it is not available"); } @Test @@ -381,7 +381,7 @@ public class EthernetNetworkFactoryTest { assertFalse(ret); verifyNoStopOrStart(); - listener.expectOnErrorWithMessage("No changes"); + assertFailedListener(listener, "No changes"); } @Test @@ -638,31 +638,18 @@ public class EthernetNetworkFactoryTest { } private static final class TestNetworkManagementListener - implements INetworkInterfaceOutcomeReceiver { - private final CompletableFuture<String> mResult = new CompletableFuture<>(); - private final CompletableFuture<EthernetNetworkManagementException> mError = - new CompletableFuture<>(); + implements IEthernetNetworkManagementListener { + private final CompletableFuture<Pair<Network, EthernetNetworkManagementException>> mDone + = new CompletableFuture<>(); @Override - public void onResult(@NonNull String iface) { - mResult.complete(iface); + public void onComplete(final Network network, + final EthernetNetworkManagementException exception) { + mDone.complete(new Pair<>(network, exception)); } - @Override - public void onError(@NonNull EthernetNetworkManagementException exception) { - mError.complete(exception); - } - - String expectOnResult() throws Exception { - return mResult.get(TIMEOUT_MS, TimeUnit.MILLISECONDS); - } - - EthernetNetworkManagementException expectOnError() throws Exception { - return mError.get(TIMEOUT_MS, TimeUnit.MILLISECONDS); - } - - void expectOnErrorWithMessage(String msg) throws Exception { - assertTrue(expectOnError().getMessage().contains(msg)); + Pair<Network, EthernetNetworkManagementException> expectOnComplete() throws Exception { + return mDone.get(TIMEOUT_MS, TimeUnit.MILLISECONDS); } @Override @@ -682,7 +669,7 @@ public class EthernetNetworkFactoryTest { mNetFactory.updateInterface(TEST_IFACE, ipConfiguration, capabilities, listener); triggerOnProvisioningSuccess(); - assertEquals(listener.expectOnResult(), TEST_IFACE); + assertSuccessfulListener(listener, mMockNetwork); } @DevSdkIgnoreRule.IgnoreUpTo(SC_V2) // TODO: Use to Build.VERSION_CODES.SC_V2 when available @@ -722,7 +709,26 @@ public class EthernetNetworkFactoryTest { triggerOnProvisioningSuccess(); }); - assertEquals(successfulListener.expectOnResult(), TEST_IFACE); + assertSuccessfulListener(successfulListener, mMockNetwork); + } + + private void assertSuccessfulListener( + @NonNull final TestNetworkManagementListener successfulListener, + @NonNull final Network expectedNetwork) throws Exception { + final Pair<Network, EthernetNetworkManagementException> successfulResult = + successfulListener.expectOnComplete(); + assertEquals(expectedNetwork, successfulResult.first); + assertNull(successfulResult.second); + } + + private void assertFailedListener(@NonNull final TestNetworkManagementListener failedListener, + @NonNull final String errMsg) + throws Exception { + final Pair<Network, EthernetNetworkManagementException> failedResult = + failedListener.expectOnComplete(); + assertNull(failedResult.first); + assertNotNull(failedResult.second); + assertTrue(failedResult.second.getMessage().contains(errMsg)); } private void verifyNetworkManagementCallIsAbortedWhenInterrupted( @@ -737,7 +743,7 @@ public class EthernetNetworkFactoryTest { mNetFactory.updateInterface(iface, ipConfiguration, capabilities, failedListener); interruptingRunnable.run(); - failedListener.expectOnErrorWithMessage("aborted"); + assertFailedListener(failedListener, "aborted"); } @Test @@ -751,7 +757,7 @@ public class EthernetNetworkFactoryTest { mNetFactory.updateInterface(TEST_IFACE, ipConfiguration, capabilities, listener); triggerOnProvisioningSuccess(); - assertEquals(listener.expectOnResult(), TEST_IFACE); + listener.expectOnComplete(); verify(mDeps).makeEthernetNetworkAgent(any(), any(), eq(capabilities), any(), any(), any(), any()); verifyRestart(ipConfiguration); @@ -768,7 +774,7 @@ public class EthernetNetworkFactoryTest { mNetFactory.updateInterface(TEST_IFACE, ipConfiguration, capabilities, listener); verifyNoStopOrStart(); - listener.expectOnErrorWithMessage("can't be updated as it is not available"); + assertFailedListener(listener, "can't be updated as it is not available"); } @Test |