Index: net/socket/socket_test_util.h |
=================================================================== |
--- net/socket/socket_test_util.h (revision 57349) |
+++ net/socket/socket_test_util.h (working copy) |
@@ -30,6 +30,7 @@ |
#include "net/socket/client_socket_handle.h" |
#include "net/socket/socks_client_socket_pool.h" |
#include "net/socket/ssl_client_socket.h" |
+#include "net/socket/ssl_client_socket_pool.h" |
#include "net/socket/tcp_client_socket_pool.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -870,6 +871,62 @@ |
extern const char kSOCKS5OkResponse[]; |
extern const int kSOCKS5OkResponseLength; |
+class MockSSLClientSocketPool : public SSLClientSocketPool { |
+ public: |
+ class MockConnectJob { |
+ public: |
+ MockConnectJob(ClientSocket* socket, ClientSocketHandle* handle, |
+ CompletionCallback* callback); |
+ |
+ int Connect(); |
+ bool CancelHandle(const ClientSocketHandle* handle); |
+ |
+ private: |
+ void OnConnect(int rv); |
+ |
+ scoped_ptr<ClientSocket> socket_; |
+ ClientSocketHandle* handle_; |
+ CompletionCallback* user_callback_; |
+ CompletionCallbackImpl<MockConnectJob> connect_callback_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MockConnectJob); |
+ }; |
+ |
+ MockSSLClientSocketPool( |
+ int max_sockets, |
+ int max_sockets_per_group, |
+ const scoped_refptr<ClientSocketPoolHistograms>& histograms, |
+ ClientSocketFactory* socket_factory); |
+ |
+ int release_count() const { return release_count_; } |
+ int cancel_count() const { return cancel_count_; } |
+ |
+ // SSLClientSocketPool methods. |
+ virtual int RequestSocket(const std::string& group_name, |
+ const void* socket_params, |
+ RequestPriority priority, |
+ ClientSocketHandle* handle, |
+ CompletionCallback* callback, |
+ const BoundNetLog& net_log); |
+ |
+ virtual void CancelRequest(const std::string& group_name, |
+ ClientSocketHandle* handle); |
+ virtual void ReleaseSocket(const std::string& group_name, |
+ ClientSocket* socket, int id); |
+ |
+ protected: |
+ virtual ~MockSSLClientSocketPool(); |
+ |
+ private: |
+ ClientSocketFactory* client_socket_factory_; |
+ int release_count_; |
+ int cancel_count_; |
+ ScopedVector<MockConnectJob> job_list_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MockSSLClientSocketPool); |
+}; |
+ |
+ |
} // namespace net |
#endif // NET_SOCKET_SOCKET_TEST_UTIL_H_ |