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

Side by Side Diff: net/tools/quic/spdy_balsa_utils_test.cc

Issue 2477703002: Remove now unused Balsa code. (Closed)
Patch Set: Rebase Created 4 years, 1 month 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/tools/quic/spdy_balsa_utils.cc ('k') | net/tools/quic/test_tools/http_message.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "net/tools/quic/spdy_balsa_utils.h"
6
7 #include "base/strings/string_piece.h"
8 #include "net/spdy/spdy_test_utils.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 using base::StringPiece;
12 using testing::ElementsAre;
13
14 namespace net {
15 namespace test {
16 namespace {
17
18 TEST(SpdyBalsaUtilsTest, RequestHeadersToSpdyHeaders) {
19 BalsaHeaders request_headers;
20 request_headers.SetRequestFirstlineFromStringPieces(
21 "GET", "https://www.google.com/foo", "HTTP/1.1");
22 SpdyHeaderBlock spdy_headers =
23 SpdyBalsaUtils::RequestHeadersToSpdyHeaders(request_headers);
24
25 SpdyHeaderBlock expected_headers;
26 expected_headers[":authority"] = "www.google.com";
27 expected_headers[":path"] = "/foo";
28 expected_headers[":scheme"] = "https";
29 expected_headers[":method"] = "GET";
30
31 EXPECT_EQ(expected_headers, spdy_headers);
32 }
33
34 TEST(SpdyBalsaUtilsTest, RequestHeadersToSpdyHeadersRelativeUri) {
35 BalsaHeaders request_headers;
36 request_headers.SetRequestFirstlineFromStringPieces("GET", "/", "HTTP/1.1");
37 SpdyHeaderBlock spdy_headers =
38 SpdyBalsaUtils::RequestHeadersToSpdyHeaders(request_headers);
39
40 SpdyHeaderBlock expected_headers;
41 expected_headers[":authority"] = "";
42 expected_headers[":path"] = "/";
43 expected_headers[":scheme"] = "https";
44 expected_headers[":method"] = "GET";
45
46 EXPECT_EQ(expected_headers, spdy_headers);
47 }
48
49 TEST(SpdyBalsaUtilsTest, RequestHeadersToSpdyHeadersExplicitScheme) {
50 BalsaHeaders request_headers;
51 request_headers.SetRequestFirstlineFromStringPieces("GET", "/", "HTTP/1.1");
52 request_headers.AppendHeader("Scheme", "http");
53 SpdyHeaderBlock spdy_headers =
54 SpdyBalsaUtils::RequestHeadersToSpdyHeaders(request_headers);
55
56 SpdyHeaderBlock expected_headers;
57 expected_headers[":authority"] = "";
58 expected_headers[":path"] = "/";
59 expected_headers[":scheme"] = "http";
60 expected_headers[":method"] = "GET";
61
62 EXPECT_EQ(expected_headers, spdy_headers);
63 }
64
65 TEST(SpdyBalsaUtilsTest, ResponseHeadersToSpdyHeaders) {
66 BalsaHeaders response_headers;
67 response_headers.SetResponseFirstlineFromStringPieces("HTTP/1.1", "200",
68 "OK");
69 SpdyHeaderBlock spdy_headers =
70 SpdyBalsaUtils::ResponseHeadersToSpdyHeaders(response_headers);
71
72 SpdyHeaderBlock expected_headers;
73 expected_headers[":status"] = "200";
74
75 EXPECT_EQ(expected_headers, spdy_headers);
76 }
77
78 TEST(SpdyBalsaUtilsTest, SpdyHeadersToRequestHeaders) {
79 // Test :authority header.
80 SpdyHeaderBlock spdy_headers;
81 spdy_headers[":authority"] = "www.google.com";
82 spdy_headers[":path"] = "/foo";
83 spdy_headers[":scheme"] = "https";
84 spdy_headers[":method"] = "GET";
85 spdy_headers["foo"] = StringPiece("multi\0valued\0header", 19);
86 spdy_headers["bar"] = "";
87
88 BalsaHeaders request_headers;
89 SpdyBalsaUtils::SpdyHeadersToRequestHeaders(spdy_headers, &request_headers);
90 EXPECT_EQ("GET", request_headers.request_method());
91 EXPECT_EQ("HTTP/1.1", request_headers.request_version());
92 EXPECT_EQ("https://www.google.com/foo", request_headers.request_uri());
93 EXPECT_EQ("www.google.com", request_headers.GetHeader("host"));
94 EXPECT_TRUE(request_headers.HasHeader("bar"));
95 EXPECT_EQ("", request_headers.GetHeader("bar"));
96 std::vector<StringPiece> pieces;
97 request_headers.GetAllOfHeader("foo", &pieces);
98 EXPECT_THAT(pieces, ElementsAre("multi", "valued", "header"));
99
100 // Test :host header (and no GET).
101 SpdyHeaderBlock spdy_headers1;
102 spdy_headers1[":host"] = "www.google.com";
103 spdy_headers1[":path"] = "/foo";
104 spdy_headers1[":scheme"] = "http";
105
106 BalsaHeaders request_headers1;
107 SpdyBalsaUtils::SpdyHeadersToRequestHeaders(spdy_headers1, &request_headers1);
108 EXPECT_EQ("GET", request_headers1.request_method());
109 EXPECT_EQ("HTTP/1.1", request_headers1.request_version());
110 EXPECT_EQ("http://www.google.com/foo", request_headers1.request_uri());
111 EXPECT_EQ("www.google.com", request_headers1.GetHeader("host"));
112 }
113
114 TEST(SpdyBalsaUtilsTest, SpdyHeadersToResponseHeaders) {
115 SpdyHeaderBlock spdy_headers;
116 spdy_headers[":status"] = "200";
117 spdy_headers["foo"] = StringPiece("multi\0valued\0header", 19);
118 spdy_headers["bar"] = "";
119
120 BalsaHeaders response_headers;
121 SpdyBalsaUtils::SpdyHeadersToResponseHeaders(spdy_headers, &response_headers);
122 EXPECT_EQ("200", response_headers.response_code());
123 EXPECT_TRUE(response_headers.HasHeader("bar"));
124 EXPECT_EQ("", response_headers.GetHeader("bar"));
125 std::vector<StringPiece> pieces;
126 response_headers.GetAllOfHeader("foo", &pieces);
127 EXPECT_THAT(pieces, ElementsAre("multi", "valued", "header"));
128 }
129
130 } // namespace
131 } // namespace test
132 } // namespace net
OLDNEW
« no previous file with comments | « net/tools/quic/spdy_balsa_utils.cc ('k') | net/tools/quic/test_tools/http_message.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698