diff options
author | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-25 23:56:08 +0000 |
---|---|---|
committer | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-25 23:56:08 +0000 |
commit | 318e421e5f205dbf7c1988c338e1b27253a63f62 (patch) | |
tree | 54713671124e39b081a58e840e7ad8da0a83f4f7 /net/http/http_transaction_unittest.cc | |
parent | ceb61da3987d8b7ed828c88daac779b1fbc8c6f9 (diff) | |
download | chromium_src-318e421e5f205dbf7c1988c338e1b27253a63f62.zip chromium_src-318e421e5f205dbf7c1988c338e1b27253a63f62.tar.gz chromium_src-318e421e5f205dbf7c1988c338e1b27253a63f62.tar.bz2 |
Revert "Clean up net unit testing code." since it breaks the shlib builder.
This reverts commit 006f377bbb65ece3490b7c76e58e0dc4cb330909 (r72562).
BUG=68682
TEST=compiles
TBR=thomasvl
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72564 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_transaction_unittest.cc')
-rw-r--r-- | net/http/http_transaction_unittest.cc | 232 |
1 files changed, 14 insertions, 218 deletions
diff --git a/net/http/http_transaction_unittest.cc b/net/http/http_transaction_unittest.cc index fabfb01..518c1f8 100644 --- a/net/http/http_transaction_unittest.cc +++ b/net/http/http_transaction_unittest.cc @@ -1,11 +1,10 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2008 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/http_transaction_unittest.h" -#include <algorithm> - +#include "base/hash_tables.h" #include "base/message_loop.h" #include "base/string_util.h" #include "net/base/net_errors.h" @@ -17,11 +16,6 @@ #include "net/http/http_transaction.h" #include "testing/gtest/include/gtest/gtest.h" -namespace { -typedef base::hash_map<std::string, const MockTransaction*> MockTransactionMap; -static MockTransactionMap mock_transactions; -} // namespace - //----------------------------------------------------------------------------- // mock transaction data @@ -110,6 +104,18 @@ static const MockTransaction* const kBuiltinMockTransactions[] = { &kRangeGET_Transaction }; +typedef base::hash_map<std::string, const MockTransaction*> +MockTransactionMap; +static MockTransactionMap mock_transactions; + +void AddMockTransaction(const MockTransaction* trans) { + mock_transactions[GURL(trans->url).spec()] = trans; +} + +void RemoveMockTransaction(const MockTransaction* trans) { + mock_transactions.erase(GURL(trans->url).spec()); +} + const MockTransaction* FindMockTransaction(const GURL& url) { // look for overrides: MockTransactionMap::const_iterator it = mock_transactions.find(url.spec()); @@ -124,222 +130,12 @@ const MockTransaction* FindMockTransaction(const GURL& url) { return NULL; } -void AddMockTransaction(const MockTransaction* trans) { - mock_transactions[GURL(trans->url).spec()] = trans; -} - -void RemoveMockTransaction(const MockTransaction* trans) { - mock_transactions.erase(GURL(trans->url).spec()); -} - -MockHttpRequest::MockHttpRequest(const MockTransaction& t) { - url = GURL(t.url); - method = t.method; - extra_headers.AddHeadersFromString(t.request_headers); - load_flags = t.load_flags; -} //----------------------------------------------------------------------------- // static int TestTransactionConsumer::quit_counter_ = 0; -TestTransactionConsumer::TestTransactionConsumer( - net::HttpTransactionFactory* factory) - : state_(IDLE), - trans_(NULL), - error_(net::OK) { - // Disregard the error code. - factory->CreateTransaction(&trans_); - ++quit_counter_; -} - -TestTransactionConsumer::~TestTransactionConsumer() { -} - -void TestTransactionConsumer::Start(const net::HttpRequestInfo* request, - const net::BoundNetLog& net_log) { - state_ = STARTING; - int result = trans_->Start(request, this, net_log); - if (result != net::ERR_IO_PENDING) - DidStart(result); -} - -void TestTransactionConsumer::DidStart(int result) { - if (result != net::OK) { - DidFinish(result); - } else { - Read(); - } -} - -void TestTransactionConsumer::DidRead(int result) { - if (result <= 0) { - DidFinish(result); - } else { - content_.append(read_buf_->data(), result); - Read(); - } -} - -void TestTransactionConsumer::DidFinish(int result) { - state_ = DONE; - error_ = result; - if (--quit_counter_ == 0) - MessageLoop::current()->Quit(); -} - -void TestTransactionConsumer::Read() { - state_ = READING; - read_buf_ = new net::IOBuffer(1024); - int result = trans_->Read(read_buf_, 1024, this); - if (result != net::ERR_IO_PENDING) - DidRead(result); -} - -void TestTransactionConsumer::RunWithParams(const Tuple1<int>& params) { - int result = params.a; - switch (state_) { - case STARTING: - DidStart(result); - break; - case READING: - DidRead(result); - break; - default: - NOTREACHED(); - } -} - - -MockNetworkTransaction::MockNetworkTransaction() : - ALLOW_THIS_IN_INITIALIZER_LIST(task_factory_(this)), data_cursor_(0) { -} - -MockNetworkTransaction::~MockNetworkTransaction() {} - -int MockNetworkTransaction::Start(const net::HttpRequestInfo* request, - net::CompletionCallback* callback, - const net::BoundNetLog& net_log) { - const MockTransaction* t = FindMockTransaction(request->url); - if (!t) - return net::ERR_FAILED; - - std::string resp_status = t->status; - std::string resp_headers = t->response_headers; - std::string resp_data = t->data; - if (t->handler) - (t->handler)(request, &resp_status, &resp_headers, &resp_data); - - std::string header_data = base::StringPrintf( - "%s\n%s\n", resp_status.c_str(), resp_headers.c_str()); - std::replace(header_data.begin(), header_data.end(), '\n', '\0'); - - response_.request_time = base::Time::Now(); - if (!t->request_time.is_null()) - response_.request_time = t->request_time; - - response_.was_cached = false; - - response_.response_time = base::Time::Now(); - if (!t->response_time.is_null()) - response_.response_time = t->response_time; - - response_.headers = new net::HttpResponseHeaders(header_data); - response_.ssl_info.cert_status = t->cert_status; - data_ = resp_data; - test_mode_ = t->test_mode; - - if (test_mode_ & TEST_MODE_SYNC_NET_START) - return net::OK; - - CallbackLater(callback, net::OK); - return net::ERR_IO_PENDING; -} - -int MockNetworkTransaction::RestartIgnoringLastError( - net::CompletionCallback* callback) { - return net::ERR_FAILED; -} - -int MockNetworkTransaction::RestartWithCertificate( - net::X509Certificate* client_cert, - net::CompletionCallback* callback) { - return net::ERR_FAILED; -} - -int MockNetworkTransaction::RestartWithAuth(const string16& username, - const string16& password, - net::CompletionCallback* callback) { - return net::ERR_FAILED; -} - -bool MockNetworkTransaction::IsReadyToRestartForAuth() { - return false; -} - -int MockNetworkTransaction::Read(net::IOBuffer* buf, int buf_len, - net::CompletionCallback* callback) { - int data_len = static_cast<int>(data_.size()); - int num = std::min(buf_len, data_len - data_cursor_); - if (num) { - memcpy(buf->data(), data_.data() + data_cursor_, num); - data_cursor_ += num; - } - if (test_mode_ & TEST_MODE_SYNC_NET_READ) - return num; - - CallbackLater(callback, num); - return net::ERR_IO_PENDING; -} - -void MockNetworkTransaction::StopCaching() {} - -const net::HttpResponseInfo* MockNetworkTransaction::GetResponseInfo() const { - return &response_; -} - -net::LoadState MockNetworkTransaction::GetLoadState() const { - if (data_cursor_) - return net::LOAD_STATE_READING_RESPONSE; - return net::LOAD_STATE_IDLE; -} - -uint64 MockNetworkTransaction::GetUploadProgress() const { - return 0; -} - -void MockNetworkTransaction::CallbackLater(net::CompletionCallback* callback, - int result) { - MessageLoop::current()->PostTask(FROM_HERE, task_factory_.NewRunnableMethod( - &MockNetworkTransaction::RunCallback, callback, result)); -} - -void MockNetworkTransaction::RunCallback(net::CompletionCallback* callback, - int result) { - callback->Run(result); -} - -MockNetworkLayer::MockNetworkLayer() : transaction_count_(0) {} - -MockNetworkLayer::~MockNetworkLayer() {} - -int MockNetworkLayer::CreateTransaction( - scoped_ptr<net::HttpTransaction>* trans) { - transaction_count_++; - trans->reset(new MockNetworkTransaction()); - return net::OK; -} - -net::HttpCache* MockNetworkLayer::GetCache() { - return NULL; -} - -net::HttpNetworkSession* MockNetworkLayer::GetSession() { - return NULL; -} - -void MockNetworkLayer::Suspend(bool suspend) {} //----------------------------------------------------------------------------- // helpers |