Merge "Cronet: Fix linting errors for API tests"

This commit is contained in:
Chidera Olibie
2022-11-23 09:50:22 +00:00
committed by Gerrit Code Review

View File

@@ -24,17 +24,11 @@ import android.content.Context;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4; import androidx.test.runner.AndroidJUnit4;
import java.nio.ByteBuffer;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import java.util.Random;
import org.chromium.net.CronetEngine; import org.chromium.net.CronetEngine;
import org.chromium.net.CronetException; import org.chromium.net.CronetException;
import org.chromium.net.UrlRequest; import org.chromium.net.UrlRequest;
@@ -43,19 +37,22 @@ import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import java.nio.ByteBuffer;
import java.util.Random;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public class CronetApiTest { public class CronetApiTest {
private static final String TAG = CronetApiTest.class.getSimpleName(); private static final String TAG = CronetApiTest.class.getSimpleName();
static final String HTTPS_PREFIX = "https://"; private static final String HTTPS_PREFIX = "https://";
static final int TIMEOUT_MS = 12_000; private static final int TIMEOUT_MS = 12_000;
private final String[] mTestDomains = {"www.google.com", "www.android.com"}; private final String[] mTestDomains = {"www.google.com", "www.android.com"};
@NonNull @NonNull private CronetEngine mCronetEngine;
private CronetEngine mCronetEngine; @NonNull private ConnectivityManager mCm;
@NonNull @NonNull private Executor mExecutor;
private ConnectivityManager mCm;
@NonNull
private Executor mExecutor;
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
@@ -70,13 +67,12 @@ public class CronetApiTest {
mExecutor = new Handler(Looper.getMainLooper())::post; mExecutor = new Handler(Looper.getMainLooper())::post;
} }
static private void assertGreaterThan(String msg, int first, int second) { private static void assertGreaterThan(String msg, int first, int second) {
assertTrue(msg + " Excepted " + first + " to be greater than " + second, first > second); assertTrue(msg + " Excepted " + first + " to be greater than " + second, first > second);
} }
private void assertHasTestableNetworks() { private void assertHasTestableNetworks() {
assertNotNull("This test requires a working Internet connection", assertNotNull("This test requires a working Internet connection", mCm.getActiveNetwork());
mCm.getActiveNetwork());
} }
private String getRandomDomain() { private String getRandomDomain() {
@@ -84,11 +80,11 @@ public class CronetApiTest {
return mTestDomains[index]; return mTestDomains[index];
} }
class VerifyUrlRequestCallback extends UrlRequest.Callback { private static class TestUrlRequestCallback extends UrlRequest.Callback {
private final CountDownLatch mLatch = new CountDownLatch(1); private final CountDownLatch mLatch = new CountDownLatch(1);
private final String mUrl; private final String mUrl;
VerifyUrlRequestCallback(@NonNull String url) { TestUrlRequestCallback(@NonNull String url) {
this.mUrl = url; this.mUrl = url;
} }
@@ -114,13 +110,14 @@ public class CronetApiTest {
request.read(byteBuffer); request.read(byteBuffer);
} }
@Override @Override
public void onSucceeded(UrlRequest request, UrlResponseInfo info) { public void onSucceeded(UrlRequest request, UrlResponseInfo info) {
assertEquals("Unexpected http status code from " + mUrl + ".", assertEquals(
200, info.getHttpStatusCode()); "Unexpected http status code from " + mUrl + ".",
assertGreaterThan("Received byte from " + mUrl + " is 0.", 200,
(int)info.getReceivedByteCount(), 0); info.getHttpStatusCode());
assertGreaterThan(
"Received byte from " + mUrl + " is 0.", (int) info.getReceivedByteCount(), 0);
mLatch.countDown(); mLatch.countDown();
} }
@@ -131,14 +128,12 @@ public class CronetApiTest {
} }
@Test @Test
public void testUrlGet() throws Exception { public void testUrlRequestGet_CompletesSuccessfully() throws Exception {
assertHasTestableNetworks(); assertHasTestableNetworks();
String url = HTTPS_PREFIX + getRandomDomain(); String url = HTTPS_PREFIX + getRandomDomain();
VerifyUrlRequestCallback callback = new VerifyUrlRequestCallback(url); TestUrlRequestCallback callback = new TestUrlRequestCallback(url);
UrlRequest.Builder builder = mCronetEngine.newUrlRequestBuilder(url, callback, mExecutor); UrlRequest.Builder builder = mCronetEngine.newUrlRequestBuilder(url, callback, mExecutor);
builder.build().start(); builder.build().start();
assertTrue(url + " but not complete after " + TIMEOUT_MS + "ms.", assertTrue(url + " but not complete after " + TIMEOUT_MS + "ms.", callback.waitForAnswer());
callback.waitForAnswer());
} }
} }