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

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

Issue 2339223002: Cronet API Refactoring (Closed)
Patch Set: Rebase & Conflict Resolution 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.test.suitebuilder.annotation.SmallTest; 7 import android.test.suitebuilder.annotation.SmallTest;
8 8
9 import org.chromium.base.FileUtils; 9 import org.chromium.base.FileUtils;
10 import org.chromium.base.PathUtils; 10 import org.chromium.base.PathUtils;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 @SmallTest 43 @SmallTest
44 @Feature({"Cronet"}) 44 @Feature({"Cronet"})
45 @OnlyRunNativeCronet 45 @OnlyRunNativeCronet
46 // Crashing on Android Cronet Builder, see crbug.com/601409. 46 // Crashing on Android Cronet Builder, see crbug.com/601409.
47 public void testReadOnlyStorageDirectory() throws Exception { 47 public void testReadOnlyStorageDirectory() throws Exception {
48 mReadOnlyStoragePath = PathUtils.getDataDirectory() + "/read_only"; 48 mReadOnlyStoragePath = PathUtils.getDataDirectory() + "/read_only";
49 File readOnlyStorage = new File(mReadOnlyStoragePath); 49 File readOnlyStorage = new File(mReadOnlyStoragePath);
50 assertTrue(readOnlyStorage.mkdir()); 50 assertTrue(readOnlyStorage.mkdir());
51 // Setting the storage directory as readonly has no effect. 51 // Setting the storage directory as readonly has no effect.
52 assertTrue(readOnlyStorage.setReadOnly()); 52 assertTrue(readOnlyStorage.setReadOnly());
53 CronetEngine.Builder builder = new CronetEngine.Builder(getContext()); 53 ExperimentalCronetEngine.Builder builder =
54 new ExperimentalCronetEngine.Builder(getContext());
54 builder.setStoragePath(mReadOnlyStoragePath); 55 builder.setStoragePath(mReadOnlyStoragePath);
55 builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 102 4); 56 builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 102 4);
56 57
57 mTestFramework = new CronetTestFramework(null, null, getContext(), build er); 58 mTestFramework = new CronetTestFramework(null, null, getContext(), build er);
58 TestUrlRequestCallback callback = new TestUrlRequestCallback(); 59 TestUrlRequestCallback callback = new TestUrlRequestCallback();
59 String url = NativeTestServer.getFileURL("/cacheable.txt"); 60 String url = NativeTestServer.getFileURL("/cacheable.txt");
60 UrlRequest.Builder requestBuilder = new UrlRequest.Builder( 61 UrlRequest.Builder requestBuilder = mTestFramework.mCronetEngine.newUrlR equestBuilder(
61 url, callback, callback.getExecutor(), mTestFramework.mCronetEng ine); 62 url, callback, callback.getExecutor());
62 UrlRequest urlRequest = requestBuilder.build(); 63 UrlRequest urlRequest = requestBuilder.build();
63 urlRequest.start(); 64 urlRequest.start();
64 callback.blockForDone(); 65 callback.blockForDone();
65 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); 66 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
66 mTestFramework.mCronetEngine.shutdown(); 67 mTestFramework.mCronetEngine.shutdown();
67 FileInputStream newVersionFile = null; 68 FileInputStream newVersionFile = null;
68 // Make sure that version file is in readOnlyStoragePath. 69 // Make sure that version file is in readOnlyStoragePath.
69 File versionFile = new File(mReadOnlyStoragePath + "/version"); 70 File versionFile = new File(mReadOnlyStoragePath + "/version");
70 try { 71 try {
71 newVersionFile = new FileInputStream(versionFile); 72 newVersionFile = new FileInputStream(versionFile);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 try { 106 try {
106 oldPrefsOut = new FileOutputStream(oldPrefsFile); 107 oldPrefsOut = new FileOutputStream(oldPrefsFile);
107 String dummy = "dummy content"; 108 String dummy = "dummy content";
108 oldPrefsOut.write(dummy.getBytes(), 0, dummy.length()); 109 oldPrefsOut.write(dummy.getBytes(), 0, dummy.length());
109 } finally { 110 } finally {
110 if (oldPrefsOut != null) { 111 if (oldPrefsOut != null) {
111 oldPrefsOut.close(); 112 oldPrefsOut.close();
112 } 113 }
113 } 114 }
114 115
115 CronetEngine.Builder builder = new CronetEngine.Builder(getContext()); 116 ExperimentalCronetEngine.Builder builder =
117 new ExperimentalCronetEngine.Builder(getContext());
116 builder.setStoragePath(CronetTestFramework.getTestStorage(getContext())) ; 118 builder.setStoragePath(CronetTestFramework.getTestStorage(getContext())) ;
117 builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 102 4); 119 builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 102 4);
118 120
119 mTestFramework = new CronetTestFramework(null, null, getContext(), build er); 121 mTestFramework = new CronetTestFramework(null, null, getContext(), build er);
120 TestUrlRequestCallback callback = new TestUrlRequestCallback(); 122 TestUrlRequestCallback callback = new TestUrlRequestCallback();
121 String url = NativeTestServer.getFileURL("/cacheable.txt"); 123 String url = NativeTestServer.getFileURL("/cacheable.txt");
122 UrlRequest.Builder requestBuilder = new UrlRequest.Builder( 124 UrlRequest.Builder requestBuilder = mTestFramework.mCronetEngine.newUrlR equestBuilder(
123 url, callback, callback.getExecutor(), mTestFramework.mCronetEng ine); 125 url, callback, callback.getExecutor());
124 UrlRequest urlRequest = requestBuilder.build(); 126 UrlRequest urlRequest = requestBuilder.build();
125 urlRequest.start(); 127 urlRequest.start();
126 callback.blockForDone(); 128 callback.blockForDone();
127 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); 129 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
128 mTestFramework.mCronetEngine.shutdown(); 130 mTestFramework.mCronetEngine.shutdown();
129 FileInputStream newVersionFile = null; 131 FileInputStream newVersionFile = null;
130 try { 132 try {
131 newVersionFile = new FileInputStream(versionFile); 133 newVersionFile = new FileInputStream(versionFile);
132 byte[] buffer = new byte[] {0, 0, 0, 0}; 134 byte[] buffer = new byte[] {0, 0, 0, 0};
133 int bytesRead = newVersionFile.read(buffer, 0, 4); 135 int bytesRead = newVersionFile.read(buffer, 0, 4);
(...skipping 11 matching lines...) Expand all
145 File prefsDir = new File(testStorage + "/prefs"); 147 File prefsDir = new File(testStorage + "/prefs");
146 assertTrue(prefsDir.exists()); 148 assertTrue(prefsDir.exists());
147 } 149 }
148 150
149 @SmallTest 151 @SmallTest
150 @Feature({"Cronet"}) 152 @Feature({"Cronet"})
151 @OnlyRunNativeCronet 153 @OnlyRunNativeCronet
152 // Tests that if cache version is current, Cronet does not purge the directo ry. 154 // Tests that if cache version is current, Cronet does not purge the directo ry.
153 public void testCacheVersionCurrent() throws Exception { 155 public void testCacheVersionCurrent() throws Exception {
154 // Initialize a CronetEngine and shut it down. 156 // Initialize a CronetEngine and shut it down.
155 CronetEngine.Builder builder = new CronetEngine.Builder(getContext()); 157 ExperimentalCronetEngine.Builder builder =
158 new ExperimentalCronetEngine.Builder(getContext());
156 builder.setStoragePath(CronetTestFramework.getTestStorage(getContext())) ; 159 builder.setStoragePath(CronetTestFramework.getTestStorage(getContext())) ;
157 builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 102 4); 160 builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 102 4);
158 161
159 mTestFramework = new CronetTestFramework(null, null, getContext(), build er); 162 mTestFramework = new CronetTestFramework(null, null, getContext(), build er);
160 TestUrlRequestCallback callback = new TestUrlRequestCallback(); 163 TestUrlRequestCallback callback = new TestUrlRequestCallback();
161 String url = NativeTestServer.getFileURL("/cacheable.txt"); 164 String url = NativeTestServer.getFileURL("/cacheable.txt");
162 UrlRequest.Builder requestBuilder = new UrlRequest.Builder( 165 UrlRequest.Builder requestBuilder = mTestFramework.mCronetEngine.newUrlR equestBuilder(
163 url, callback, callback.getExecutor(), mTestFramework.mCronetEng ine); 166 url, callback, callback.getExecutor());
164 UrlRequest urlRequest = requestBuilder.build(); 167 UrlRequest urlRequest = requestBuilder.build();
165 urlRequest.start(); 168 urlRequest.start();
166 callback.blockForDone(); 169 callback.blockForDone();
167 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); 170 assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
168 mTestFramework.mCronetEngine.shutdown(); 171 mTestFramework.mCronetEngine.shutdown();
169 172
170 // Create a dummy file in storage directory. 173 // Create a dummy file in storage directory.
171 String testStorage = CronetTestFramework.getTestStorage(getContext()); 174 String testStorage = CronetTestFramework.getTestStorage(getContext());
172 File dummyFile = new File(testStorage + "/dummy.json"); 175 File dummyFile = new File(testStorage + "/dummy.json");
173 FileOutputStream dummyFileOut = null; 176 FileOutputStream dummyFileOut = null;
174 String dummyContent = "dummy content"; 177 String dummyContent = "dummy content";
175 try { 178 try {
176 dummyFileOut = new FileOutputStream(dummyFile); 179 dummyFileOut = new FileOutputStream(dummyFile);
177 dummyFileOut.write(dummyContent.getBytes(), 0, dummyContent.length() ); 180 dummyFileOut.write(dummyContent.getBytes(), 0, dummyContent.length() );
178 } finally { 181 } finally {
179 if (dummyFileOut != null) { 182 if (dummyFileOut != null) {
180 dummyFileOut.close(); 183 dummyFileOut.close();
181 } 184 }
182 } 185 }
183 186
184 // Creates a new CronetEngine and make a request. 187 // Creates a new CronetEngine and make a request.
185 CronetEngine engine = builder.build(); 188 CronetEngine engine = builder.build();
186 TestUrlRequestCallback callback2 = new TestUrlRequestCallback(); 189 TestUrlRequestCallback callback2 = new TestUrlRequestCallback();
187 String url2 = NativeTestServer.getFileURL("/cacheable.txt"); 190 String url2 = NativeTestServer.getFileURL("/cacheable.txt");
188 UrlRequest.Builder requestBuilder2 = 191 UrlRequest.Builder requestBuilder2 =
189 new UrlRequest.Builder(url2, callback2, callback2.getExecutor(), engine); 192 engine.newUrlRequestBuilder(url2, callback2, callback2.getExecut or());
190 UrlRequest urlRequest2 = requestBuilder2.build(); 193 UrlRequest urlRequest2 = requestBuilder2.build();
191 urlRequest2.start(); 194 urlRequest2.start();
192 callback2.blockForDone(); 195 callback2.blockForDone();
193 assertEquals(200, callback2.mResponseInfo.getHttpStatusCode()); 196 assertEquals(200, callback2.mResponseInfo.getHttpStatusCode());
194 engine.shutdown(); 197 engine.shutdown();
195 // Dummy file still exists. 198 // Dummy file still exists.
196 BufferedReader reader = new BufferedReader(new FileReader(dummyFile)); 199 BufferedReader reader = new BufferedReader(new FileReader(dummyFile));
197 StringBuilder stringBuilder = new StringBuilder(); 200 StringBuilder stringBuilder = new StringBuilder();
198 String line; 201 String line;
199 while ((line = reader.readLine()) != null) { 202 while ((line = reader.readLine()) != null) {
200 stringBuilder.append(line); 203 stringBuilder.append(line);
201 } 204 }
202 reader.close(); 205 reader.close();
203 assertEquals(dummyContent, stringBuilder.toString()); 206 assertEquals(dummyContent, stringBuilder.toString());
204 File diskCacheDir = new File(testStorage + "/disk_cache"); 207 File diskCacheDir = new File(testStorage + "/disk_cache");
205 assertTrue(diskCacheDir.exists()); 208 assertTrue(diskCacheDir.exists());
206 File prefsDir = new File(testStorage + "/prefs"); 209 File prefsDir = new File(testStorage + "/prefs");
207 assertTrue(prefsDir.exists()); 210 assertTrue(prefsDir.exists());
208 } 211 }
209 } 212 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698