| 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 |