summaryrefslogtreecommitdiffstats
path: root/net/spdy/spdy_test_util.h
diff options
context:
space:
mode:
authorerikchen@google.com <erikchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-18 18:33:27 +0000
committererikchen@google.com <erikchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-18 18:33:27 +0000
commit3b78284325c04007a09ba8b47ac2980997e39e1d (patch)
tree10c1d14f07aa4c43f133820d7cf561071838e66e /net/spdy/spdy_test_util.h
parentcce6f1b3b3d54334bf116084fadfe5b828c87227 (diff)
downloadchromium_src-3b78284325c04007a09ba8b47ac2980997e39e1d.zip
chromium_src-3b78284325c04007a09ba8b47ac2980997e39e1d.tar.gz
chromium_src-3b78284325c04007a09ba8b47ac2980997e39e1d.tar.bz2
Added a new MockSocket that enforces ordering of reads/writes.
Re-enabled two broken SPDY tests, using new MockSocket. All SPDY tests should eventually convert to using this new object. TEST=none BUG=none Review URL: http://codereview.chromium.org/3179016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56560 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy/spdy_test_util.h')
-rw-r--r--net/spdy/spdy_test_util.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/net/spdy/spdy_test_util.h b/net/spdy/spdy_test_util.h
index e7df3f67..79010e23 100644
--- a/net/spdy/spdy_test_util.h
+++ b/net/spdy/spdy_test_util.h
@@ -266,12 +266,16 @@ MockWrite CreateMockWrite(const spdy::SpdyFrame& req);
// Create an async MockWrite from the given SpdyFrame and sequence number.
MockWrite CreateMockWrite(const spdy::SpdyFrame& req, int seq);
+MockWrite CreateMockWrite(const spdy::SpdyFrame& req, int seq, bool async);
+
// Create a MockRead from the given SpdyFrame.
MockRead CreateMockRead(const spdy::SpdyFrame& resp);
// Create a MockRead from the given SpdyFrame and sequence number.
MockRead CreateMockRead(const spdy::SpdyFrame& resp, int seq);
+MockRead CreateMockRead(const spdy::SpdyFrame& resp, int seq, bool async);
+
// Combines the given SpdyFrames into the given char array and returns
// the total length.
int CombineFrames(const spdy::SpdyFrame** frames, int num_frames,
@@ -286,6 +290,8 @@ class SpdySessionDependencies {
: host_resolver(new MockHostResolver),
proxy_service(ProxyService::CreateNull()),
ssl_config_service(new SSLConfigServiceDefaults),
+ socket_factory(new MockClientSocketFactory),
+ deterministic_socket_factory(new DeterministicMockClientSocketFactory),
http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault()),
spdy_session_pool(new SpdySessionPool()) {
// Note: The CancelledTransaction test does cleanup by running all
@@ -302,13 +308,16 @@ class SpdySessionDependencies {
: host_resolver(new MockHostResolver),
proxy_service(proxy_service),
ssl_config_service(new SSLConfigServiceDefaults),
+ socket_factory(new MockClientSocketFactory),
+ deterministic_socket_factory(new DeterministicMockClientSocketFactory),
http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault()),
spdy_session_pool(new SpdySessionPool()) {}
scoped_refptr<MockHostResolverBase> host_resolver;
scoped_refptr<ProxyService> proxy_service;
scoped_refptr<SSLConfigService> ssl_config_service;
- MockClientSocketFactory socket_factory;
+ scoped_ptr<MockClientSocketFactory> socket_factory;
+ scoped_ptr<DeterministicMockClientSocketFactory> deterministic_socket_factory;
scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory;
scoped_refptr<SpdySessionPool> spdy_session_pool;
@@ -316,13 +325,25 @@ class SpdySessionDependencies {
SpdySessionDependencies* session_deps) {
return new HttpNetworkSession(session_deps->host_resolver,
session_deps->proxy_service,
- &session_deps->socket_factory,
+ session_deps->socket_factory.get(),
session_deps->ssl_config_service,
session_deps->spdy_session_pool,
session_deps->http_auth_handler_factory.get(),
NULL,
NULL);
-}
+ }
+ static HttpNetworkSession* SpdyCreateSessionDeterministic(
+ SpdySessionDependencies* session_deps) {
+ return new HttpNetworkSession(session_deps->host_resolver,
+ session_deps->proxy_service,
+ session_deps->
+ deterministic_socket_factory.get(),
+ session_deps->ssl_config_service,
+ session_deps->spdy_session_pool,
+ session_deps->http_auth_handler_factory.get(),
+ NULL,
+ NULL);
+ }
};
class SpdyURLRequestContext : public URLRequestContext {