summaryrefslogtreecommitdiff
path: root/chromium/net/base/test_proxy_delegate.cc
blob: da7693bd2a89edaccae50033eabf20681c9cddfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// Copyright 2016 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/base/test_proxy_delegate.h"

#include "net/http/http_request_headers.h"
#include "net/http/http_response_headers.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace net {

TestProxyDelegate::TestProxyDelegate()
    : on_before_tunnel_request_called_(false),
      on_tunnel_request_completed_called_(false),
      on_tunnel_headers_received_called_(false) {}

TestProxyDelegate::~TestProxyDelegate() {}

void TestProxyDelegate::VerifyOnTunnelRequestCompleted(
    const std::string& endpoint,
    const std::string& proxy_server) const {
  EXPECT_TRUE(on_tunnel_request_completed_called_);
  EXPECT_TRUE(HostPortPair::FromString(endpoint).Equals(
      on_tunnel_request_completed_endpoint_));
  EXPECT_TRUE(HostPortPair::FromString(proxy_server)
                  .Equals(on_tunnel_request_completed_proxy_server_));
}

void TestProxyDelegate::VerifyOnTunnelHeadersReceived(
    const std::string& origin,
    const std::string& proxy_server,
    const std::string& status_line) const {
  EXPECT_TRUE(on_tunnel_headers_received_called_);
  EXPECT_TRUE(HostPortPair::FromString(origin).Equals(
      on_tunnel_headers_received_origin_));
  EXPECT_TRUE(HostPortPair::FromString(proxy_server)
                  .Equals(on_tunnel_headers_received_proxy_server_));
  EXPECT_EQ(status_line, on_tunnel_headers_received_status_line_);
}

void TestProxyDelegate::OnResolveProxy(const GURL& url,
                                       const std::string& method,
                                       int load_flags,
                                       const ProxyService& proxy_service,
                                       ProxyInfo* result) {}

void TestProxyDelegate::OnTunnelConnectCompleted(
    const HostPortPair& endpoint,
    const HostPortPair& proxy_server,
    int net_error) {
  on_tunnel_request_completed_called_ = true;
  on_tunnel_request_completed_endpoint_ = endpoint;
  on_tunnel_request_completed_proxy_server_ = proxy_server;
}

void TestProxyDelegate::OnFallback(const ProxyServer& bad_proxy,
                                   int net_error) {}

void TestProxyDelegate::OnBeforeSendHeaders(URLRequest* request,
                                            const ProxyInfo& proxy_info,
                                            HttpRequestHeaders* headers) {}

void TestProxyDelegate::OnBeforeTunnelRequest(
    const HostPortPair& proxy_server,
    HttpRequestHeaders* extra_headers) {
  on_before_tunnel_request_called_ = true;
  if (extra_headers)
    extra_headers->SetHeader("Foo", proxy_server.ToString());
}

void TestProxyDelegate::OnTunnelHeadersReceived(
    const HostPortPair& origin,
    const HostPortPair& proxy_server,
    const HttpResponseHeaders& response_headers) {
  on_tunnel_headers_received_called_ = true;
  on_tunnel_headers_received_origin_ = origin;
  on_tunnel_headers_received_proxy_server_ = proxy_server;
  on_tunnel_headers_received_status_line_ = response_headers.GetStatusLine();
}

bool TestProxyDelegate::IsTrustedSpdyProxy(
    const net::ProxyServer& proxy_server) {
  return proxy_server.is_valid() && trusted_spdy_proxy_ == proxy_server;
}

}  // namespace net