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

Side by Side Diff: net/spdy/spdy_http_utils_unittest.cc

Issue 2141993002: Remove many-many SpdyMajorVersion and NextProto arguments and members. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove OnSynStream() and OnSynReply(). Created 4 years, 5 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 unified diff | Download patch
« no previous file with comments | « net/spdy/spdy_http_utils.cc ('k') | net/spdy/spdy_network_transaction_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/spdy/spdy_http_utils.h" 5 #include "net/spdy/spdy_http_utils.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <limits> 9 #include <limits>
10 10
11 #include "net/http/http_request_info.h" 11 #include "net/http/http_request_info.h"
12 #include "net/spdy/spdy_framer.h" 12 #include "net/spdy/spdy_framer.h"
13 #include "net/spdy/spdy_test_utils.h" 13 #include "net/spdy/spdy_test_utils.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 namespace net { 16 namespace net {
17 17
18 namespace { 18 namespace {
19 19
20 bool kDirect = true; 20 bool kDirect = true;
21 21
22 } // namespace 22 } // namespace
23 23
24 TEST(SpdyHttpUtilsTest, ConvertRequestPriorityToSpdy3Priority) { 24 TEST(SpdyHttpUtilsTest, ConvertRequestPriorityToSpdy3Priority) {
25 EXPECT_EQ(0, ConvertRequestPriorityToSpdyPriority(HIGHEST, SPDY3)); 25 EXPECT_EQ(0, ConvertRequestPriorityToSpdyPriority(HIGHEST));
26 EXPECT_EQ(1, ConvertRequestPriorityToSpdyPriority(MEDIUM, SPDY3)); 26 EXPECT_EQ(1, ConvertRequestPriorityToSpdyPriority(MEDIUM));
27 EXPECT_EQ(2, ConvertRequestPriorityToSpdyPriority(LOW, SPDY3)); 27 EXPECT_EQ(2, ConvertRequestPriorityToSpdyPriority(LOW));
28 EXPECT_EQ(3, ConvertRequestPriorityToSpdyPriority(LOWEST, SPDY3)); 28 EXPECT_EQ(3, ConvertRequestPriorityToSpdyPriority(LOWEST));
29 EXPECT_EQ(4, ConvertRequestPriorityToSpdyPriority(IDLE, SPDY3)); 29 EXPECT_EQ(4, ConvertRequestPriorityToSpdyPriority(IDLE));
30 } 30 }
31 31
32 TEST(SpdyHttpUtilsTest, ConvertSpdy3PriorityToRequestPriority) { 32 TEST(SpdyHttpUtilsTest, ConvertSpdy3PriorityToRequestPriority) {
33 EXPECT_EQ(HIGHEST, ConvertSpdyPriorityToRequestPriority(0, SPDY3)); 33 EXPECT_EQ(HIGHEST, ConvertSpdyPriorityToRequestPriority(0));
34 EXPECT_EQ(MEDIUM, ConvertSpdyPriorityToRequestPriority(1, SPDY3)); 34 EXPECT_EQ(MEDIUM, ConvertSpdyPriorityToRequestPriority(1));
35 EXPECT_EQ(LOW, ConvertSpdyPriorityToRequestPriority(2, SPDY3)); 35 EXPECT_EQ(LOW, ConvertSpdyPriorityToRequestPriority(2));
36 EXPECT_EQ(LOWEST, ConvertSpdyPriorityToRequestPriority(3, SPDY3)); 36 EXPECT_EQ(LOWEST, ConvertSpdyPriorityToRequestPriority(3));
37 EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(4, SPDY3)); 37 EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(4));
38 // These are invalid values, but we should still handle them 38 // These are invalid values, but we should still handle them
39 // gracefully. 39 // gracefully.
40 for (int i = 5; i < std::numeric_limits<uint8_t>::max(); ++i) { 40 for (int i = 5; i < std::numeric_limits<uint8_t>::max(); ++i) {
41 EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(i, SPDY3)); 41 EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(i));
42 } 42 }
43 } 43 }
44 44
45 TEST(SpdyHttpUtilsTest, CreateSpdyHeadersFromHttpRequestSPDY3) {
46 GURL url("https://www.google.com/index.html");
47 HttpRequestInfo request;
48 request.method = "GET";
49 request.url = url;
50 request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome/1.1");
51 SpdyHeaderBlock headers;
52 CreateSpdyHeadersFromHttpRequest(request, request.extra_headers, SPDY3,
53 kDirect, &headers);
54 EXPECT_EQ("GET", headers[":method"]);
55 EXPECT_EQ("https", headers[":scheme"]);
56 EXPECT_EQ("www.google.com", headers[":host"]);
57 EXPECT_EQ("/index.html", headers[":path"]);
58 EXPECT_EQ("HTTP/1.1", headers[":version"]);
59 EXPECT_EQ("Chrome/1.1", headers["user-agent"]);
60 }
61
62 TEST(SpdyHttpUtilsTest, CreateSpdyHeadersFromHttpRequestHTTP2) { 45 TEST(SpdyHttpUtilsTest, CreateSpdyHeadersFromHttpRequestHTTP2) {
63 GURL url("https://www.google.com/index.html"); 46 GURL url("https://www.google.com/index.html");
64 HttpRequestInfo request; 47 HttpRequestInfo request;
65 request.method = "GET"; 48 request.method = "GET";
66 request.url = url; 49 request.url = url;
67 request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome/1.1"); 50 request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome/1.1");
68 SpdyHeaderBlock headers; 51 SpdyHeaderBlock headers;
69 CreateSpdyHeadersFromHttpRequest(request, request.extra_headers, HTTP2, 52 CreateSpdyHeadersFromHttpRequest(request, request.extra_headers, kDirect,
70 kDirect, &headers); 53 &headers);
71 EXPECT_EQ("GET", headers[":method"]); 54 EXPECT_EQ("GET", headers[":method"]);
72 EXPECT_EQ("https", headers[":scheme"]); 55 EXPECT_EQ("https", headers[":scheme"]);
73 EXPECT_EQ("www.google.com", headers[":authority"]); 56 EXPECT_EQ("www.google.com", headers[":authority"]);
74 EXPECT_EQ("/index.html", headers[":path"]); 57 EXPECT_EQ("/index.html", headers[":path"]);
75 EXPECT_TRUE(headers.end() == headers.find(":version")); 58 EXPECT_TRUE(headers.end() == headers.find(":version"));
76 EXPECT_EQ("Chrome/1.1", headers["user-agent"]); 59 EXPECT_EQ("Chrome/1.1", headers["user-agent"]);
77 } 60 }
78 61
79 TEST(SpdyHttpUtilsTest, CreateSpdyHeadersFromHttpRequestProxySPDY3) {
80 GURL url("https://www.google.com/index.html");
81 HttpRequestInfo request;
82 request.method = "GET";
83 request.url = url;
84 request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome/1.1");
85 SpdyHeaderBlock headers;
86 CreateSpdyHeadersFromHttpRequest(request, request.extra_headers, SPDY3,
87 !kDirect, &headers);
88 EXPECT_EQ("GET", headers[":method"]);
89 EXPECT_EQ("https", headers[":scheme"]);
90 EXPECT_EQ("www.google.com", headers[":host"]);
91 EXPECT_EQ("/index.html", headers[":path"]);
92 EXPECT_EQ("HTTP/1.1", headers[":version"]);
93 EXPECT_EQ("Chrome/1.1", headers["user-agent"]);
94 }
95
96 TEST(SpdyHttpUtilsTest, CreateSpdyHeadersFromHttpRequestProxyHTTP2) { 62 TEST(SpdyHttpUtilsTest, CreateSpdyHeadersFromHttpRequestProxyHTTP2) {
97 GURL url("https://www.google.com/index.html"); 63 GURL url("https://www.google.com/index.html");
98 HttpRequestInfo request; 64 HttpRequestInfo request;
99 request.method = "GET"; 65 request.method = "GET";
100 request.url = url; 66 request.url = url;
101 request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome/1.1"); 67 request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome/1.1");
102 SpdyHeaderBlock headers; 68 SpdyHeaderBlock headers;
103 CreateSpdyHeadersFromHttpRequest(request, request.extra_headers, HTTP2, 69 CreateSpdyHeadersFromHttpRequest(request, request.extra_headers, !kDirect,
104 !kDirect, &headers); 70 &headers);
105 EXPECT_EQ("GET", headers[":method"]); 71 EXPECT_EQ("GET", headers[":method"]);
106 EXPECT_EQ("https", headers[":scheme"]); 72 EXPECT_EQ("https", headers[":scheme"]);
107 EXPECT_EQ("www.google.com", headers[":authority"]); 73 EXPECT_EQ("www.google.com", headers[":authority"]);
108 EXPECT_EQ("/index.html", headers[":path"]); 74 EXPECT_EQ("/index.html", headers[":path"]);
109 EXPECT_TRUE(headers.end() == headers.find(":version")); 75 EXPECT_TRUE(headers.end() == headers.find(":version"));
110 EXPECT_EQ("Chrome/1.1", headers["user-agent"]); 76 EXPECT_EQ("Chrome/1.1", headers["user-agent"]);
111 } 77 }
112 78
113 TEST(SpdyHttpUtilsTest, CreateSpdyHeadersFromHttpRequestConnectSPDY3) {
114 GURL url("https://www.google.com/index.html");
115 HttpRequestInfo request;
116 request.method = "CONNECT";
117 request.url = url;
118 request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome/1.1");
119 SpdyHeaderBlock headers;
120 CreateSpdyHeadersFromHttpRequest(request, request.extra_headers, SPDY3,
121 kDirect, &headers);
122 EXPECT_EQ("CONNECT", headers[":method"]);
123 EXPECT_TRUE(headers.end() == headers.find(":scheme"));
124 EXPECT_EQ("www.google.com", headers[":host"]);
125 EXPECT_EQ("www.google.com:443", headers[":path"]);
126 EXPECT_EQ("HTTP/1.1", headers[":version"]);
127 EXPECT_EQ("Chrome/1.1", headers["user-agent"]);
128 }
129
130 TEST(SpdyHttpUtilsTest, CreateSpdyHeadersFromHttpRequestConnectHTTP2) { 79 TEST(SpdyHttpUtilsTest, CreateSpdyHeadersFromHttpRequestConnectHTTP2) {
131 GURL url("https://www.google.com/index.html"); 80 GURL url("https://www.google.com/index.html");
132 HttpRequestInfo request; 81 HttpRequestInfo request;
133 request.method = "CONNECT"; 82 request.method = "CONNECT";
134 request.url = url; 83 request.url = url;
135 request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome/1.1"); 84 request.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome/1.1");
136 SpdyHeaderBlock headers; 85 SpdyHeaderBlock headers;
137 CreateSpdyHeadersFromHttpRequest(request, request.extra_headers, HTTP2, 86 CreateSpdyHeadersFromHttpRequest(request, request.extra_headers, kDirect,
138 kDirect, &headers); 87 &headers);
139 EXPECT_EQ("CONNECT", headers[":method"]); 88 EXPECT_EQ("CONNECT", headers[":method"]);
140 EXPECT_TRUE(headers.end() == headers.find(":scheme")); 89 EXPECT_TRUE(headers.end() == headers.find(":scheme"));
141 EXPECT_EQ("www.google.com:443", headers[":authority"]); 90 EXPECT_EQ("www.google.com:443", headers[":authority"]);
142 EXPECT_EQ(headers.end(), headers.find(":path")); 91 EXPECT_EQ(headers.end(), headers.find(":path"));
143 EXPECT_EQ(headers.end(), headers.find(":scheme")); 92 EXPECT_EQ(headers.end(), headers.find(":scheme"));
144 EXPECT_TRUE(headers.end() == headers.find(":version")); 93 EXPECT_TRUE(headers.end() == headers.find(":version"));
145 EXPECT_EQ("Chrome/1.1", headers["user-agent"]); 94 EXPECT_EQ("Chrome/1.1", headers["user-agent"]);
146 } 95 }
147 96
148 } // namespace net 97 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_http_utils.cc ('k') | net/spdy/spdy_network_transaction_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698