Merge "Use completeExceptionally instead of second future" am: da294fc886

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2054246

Change-Id: I366e56c4e5f7eb369e9b500d5dffd13227aaff2e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Patrick Rohr
2022-04-07 12:37:07 +00:00
committed by Automerger Merge Worker

View File

@@ -20,9 +20,9 @@ import static com.android.testutils.DevSdkIgnoreRuleKt.SC_V2;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.anyString;
@@ -41,8 +41,8 @@ import android.app.test.MockAnswerUtil.AnswerWithArguments;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.EthernetNetworkSpecifier;
import android.net.EthernetNetworkManagementException; import android.net.EthernetNetworkManagementException;
import android.net.EthernetNetworkSpecifier;
import android.net.INetworkInterfaceOutcomeReceiver; import android.net.INetworkInterfaceOutcomeReceiver;
import android.net.IpConfiguration; import android.net.IpConfiguration;
import android.net.LinkAddress; import android.net.LinkAddress;
@@ -59,14 +59,11 @@ import android.os.Handler;
import android.os.IBinder; import android.os.IBinder;
import android.os.Looper; import android.os.Looper;
import android.os.test.TestLooper; import android.os.test.TestLooper;
import android.util.Pair;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4; import androidx.test.runner.AndroidJUnit4;
import com.android.connectivity.resources.R;
import com.android.net.module.util.InterfaceParams; import com.android.net.module.util.InterfaceParams;
import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRule;
import org.junit.After; import org.junit.After;
@@ -79,6 +76,7 @@ import org.mockito.MockitoAnnotations;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@@ -362,7 +360,7 @@ public class EthernetNetworkFactoryTest {
assertFalse(ret); assertFalse(ret);
verifyNoStopOrStart(); verifyNoStopOrStart();
listener.expectOnErrorWithMessage("can't be updated as it is not available"); listener.expectOnError();
} }
@Test @Test
@@ -376,7 +374,7 @@ public class EthernetNetworkFactoryTest {
assertFalse(ret); assertFalse(ret);
verifyNoStopOrStart(); verifyNoStopOrStart();
listener.expectOnErrorWithMessage("No changes"); listener.expectOnError();
} }
@Test @Test
@@ -626,8 +624,6 @@ public class EthernetNetworkFactoryTest {
private static final class TestNetworkManagementListener private static final class TestNetworkManagementListener
implements INetworkInterfaceOutcomeReceiver { implements INetworkInterfaceOutcomeReceiver {
private final CompletableFuture<String> mResult = new CompletableFuture<>(); private final CompletableFuture<String> mResult = new CompletableFuture<>();
private final CompletableFuture<EthernetNetworkManagementException> mError =
new CompletableFuture<>();
@Override @Override
public void onResult(@NonNull String iface) { public void onResult(@NonNull String iface) {
@@ -636,19 +632,21 @@ public class EthernetNetworkFactoryTest {
@Override @Override
public void onError(@NonNull EthernetNetworkManagementException exception) { public void onError(@NonNull EthernetNetworkManagementException exception) {
mError.complete(exception); mResult.completeExceptionally(exception);
} }
String expectOnResult() throws Exception { String expectOnResult() throws Exception {
return mResult.get(TIMEOUT_MS, TimeUnit.MILLISECONDS); return mResult.get(TIMEOUT_MS, TimeUnit.MILLISECONDS);
} }
EthernetNetworkManagementException expectOnError() throws Exception { void expectOnError() throws Exception {
return mError.get(TIMEOUT_MS, TimeUnit.MILLISECONDS); assertThrows(EthernetNetworkManagementException.class, () -> {
} try {
mResult.get();
void expectOnErrorWithMessage(String msg) throws Exception { } catch (ExecutionException e) {
assertTrue(expectOnError().getMessage().contains(msg)); throw e.getCause();
}
});
} }
@Override @Override
@@ -723,7 +721,7 @@ public class EthernetNetworkFactoryTest {
mNetFactory.updateInterface(iface, ipConfiguration, capabilities, failedListener); mNetFactory.updateInterface(iface, ipConfiguration, capabilities, failedListener);
interruptingRunnable.run(); interruptingRunnable.run();
failedListener.expectOnErrorWithMessage("aborted"); failedListener.expectOnError();
} }
@Test @Test
@@ -754,7 +752,7 @@ public class EthernetNetworkFactoryTest {
mNetFactory.updateInterface(TEST_IFACE, ipConfiguration, capabilities, listener); mNetFactory.updateInterface(TEST_IFACE, ipConfiguration, capabilities, listener);
verifyNoStopOrStart(); verifyNoStopOrStart();
listener.expectOnErrorWithMessage("can't be updated as it is not available"); listener.expectOnError();
} }
@Test @Test