OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/proximity_auth/wire_message.h" | 5 #include "components/proximity_auth/wire_message.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace proximity_auth { | 9 namespace proximity_auth { |
10 | 10 |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 scoped_ptr<WireMessage> message = | 96 scoped_ptr<WireMessage> message = |
97 WireMessage::Deserialize(bytes, &is_incomplete); | 97 WireMessage::Deserialize(bytes, &is_incomplete); |
98 EXPECT_FALSE(is_incomplete); | 98 EXPECT_FALSE(is_incomplete); |
99 EXPECT_FALSE(message); | 99 EXPECT_FALSE(message); |
100 } | 100 } |
101 | 101 |
102 // The permit ID is optional. | 102 // The permit ID is optional. |
103 TEST(ProximityAuthWireMessage, Deserialize_BodyHasEmptyPermitId) { | 103 TEST(ProximityAuthWireMessage, Deserialize_BodyHasEmptyPermitId) { |
104 bool is_incomplete; | 104 bool is_incomplete; |
105 std::string header("\3\0\x24", 3); | 105 std::string header("\3\0\x24", 3); |
106 std::string bytes = | 106 std::string bytes = header + "{\"permit_id\": \"\", \"payload\": \"YQ==\"}"; |
107 header + "{\"permit_id\": \"\", \"payload\": \"YQ==\"}"; | |
108 scoped_ptr<WireMessage> message = | 107 scoped_ptr<WireMessage> message = |
109 WireMessage::Deserialize(bytes, &is_incomplete); | 108 WireMessage::Deserialize(bytes, &is_incomplete); |
110 EXPECT_FALSE(is_incomplete); | 109 EXPECT_FALSE(is_incomplete); |
111 EXPECT_TRUE(message); | 110 EXPECT_TRUE(message); |
112 EXPECT_EQ(std::string(), message->permit_id()); | 111 EXPECT_EQ(std::string(), message->permit_id()); |
113 EXPECT_EQ("a", message->payload()); | 112 EXPECT_EQ("a", message->payload()); |
114 } | 113 } |
115 | 114 |
116 TEST(ProximityAuthWireMessage, Deserialize_BodyHasEmptyPayload) { | 115 TEST(ProximityAuthWireMessage, Deserialize_BodyHasEmptyPayload) { |
117 bool is_incomplete; | 116 bool is_incomplete; |
118 std::string header("\3\0\x23", 3); | 117 std::string header("\3\0\x23", 3); |
119 std::string bytes = | 118 std::string bytes = header + "{\"permit_id\": \"Hi!\", \"payload\": \"\"}"; |
120 header + "{\"permit_id\": \"Hi!\", \"payload\": \"\"}"; | |
121 scoped_ptr<WireMessage> message = | 119 scoped_ptr<WireMessage> message = |
122 WireMessage::Deserialize(bytes, &is_incomplete); | 120 WireMessage::Deserialize(bytes, &is_incomplete); |
123 EXPECT_FALSE(is_incomplete); | 121 EXPECT_FALSE(is_incomplete); |
124 EXPECT_FALSE(message); | 122 EXPECT_FALSE(message); |
125 } | 123 } |
126 | 124 |
127 TEST(ProximityAuthWireMessage, Deserialize_PayloadIsNotBase64Encoded) { | 125 TEST(ProximityAuthWireMessage, Deserialize_PayloadIsNotBase64Encoded) { |
128 bool is_incomplete; | 126 bool is_incomplete; |
129 std::string header("\3\0\x2A", 3); | 127 std::string header("\3\0\x2A", 3); |
130 std::string bytes = | 128 std::string bytes = |
(...skipping 13 matching lines...) Expand all Loading... |
144 WireMessage::Deserialize(bytes, &is_incomplete); | 142 WireMessage::Deserialize(bytes, &is_incomplete); |
145 EXPECT_FALSE(is_incomplete); | 143 EXPECT_FALSE(is_incomplete); |
146 EXPECT_TRUE(message); | 144 EXPECT_TRUE(message); |
147 EXPECT_EQ("Hi!", message->permit_id()); | 145 EXPECT_EQ("Hi!", message->permit_id()); |
148 EXPECT_EQ("a", message->payload()); | 146 EXPECT_EQ("a", message->payload()); |
149 } | 147 } |
150 | 148 |
151 TEST(ProximityAuthWireMessage, Deserialize_ValidMessageWithExtraUnknownFields) { | 149 TEST(ProximityAuthWireMessage, Deserialize_ValidMessageWithExtraUnknownFields) { |
152 bool is_incomplete; | 150 bool is_incomplete; |
153 std::string header("\3\0\x46", 3); | 151 std::string header("\3\0\x46", 3); |
154 std::string bytes = | 152 std::string bytes = header + |
155 header + | 153 "{" |
156 "{" | 154 " \"permit_id\": \"Hi!\"," |
157 " \"permit_id\": \"Hi!\"," | 155 " \"payload\": \"YQ==\"," |
158 " \"payload\": \"YQ==\"," | 156 " \"unexpected\": \"surprise!\"" |
159 " \"unexpected\": \"surprise!\"" | 157 "}"; |
160 "}"; | |
161 scoped_ptr<WireMessage> message = | 158 scoped_ptr<WireMessage> message = |
162 WireMessage::Deserialize(bytes, &is_incomplete); | 159 WireMessage::Deserialize(bytes, &is_incomplete); |
163 EXPECT_FALSE(is_incomplete); | 160 EXPECT_FALSE(is_incomplete); |
164 EXPECT_TRUE(message); | 161 EXPECT_TRUE(message); |
165 EXPECT_EQ("Hi!", message->permit_id()); | 162 EXPECT_EQ("Hi!", message->permit_id()); |
166 EXPECT_EQ("a", message->payload()); | 163 EXPECT_EQ("a", message->payload()); |
167 } | 164 } |
168 | 165 |
169 } // namespace proximity_auth | 166 } // namespace proximity_auth |
OLD | NEW |