OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // This is a mock of the http cache and related testing classes. To be fair, it | 5 // This is a mock of the http cache and related testing classes. To be fair, it |
6 // is not really a mock http cache given that it uses the real implementation of | 6 // is not really a mock http cache given that it uses the real implementation of |
7 // the http cache, but it has fake implementations of all required components, | 7 // the http cache, but it has fake implementations of all required components, |
8 // so it is useful for unit tests at the http layer. | 8 // so it is useful for unit tests at the http layer. |
9 | 9 |
10 #ifndef NET_HTTP_MOCK_HTTP_CACHE_H_ | 10 #ifndef NET_HTTP_MOCK_HTTP_CACHE_H_ |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 int open_count_; | 145 int open_count_; |
146 int create_count_; | 146 int create_count_; |
147 bool fail_requests_; | 147 bool fail_requests_; |
148 bool soft_failures_; | 148 bool soft_failures_; |
149 bool double_create_check_; | 149 bool double_create_check_; |
150 }; | 150 }; |
151 | 151 |
152 class MockBackendFactory : public net::HttpCache::BackendFactory { | 152 class MockBackendFactory : public net::HttpCache::BackendFactory { |
153 public: | 153 public: |
154 virtual int CreateBackend(net::NetLog* net_log, | 154 virtual int CreateBackend(net::NetLog* net_log, |
155 disk_cache::Backend** backend, | 155 scoped_ptr<disk_cache::Backend>* backend, |
156 const net::CompletionCallback& callback) OVERRIDE; | 156 const net::CompletionCallback& callback) OVERRIDE; |
157 }; | 157 }; |
158 | 158 |
159 class MockHttpCache { | 159 class MockHttpCache { |
160 public: | 160 public: |
161 MockHttpCache(); | 161 MockHttpCache(); |
162 explicit MockHttpCache(net::HttpCache::BackendFactory* disk_cache_factory); | 162 explicit MockHttpCache(net::HttpCache::BackendFactory* disk_cache_factory); |
163 | 163 |
164 net::HttpCache* http_cache() { return &http_cache_; } | 164 net::HttpCache* http_cache() { return &http_cache_; } |
165 | 165 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 | 199 |
200 // This version of the disk cache doesn't invoke CreateEntry callbacks. | 200 // This version of the disk cache doesn't invoke CreateEntry callbacks. |
201 class MockDiskCacheNoCB : public MockDiskCache { | 201 class MockDiskCacheNoCB : public MockDiskCache { |
202 virtual int CreateEntry(const std::string& key, disk_cache::Entry** entry, | 202 virtual int CreateEntry(const std::string& key, disk_cache::Entry** entry, |
203 const net::CompletionCallback& callback) OVERRIDE; | 203 const net::CompletionCallback& callback) OVERRIDE; |
204 }; | 204 }; |
205 | 205 |
206 class MockBackendNoCbFactory : public net::HttpCache::BackendFactory { | 206 class MockBackendNoCbFactory : public net::HttpCache::BackendFactory { |
207 public: | 207 public: |
208 virtual int CreateBackend(net::NetLog* net_log, | 208 virtual int CreateBackend(net::NetLog* net_log, |
209 disk_cache::Backend** backend, | 209 scoped_ptr<disk_cache::Backend>* backend, |
210 const net::CompletionCallback& callback) OVERRIDE; | 210 const net::CompletionCallback& callback) OVERRIDE; |
211 }; | 211 }; |
212 | 212 |
213 // This backend factory allows us to control the backend instantiation. | 213 // This backend factory allows us to control the backend instantiation. |
214 class MockBlockingBackendFactory : public net::HttpCache::BackendFactory { | 214 class MockBlockingBackendFactory : public net::HttpCache::BackendFactory { |
215 public: | 215 public: |
216 MockBlockingBackendFactory(); | 216 MockBlockingBackendFactory(); |
217 virtual ~MockBlockingBackendFactory(); | 217 virtual ~MockBlockingBackendFactory(); |
218 | 218 |
219 virtual int CreateBackend(net::NetLog* net_log, | 219 virtual int CreateBackend(net::NetLog* net_log, |
220 disk_cache::Backend** backend, | 220 scoped_ptr<disk_cache::Backend>* backend, |
221 const net::CompletionCallback& callback) OVERRIDE; | 221 const net::CompletionCallback& callback) OVERRIDE; |
222 | 222 |
223 // Completes the backend creation. Any blocked call will be notified via the | 223 // Completes the backend creation. Any blocked call will be notified via the |
224 // provided callback. | 224 // provided callback. |
225 void FinishCreation(); | 225 void FinishCreation(); |
226 | 226 |
227 disk_cache::Backend** backend() { return backend_; } | 227 scoped_ptr<disk_cache::Backend>* backend() { return backend_; } |
228 void set_fail(bool fail) { fail_ = fail; } | 228 void set_fail(bool fail) { fail_ = fail; } |
229 | 229 |
230 const net::CompletionCallback& callback() { return callback_; } | 230 const net::CompletionCallback& callback() { return callback_; } |
231 | 231 |
232 private: | 232 private: |
233 int Result() { return fail_ ? net::ERR_FAILED : net::OK; } | 233 int Result() { return fail_ ? net::ERR_FAILED : net::OK; } |
234 | 234 |
235 disk_cache::Backend** backend_; | 235 scoped_ptr<disk_cache::Backend>* backend_; |
236 net::CompletionCallback callback_; | 236 net::CompletionCallback callback_; |
237 bool block_; | 237 bool block_; |
238 bool fail_; | 238 bool fail_; |
239 }; | 239 }; |
240 | 240 |
241 #endif // NET_HTTP_MOCK_HTTP_CACHE_H_ | 241 #endif // NET_HTTP_MOCK_HTTP_CACHE_H_ |
OLD | NEW |