| // Copyright 2016 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package org.chromium.net.smoke; |
| |
| import static com.google.common.truth.Truth.assertThat; |
| |
| import static org.chromium.net.smoke.CronetSmokeTestRule.assertJavaEngine; |
| import static org.chromium.net.smoke.CronetSmokeTestRule.assertSuccessfulNonEmptyResponse; |
| |
| import androidx.test.core.app.ApplicationProvider; |
| import androidx.test.ext.junit.runners.AndroidJUnit4; |
| import androidx.test.filters.SmallTest; |
| |
| import org.junit.After; |
| import org.junit.Before; |
| import org.junit.Rule; |
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| |
| import org.chromium.net.UrlRequest; |
| |
| /** Tests scenario when an app doesn't contain the native Cronet implementation. */ |
| @RunWith(AndroidJUnit4.class) |
| public class PlatformOnlyEngineTest { |
| private String mURL; |
| private TestSupport.TestServer mServer; |
| |
| @Rule public CronetSmokeTestRule mRule = new CronetPlatformSmokeTestRule(); |
| |
| @Before |
| public void setUp() throws Exception { |
| // Java-only implementation of the Cronet engine only supports Http/1 protocol. |
| mServer = |
| mRule.getTestSupport() |
| .createTestServer( |
| ApplicationProvider.getApplicationContext(), |
| TestSupport.Protocol.HTTP1); |
| assertThat(mServer.start()).isTrue(); |
| mURL = mServer.getSuccessURL(); |
| } |
| |
| @After |
| public void tearDown() throws Exception { |
| mServer.shutdown(); |
| } |
| |
| /** Test a successful response when a request is sent by the Java Cronet Engine. */ |
| @Test |
| @SmallTest |
| public void testSuccessfulResponse() { |
| mRule.initCronetEngine(); |
| assertJavaEngine(mRule.getCronetEngine()); |
| SmokeTestRequestCallback callback = new SmokeTestRequestCallback(); |
| UrlRequest.Builder requestBuilder = |
| mRule.getCronetEngine() |
| .newUrlRequestBuilder(mURL, callback, callback.getExecutor()); |
| requestBuilder.build().start(); |
| callback.blockForDone(); |
| assertSuccessfulNonEmptyResponse(callback, mURL); |
| } |
| } |