| 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/copresence/rpc/rpc_handler.h" | 5 #include "components/copresence/rpc/rpc_handler.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 base::MessageLoop message_loop_; | 168 base::MessageLoop message_loop_; |
| 169 | 169 |
| 170 RpcHandler rpc_handler_; | 170 RpcHandler rpc_handler_; |
| 171 | 171 |
| 172 std::string rpc_name_; | 172 std::string rpc_name_; |
| 173 scoped_ptr<MessageLite> request_proto_; | 173 scoped_ptr<MessageLite> request_proto_; |
| 174 CopresenceStatus status_; | 174 CopresenceStatus status_; |
| 175 std::map<std::string, std::vector<Message> > messages_by_subscription_; | 175 std::map<std::string, std::vector<Message> > messages_by_subscription_; |
| 176 }; | 176 }; |
| 177 | 177 |
| 178 // TODO(ckehoe): Renable these after https://codereview.chromium.org/453203002/ | 178 TEST_F(RpcHandlerTest, Initialize) { |
| 179 // lands. | |
| 180 #define MAYBE_Initialize DISABLED_Initialize | |
| 181 | |
| 182 TEST_F(RpcHandlerTest, MAYBE_Initialize) { | |
| 183 SetDeviceId(""); | 179 SetDeviceId(""); |
| 184 rpc_handler_.Initialize(RpcHandler::SuccessCallback()); | 180 rpc_handler_.Initialize(RpcHandler::SuccessCallback()); |
| 185 RegisterDeviceRequest* registration = | 181 RegisterDeviceRequest* registration = |
| 186 static_cast<RegisterDeviceRequest*>(request_proto_.get()); | 182 static_cast<RegisterDeviceRequest*>(request_proto_.get()); |
| 187 Identity identity = registration->device_identifiers().registrant(); | 183 Identity identity = registration->device_identifiers().registrant(); |
| 188 EXPECT_EQ(CHROME, identity.type()); | 184 EXPECT_EQ(CHROME, identity.type()); |
| 189 EXPECT_FALSE(identity.chrome_id().empty()); | 185 EXPECT_FALSE(identity.chrome_id().empty()); |
| 190 } | 186 } |
| 191 | 187 |
| 192 // TODO(ckehoe): Fix this on Windows. See rpc_handler.cc. | 188 // TODO(ckehoe): Fix this on Windows. See rpc_handler.cc. |
| 193 #ifndef OS_WIN | 189 #ifndef OS_WIN |
| 194 | 190 |
| 195 // TODO(ckehoe): Renable these after https://codereview.chromium.org/453203002/ | 191 TEST_F(RpcHandlerTest, GetDeviceCapabilities) { |
| 196 // lands. | |
| 197 #define MAYBE_GetDeviceCapabilities DISABLED_GetDeviceCapabilities | |
| 198 | |
| 199 TEST_F(RpcHandlerTest, MAYBE_GetDeviceCapabilities) { | |
| 200 // Empty request. | 192 // Empty request. |
| 201 rpc_handler_.SendReportRequest(make_scoped_ptr(new ReportRequest)); | 193 rpc_handler_.SendReportRequest(make_scoped_ptr(new ReportRequest)); |
| 202 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_); | 194 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_); |
| 203 const TokenTechnology* token_technology = &GetTokenTechnologyFromReport(); | 195 const TokenTechnology* token_technology = &GetTokenTechnologyFromReport(); |
| 204 EXPECT_EQ(AUDIO_ULTRASOUND_PASSBAND, token_technology->medium()); | 196 EXPECT_EQ(AUDIO_ULTRASOUND_PASSBAND, token_technology->medium()); |
| 205 EXPECT_EQ(TRANSMIT, token_technology->instruction_type(0)); | 197 EXPECT_EQ(TRANSMIT, token_technology->instruction_type(0)); |
| 206 EXPECT_EQ(RECEIVE, token_technology->instruction_type(1)); | 198 EXPECT_EQ(RECEIVE, token_technology->instruction_type(1)); |
| 207 | 199 |
| 208 // Request with broadcast only. | 200 // Request with broadcast only. |
| 209 scoped_ptr<ReportRequest> report(new ReportRequest); | 201 scoped_ptr<ReportRequest> report(new ReportRequest); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 236 report.reset(new ReportRequest); | 228 report.reset(new ReportRequest); |
| 237 AddMessageWithStrategy(report.get(), SCAN_ONLY); | 229 AddMessageWithStrategy(report.get(), SCAN_ONLY); |
| 238 AddSubscriptionWithStrategy(report.get(), BROADCAST_AND_SCAN); | 230 AddSubscriptionWithStrategy(report.get(), BROADCAST_AND_SCAN); |
| 239 rpc_handler_.SendReportRequest(report.Pass()); | 231 rpc_handler_.SendReportRequest(report.Pass()); |
| 240 token_technology = &GetTokenTechnologyFromReport(); | 232 token_technology = &GetTokenTechnologyFromReport(); |
| 241 EXPECT_EQ(TRANSMIT, token_technology->instruction_type(0)); | 233 EXPECT_EQ(TRANSMIT, token_technology->instruction_type(0)); |
| 242 EXPECT_EQ(RECEIVE, token_technology->instruction_type(1)); | 234 EXPECT_EQ(RECEIVE, token_technology->instruction_type(1)); |
| 243 } | 235 } |
| 244 #endif | 236 #endif |
| 245 | 237 |
| 246 // TODO(ckehoe): Renable these after https://codereview.chromium.org/453203002/ | 238 TEST_F(RpcHandlerTest, CreateRequestHeader) { |
| 247 // lands. | |
| 248 #define MAYBE_CreateRequestHeader DISABLED_CreateRequestHeader | |
| 249 | |
| 250 TEST_F(RpcHandlerTest, MAYBE_CreateRequestHeader) { | |
| 251 SetDeviceId("CreateRequestHeader Device ID"); | 239 SetDeviceId("CreateRequestHeader Device ID"); |
| 252 rpc_handler_.SendReportRequest(make_scoped_ptr(new ReportRequest), | 240 rpc_handler_.SendReportRequest(make_scoped_ptr(new ReportRequest), |
| 253 "CreateRequestHeader App ID", | 241 "CreateRequestHeader App ID", |
| 254 StatusCallback()); | 242 StatusCallback()); |
| 255 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_); | 243 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_); |
| 256 ReportRequest* report = static_cast<ReportRequest*>(request_proto_.get()); | 244 ReportRequest* report = static_cast<ReportRequest*>(request_proto_.get()); |
| 257 EXPECT_TRUE(report->header().has_framework_version()); | 245 EXPECT_TRUE(report->header().has_framework_version()); |
| 258 EXPECT_EQ("CreateRequestHeader App ID", | 246 EXPECT_EQ("CreateRequestHeader App ID", |
| 259 report->header().client_version().client()); | 247 report->header().client_version().client()); |
| 260 EXPECT_EQ("CreateRequestHeader Device ID", | 248 EXPECT_EQ("CreateRequestHeader Device ID", |
| 261 report->header().registered_device_id()); | 249 report->header().registered_device_id()); |
| 262 } | 250 } |
| 263 | 251 |
| 264 // TODO(ckehoe): Renable these after https://codereview.chromium.org/453203002/ | 252 TEST_F(RpcHandlerTest, ReportTokens) { |
| 265 // lands. | |
| 266 #define MAYBE_ReportTokens DISABLED_ReportTokens | |
| 267 | |
| 268 TEST_F(RpcHandlerTest, MAYBE_ReportTokens) { | |
| 269 std::vector<FullToken> test_tokens; | 253 std::vector<FullToken> test_tokens; |
| 270 test_tokens.push_back(FullToken("token 1", false)); | 254 test_tokens.push_back(FullToken("token 1", false)); |
| 271 test_tokens.push_back(FullToken("token 2", true)); | 255 test_tokens.push_back(FullToken("token 2", true)); |
| 272 test_tokens.push_back(FullToken("token 3", false)); | 256 test_tokens.push_back(FullToken("token 3", false)); |
| 273 AddInvalidToken("token 2"); | 257 AddInvalidToken("token 2"); |
| 274 | 258 |
| 275 rpc_handler_.ReportTokens(test_tokens); | 259 rpc_handler_.ReportTokens(test_tokens); |
| 276 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_); | 260 EXPECT_EQ(RpcHandler::kReportRequestRpcName, rpc_name_); |
| 277 ReportRequest* report = static_cast<ReportRequest*>(request_proto_.get()); | 261 ReportRequest* report = static_cast<ReportRequest*>(request_proto_.get()); |
| 278 google::protobuf::RepeatedPtrField<TokenObservation> tokens_sent = | 262 google::protobuf::RepeatedPtrField<TokenObservation> tokens_sent = |
| 279 report->update_signals_request().token_observation(); | 263 report->update_signals_request().token_observation(); |
| 280 ASSERT_EQ(2, tokens_sent.size()); | 264 ASSERT_EQ(2, tokens_sent.size()); |
| 281 EXPECT_EQ("token 1", tokens_sent.Get(0).token_id()); | 265 EXPECT_EQ("token 1", tokens_sent.Get(0).token_id()); |
| 282 EXPECT_EQ("token 3", tokens_sent.Get(1).token_id()); | 266 EXPECT_EQ("token 3", tokens_sent.Get(1).token_id()); |
| 283 } | 267 } |
| 284 | 268 |
| 285 // TODO(ckehoe): Renable these after https://codereview.chromium.org/453203002/ | 269 TEST_F(RpcHandlerTest, ReportResponseHandler) { |
| 286 // lands. | |
| 287 #define MAYBE_ReportResponseHandler DISABLED_ReportResponseHandler | |
| 288 | |
| 289 TEST_F(RpcHandlerTest, MAYBE_ReportResponseHandler) { | |
| 290 // Fail on HTTP status != 200. | 270 // Fail on HTTP status != 200. |
| 291 ReportResponse empty_response; | 271 ReportResponse empty_response; |
| 292 empty_response.mutable_header()->mutable_status()->set_code(OK); | 272 empty_response.mutable_header()->mutable_status()->set_code(OK); |
| 293 std::string serialized_empty_response; | 273 std::string serialized_empty_response; |
| 294 ASSERT_TRUE(empty_response.SerializeToString(&serialized_empty_response)); | 274 ASSERT_TRUE(empty_response.SerializeToString(&serialized_empty_response)); |
| 295 status_ = SUCCESS; | 275 status_ = SUCCESS; |
| 296 InvokeReportResponseHandler(net::HTTP_BAD_REQUEST, serialized_empty_response); | 276 InvokeReportResponseHandler(net::HTTP_BAD_REQUEST, serialized_empty_response); |
| 297 EXPECT_EQ(FAIL, status_); | 277 EXPECT_EQ(FAIL, status_); |
| 298 | 278 |
| 299 std::vector<std::string> subscription_1(1, "Subscription 1"); | 279 std::vector<std::string> subscription_1(1, "Subscription 1"); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 messages_by_subscription_["Subscription 2"][1].payload()); | 321 messages_by_subscription_["Subscription 2"][1].payload()); |
| 342 | 322 |
| 343 ASSERT_EQ(2U, directive_handler->added_directives().size()); | 323 ASSERT_EQ(2U, directive_handler->added_directives().size()); |
| 344 EXPECT_EQ("Subscription 1", | 324 EXPECT_EQ("Subscription 1", |
| 345 directive_handler->added_directives()[0].subscription_id()); | 325 directive_handler->added_directives()[0].subscription_id()); |
| 346 EXPECT_EQ("Subscription 2", | 326 EXPECT_EQ("Subscription 2", |
| 347 directive_handler->added_directives()[1].subscription_id()); | 327 directive_handler->added_directives()[1].subscription_id()); |
| 348 } | 328 } |
| 349 | 329 |
| 350 } // namespace copresence | 330 } // namespace copresence |
| OLD | NEW |