Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(135)

Side by Side Diff: components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java

Issue 2406273002: [Cronet] Test the libcronet that's shipped, not libcronet_test (Closed)
Patch Set: address Helen's comments Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.net; 5 package org.chromium.net;
6 6
7 import android.os.ConditionVariable; 7 import android.os.ConditionVariable;
8 import android.os.ParcelFileDescriptor; 8 import android.os.ParcelFileDescriptor;
9 import android.os.StrictMode; 9 import android.os.StrictMode;
10 import android.test.suitebuilder.annotation.SmallTest; 10 import android.test.suitebuilder.annotation.SmallTest;
11 11
12 import org.chromium.base.annotations.SuppressFBWarnings; 12 import org.chromium.base.annotations.SuppressFBWarnings;
13 import org.chromium.base.test.util.Feature; 13 import org.chromium.base.test.util.Feature;
14 14
15 import java.io.File; 15 import java.io.File;
16 import java.io.FileOutputStream; 16 import java.io.FileOutputStream;
17 import java.io.IOException; 17 import java.io.IOException;
18 import java.nio.ByteBuffer; 18 import java.nio.ByteBuffer;
19 19
20 /** Test the default provided implementations of {@link UploadDataProvider} */ 20 /** Test the default provided implementations of {@link UploadDataProvider} */
21 public class UploadDataProvidersTest extends CronetTestBase { 21 public class UploadDataProvidersTest extends CronetTestBase {
22 private static final String LOREM = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " 22 private static final String LOREM = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. "
23 + "Proin elementum, libero laoreet fringilla faucibus, metus tortor vehicula ante, " 23 + "Proin elementum, libero laoreet fringilla faucibus, metus tortor vehicula ante, "
24 + "lacinia lorem eros vel sapien."; 24 + "lacinia lorem eros vel sapien.";
25 private CronetTestFramework mTestFramework; 25 private CronetTestFramework mTestFramework;
26 private File mFile; 26 private File mFile;
27 private StrictMode.VmPolicy mOldVmPolicy; 27 private StrictMode.VmPolicy mOldVmPolicy;
28 private MockUrlRequestJobFactory mMockUrlRequestJobFactory;
28 29
29 @Override 30 @Override
30 protected void setUp() throws Exception { 31 protected void setUp() throws Exception {
31 super.setUp(); 32 super.setUp();
32 mOldVmPolicy = StrictMode.getVmPolicy(); 33 mOldVmPolicy = StrictMode.getVmPolicy();
33 StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() 34 StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
34 .detectLeakedClosableObjects() 35 .detectLeakedClosableObjects()
35 .penaltyLog() 36 .penaltyLog()
36 .penaltyDeath() 37 .penaltyDeath()
37 .build()); 38 .build());
38 mTestFramework = startCronetTestFramework(); 39 mTestFramework = startCronetTestFramework();
39 assertTrue(NativeTestServer.startNativeTestServer(getContext())); 40 assertTrue(NativeTestServer.startNativeTestServer(getContext()));
40 // Add url interceptors after native application context is initialized. 41 // Add url interceptors after native application context is initialized.
41 MockUrlRequestJobFactory.setUp(); 42 mMockUrlRequestJobFactory = new MockUrlRequestJobFactory(mTestFramework. mCronetEngine);
42 mFile = new File(getContext().getCacheDir().getPath() + "/tmpfile"); 43 mFile = new File(getContext().getCacheDir().getPath() + "/tmpfile");
43 FileOutputStream fileOutputStream = new FileOutputStream(mFile); 44 FileOutputStream fileOutputStream = new FileOutputStream(mFile);
44 try { 45 try {
45 fileOutputStream.write(LOREM.getBytes("UTF-8")); 46 fileOutputStream.write(LOREM.getBytes("UTF-8"));
46 } finally { 47 } finally {
47 fileOutputStream.close(); 48 fileOutputStream.close();
48 } 49 }
49 } 50 }
50 51
51 @SuppressFBWarnings("DM_GC") // Used to trigger strictmode detecting leaked closeables 52 @SuppressFBWarnings("DM_GC") // Used to trigger strictmode detecting leaked closeables
52 @Override 53 @Override
53 protected void tearDown() throws Exception { 54 protected void tearDown() throws Exception {
54 try { 55 try {
56 mMockUrlRequestJobFactory.shutdown();
55 NativeTestServer.shutdownNativeTestServer(); 57 NativeTestServer.shutdownNativeTestServer();
56 mTestFramework.mCronetEngine.shutdown(); 58 mTestFramework.mCronetEngine.shutdown();
57 assertTrue(mFile.delete()); 59 assertTrue(mFile.delete());
58 // Run GC and finalizers a few times to pick up leaked closeables 60 // Run GC and finalizers a few times to pick up leaked closeables
59 for (int i = 0; i < 10; i++) { 61 for (int i = 0; i < 10; i++) {
60 System.gc(); 62 System.gc();
61 System.runFinalization(); 63 System.runFinalization();
62 } 64 }
63 System.gc(); 65 System.gc();
64 System.runFinalization(); 66 System.runFinalization();
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 UploadDataProviders.create(uploadDataWithPadding, offset, upload Data.length); 228 UploadDataProviders.create(uploadDataWithPadding, offset, upload Data.length);
227 assertEquals(uploadData.length, dataProvider.getLength()); 229 assertEquals(uploadData.length, dataProvider.getLength());
228 builder.setUploadDataProvider(dataProvider, callback.getExecutor()); 230 builder.setUploadDataProvider(dataProvider, callback.getExecutor());
229 UrlRequest urlRequest = builder.build(); 231 UrlRequest urlRequest = builder.build();
230 urlRequest.start(); 232 urlRequest.start();
231 callback.blockForDone(); 233 callback.blockForDone();
232 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); 234 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
233 assertEquals(LOREM, callback.mResponseAsString); 235 assertEquals(LOREM, callback.mResponseAsString);
234 } 236 }
235 } 237 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698