OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |