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

Unified Diff: net/http/test_network_transaction.cc

Issue 138513002: Plumb network stack information about existence of cached copy (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Share a bit of errorpage_browsertest.cc test code. Created 6 years, 11 months 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 side-by-side diff with in-line comments
Download patch
Index: net/http/test_network_transaction.cc
diff --git a/net/http/test_network_transaction.cc b/net/http/test_network_transaction.cc
new file mode 100644
index 0000000000000000000000000000000000000000..e875ae03221e06cada99563d9fd0471650b0e0af
--- /dev/null
+++ b/net/http/test_network_transaction.cc
@@ -0,0 +1,134 @@
+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/http/test_network_transaction.h"
+
+#include "base/bind.h"
+#include "base/logging.h"
+#include "base/memory/scoped_ptr.h"
mmenke 2014/01/23 20:40:52 This is needed in the header file, rather than her
Randy Smith (Not in Mondays) 2014/01/23 22:12:33 Done.
+#include "base/message_loop/message_loop.h"
+#include "net/base/load_timing_info.h"
+#include "net/base/upload_progress.h"
+#include "net/http/http_cache.h"
mmenke 2014/01/23 20:40:52 Don't need this, though may want to forward declar
Randy Smith (Not in Mondays) 2014/01/23 22:12:33 Done.
+#include "net/url_request/url_request_context_getter.h"
mmenke 2014/01/23 20:40:52 Not needed
Randy Smith (Not in Mondays) 2014/01/23 22:12:33 Done.
+
+namespace net {
+
+TestNetworkTransaction::TestNetworkTransaction(enum Error err) : err_(err) {
+ DCHECK_NE(OK, err);
mmenke 2014/01/23 20:59:19 This should be a CHECK, so it surfaces during rele
mmenke 2014/01/23 20:59:19 Should have a similar check on creation of the fac
Randy Smith (Not in Mondays) 2014/01/23 22:12:33 Done.
Randy Smith (Not in Mondays) 2014/01/23 22:12:33 Quite right. Done.
rvargas (doing something else) 2014/01/23 23:24:49 I would actually argue for readability as opposed
mmenke 2014/01/23 23:27:18 Positive values generally indicate success. What
rvargas (doing something else) 2014/01/24 02:10:00 That doesn't match the definition of Start (the me
rvargas (doing something else) 2014/01/24 16:18:42 I guess what I said doesn't make a lot of sense, s
Randy Smith (Not in Mondays) 2014/01/25 21:11:31 With regard to the ordering, I'm happy to yield to
+}
+
+TestNetworkTransaction::~TestNetworkTransaction() {}
+
+int TestNetworkTransaction::Start(const HttpRequestInfo* request_info,
+ const CompletionCallback& callback,
+ const BoundNetLog& net_log) {
+ base::MessageLoop::current()->PostTask(
+ FROM_HERE, base::Bind(callback, err_));
+ return ERR_IO_PENDING;
+}
+
+int TestNetworkTransaction::RestartIgnoringLastError(
+ const CompletionCallback& callback) {
+ return ERR_FAILED;
+}
+
+int TestNetworkTransaction::RestartWithCertificate(
+ X509Certificate* client_cert,
+ const CompletionCallback& callback) {
+ return ERR_FAILED;
+}
+
+int TestNetworkTransaction::RestartWithAuth(
+ const AuthCredentials& credentials,
+ const CompletionCallback& callback) {
+ return ERR_FAILED;
+}
+
+bool TestNetworkTransaction::IsReadyToRestartForAuth() {
+ return false;
+}
+
+int TestNetworkTransaction::Read(IOBuffer* buf, int buf_len,
+ const CompletionCallback& callback) {
+ NOTREACHED();
+ return ERR_FAILED;
+}
+
+void TestNetworkTransaction::StopCaching() {}
+
+bool TestNetworkTransaction::GetFullRequestHeaders(
+ HttpRequestHeaders* headers) const {
+ return false;
+}
+
+int64 TestNetworkTransaction::GetTotalReceivedBytes() const {
+ return 0;
+}
+
+void TestNetworkTransaction::DoneReading() {
+ NOTREACHED();
+}
+
+const HttpResponseInfo* TestNetworkTransaction::GetResponseInfo() const {
+ return NULL;
+}
+
+LoadState TestNetworkTransaction::GetLoadState() const {
+ return LOAD_STATE_IDLE;
+}
+
+UploadProgress TestNetworkTransaction::GetUploadProgress() const {
+ return UploadProgress();
+}
+
+bool TestNetworkTransaction::GetLoadTimingInfo(
+ LoadTimingInfo* load_timing_info) const {
+ // Shouldn't be relevant; using the minimal set from
+ // http_transaction_unittest.cc MockNetworkTransaction::GetLoadTimingInfo().
+ load_timing_info->socket_reused = true;
+ load_timing_info->send_start = base::TimeTicks::Now();
+ load_timing_info->send_end = base::TimeTicks::Now();
mmenke 2014/01/23 20:40:52 Suggest just: *load_timing_info = LoadTimingInfo(
Randy Smith (Not in Mondays) 2014/01/23 22:12:33 I'm wary of doing that, just because I don't know
mmenke 2014/01/23 22:30:14 It's for HAR file generation, the navigation timin
Randy Smith (Not in Mondays) 2014/01/25 21:11:31 returning false.
+ return true;
rvargas (doing something else) 2014/01/23 23:24:49 don't do anything and return false?
Randy Smith (Not in Mondays) 2014/01/25 21:11:31 Done.
+}
+
+void TestNetworkTransaction::SetPriority(RequestPriority priority) {}
+
+void TestNetworkTransaction::SetWebSocketHandshakeStreamCreateHelper(
+ WebSocketHandshakeStreamBase::CreateHelper* create_helper) {
+ NOTREACHED();
+}
+
+void TestNetworkTransaction::SetBeforeNetworkStartCallback(
+ const BeforeNetworkStartCallback& callback) {
+}
+
+int TestNetworkTransaction::ResumeNetworkStart() {
+ NOTREACHED();
+ return ERR_FAILED;
+}
+
+TestNetworkTransactionFactory::TestNetworkTransactionFactory(
+ enum Error err) : err_(err) {}
+
+TestNetworkTransactionFactory::~TestNetworkTransactionFactory() {}
+
+// HttpTransactionFactory:
+int TestNetworkTransactionFactory::CreateTransaction(
+ RequestPriority priority,
+ scoped_ptr<HttpTransaction>* trans) {
+ trans->reset(new TestNetworkTransaction(err_));
+ return OK;
+}
+
+HttpCache* TestNetworkTransactionFactory::GetCache() {
+ return NULL;
+}
+
+HttpNetworkSession* TestNetworkTransactionFactory::GetSession() {
+ return NULL; // TODO(rdsmith): Is this really safe?
mmenke 2014/01/23 20:40:52 Can't we just pass in a real session? Seems the s
Randy Smith (Not in Mondays) 2014/01/25 21:11:31 Done.
+}
+
+} // namespace net
+

Powered by Google App Engine
This is Rietveld 408576698