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

Side by Side Diff: extensions/browser/api/cast_channel/cast_channel_apitest.cc

Issue 2688463003: [chrome.cast.channel] Remove event logging. (Closed)
Patch Set: Remove errors object when socket is closed Created 3 years, 10 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
OLDNEW
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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/timer/mock_timer.h" 9 #include "base/timer/mock_timer.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 } 207 }
208 208
209 extensions::CastChannelSendFunction* CreateSendFunction( 209 extensions::CastChannelSendFunction* CreateSendFunction(
210 scoped_refptr<Extension> extension) { 210 scoped_refptr<Extension> extension) {
211 extensions::CastChannelSendFunction* cast_channel_send_function = 211 extensions::CastChannelSendFunction* cast_channel_send_function =
212 new extensions::CastChannelSendFunction; 212 new extensions::CastChannelSendFunction;
213 cast_channel_send_function->set_extension(extension.get()); 213 cast_channel_send_function->set_extension(extension.get());
214 return cast_channel_send_function; 214 return cast_channel_send_function;
215 } 215 }
216 216
217 extensions::CastChannelSetAuthorityKeysFunction*
218 CreateSetAuthorityKeysFunction(scoped_refptr<Extension> extension) {
219 extensions::CastChannelSetAuthorityKeysFunction*
220 cast_channel_set_authority_keys_function =
221 new extensions::CastChannelSetAuthorityKeysFunction;
222 cast_channel_set_authority_keys_function->set_extension(extension.get());
223 return cast_channel_set_authority_keys_function;
224 }
225
226 MockCastSocket* mock_cast_socket_; 217 MockCastSocket* mock_cast_socket_;
227 base::MockTimer* timeout_timer_; 218 base::MockTimer* timeout_timer_;
228 net::IPEndPoint ip_endpoint_; 219 net::IPEndPoint ip_endpoint_;
229 LastErrors last_errors_; 220 LastErrors last_errors_;
230 CastTransport::Delegate* message_delegate_; 221 CastTransport::Delegate* message_delegate_;
231 net::TestNetLog capturing_net_log_; 222 net::TestNetLog capturing_net_log_;
232 int channel_id_; 223 int channel_id_;
233 }; 224 };
234 225
235 ACTION_P2(InvokeDelegateOnError, api_test, api) { 226 ACTION_P2(InvokeDelegateOnError, api_test, api) {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 322
332 EXPECT_TRUE(RunExtensionSubtest("cast_channel/api", 323 EXPECT_TRUE(RunExtensionSubtest("cast_channel/api",
333 "test_open_receive_close.html")); 324 "test_open_receive_close.html"));
334 325
335 extensions::ResultCatcher catcher; 326 extensions::ResultCatcher catcher;
336 CallOnMessage("some-message"); 327 CallOnMessage("some-message");
337 CallOnMessage("some-message"); 328 CallOnMessage("some-message");
338 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 329 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
339 } 330 }
340 331
341 // TODO(imcheng): Win Dbg has a workaround that makes RunExtensionSubtest
342 // always return true without actually running the test. Remove when fixed.
343 #if defined(OS_WIN) && !defined(NDEBUG)
344 #define MAYBE_TestGetLogs DISABLED_TestGetLogs
345 #else
346 #define MAYBE_TestGetLogs TestGetLogs
347 #endif
348 // Test loading extension, execute a open-send-close sequence, then get logs.
349 IN_PROC_BROWSER_TEST_F(CastChannelAPITest, MAYBE_TestGetLogs) {
350 SetUpOpenSendClose();
351
352 EXPECT_TRUE(RunExtensionSubtest("cast_channel/api", "test_get_logs.html"));
353 }
354
355 // TODO(kmarshall): Win Dbg has a workaround that makes RunExtensionSubtest 332 // TODO(kmarshall): Win Dbg has a workaround that makes RunExtensionSubtest
356 // always return true without actually running the test. Remove when fixed. 333 // always return true without actually running the test. Remove when fixed.
357 #if defined(OS_WIN) && !defined(NDEBUG) 334 #if defined(OS_WIN) && !defined(NDEBUG)
358 #define MAYBE_TestOpenError DISABLED_TestOpenError 335 #define MAYBE_TestOpenError DISABLED_TestOpenError
359 #else 336 #else
360 #define MAYBE_TestOpenError TestOpenError 337 #define MAYBE_TestOpenError TestOpenError
361 #endif 338 #endif
362 // Test the case when socket open results in an error. 339 // Test the case when socket open results in an error.
363 IN_PROC_BROWSER_TEST_F(CastChannelAPITest, MAYBE_TestOpenError) { 340 IN_PROC_BROWSER_TEST_F(CastChannelAPITest, MAYBE_TestOpenError) {
364 SetUpMockCastSocket(); 341 SetUpMockCastSocket();
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 "\"keepAlive\": true, " 438 "\"keepAlive\": true, "
462 "\"audioOnly\": false, " 439 "\"audioOnly\": false, "
463 "\"connectInfo\": " 440 "\"connectInfo\": "
464 "{\"ipAddress\": \"127.0.0.1\", \"port\": 8009, " 441 "{\"ipAddress\": \"127.0.0.1\", \"port\": 8009, "
465 "\"auth\": \"ssl_verified\"}, \"readyState\": \"open\"}, " 442 "\"auth\": \"ssl_verified\"}, \"readyState\": \"open\"}, "
466 "{\"namespace_\": \"foo\", \"sourceId\": \"src\", " 443 "{\"namespace_\": \"foo\", \"sourceId\": \"src\", "
467 "\"destinationId\": \"\", \"data\": \"data\"}]", 444 "\"destinationId\": \"\", \"data\": \"data\"}]",
468 browser()); 445 browser());
469 EXPECT_EQ(error, "message_info.destination_id is required"); 446 EXPECT_EQ(error, "message_info.destination_id is required");
470 } 447 }
471
Kevin M 2017/02/09 19:28:54 Add line item in the CL description for this chang
mark a. foltz 2017/02/10 21:55:16 Done.
472 IN_PROC_BROWSER_TEST_F(CastChannelAPITest, TestSetAuthorityKeysInvalid) {
473 scoped_refptr<Extension> empty_extension(
474 extensions::test_util::CreateEmptyExtension());
475 scoped_refptr<extensions::CastChannelSetAuthorityKeysFunction>
476 cast_channel_set_authority_keys_function;
477 // TODO(eroman): crbug.com/601171: Delete this test once the API has
478 // been removed. The API is deprecated and will trivially return
479 // success. So this is just testing that it succeeds for all inputs
480 // (even invalid ones).
481 cast_channel_set_authority_keys_function =
482 CreateSetAuthorityKeysFunction(empty_extension);
483 EXPECT_TRUE(utils::RunFunction(cast_channel_set_authority_keys_function.get(),
484 "[\"\", \"signature\"]", browser(),
485 utils::NONE));
486
487 cast_channel_set_authority_keys_function =
488 CreateSetAuthorityKeysFunction(empty_extension);
489 EXPECT_TRUE(utils::RunFunction(cast_channel_set_authority_keys_function.get(),
490 "[\"keys\", \"\"]", browser(), utils::NONE));
491
492 std::string keys =
493 "CrMCCiBSnZzWf+XraY5w3SbX2PEmWfHm5SNIv2pc9xbhP0EOcxKOAjCCAQoCggEBALwigL"
494 "2A9johADuudl41fz3DZFxVlIY0LwWHKM33aYwXs1CnuIL638dDLdZ+q6BvtxNygKRHFcEg"
495 "mVDN7BRiCVukmM3SQbY2Tv/oLjIwSoGoQqNsmzNuyrL1U2bgJ1OGGoUepzk/SneO+1RmZv"
496 "tYVMBeOcf1UAYL4IrUzuFqVR+LFwDmaaMn5gglaTwSnY0FLNYuojHetFJQ1iBJ3nGg+a0g"
497 "QBLx3SXr1ea4NvTWj3/KQ9zXEFvmP1GKhbPz//YDLcsjT5ytGOeTBYysUpr3TOmZer5ufk"
498 "0K48YcqZP6OqWRXRy9ZuvMYNyGdMrP+JIcmH1X+mFHnquAt+RIgCqSxRsCAwEAAQ==";
499 std::string signature =
500 "chCUHZKkykcwU8HzU+hm027fUTBL0dqPMtrzppwExQwK9+"
501 "XlmCjJswfce2sUUfhR1OL1tyW4hWFwu4JnuQCJ+CvmSmAh2bzRpnuSKzBfgvIDjNOAGUs7"
502 "ADaNSSWPLxp+6ko++2Dn4S9HpOt8N1v6gMWqj3Ru5IqFSQPZSvGH2ois6uE50CFayPcjQE"
503 "OVZt41noQdFd15RmKTvocoCC5tHNlaikeQ52yi0IScOlad1B1lMhoplW3rWophQaqxMumr"
504 "OcHIZ+Y+p858x5f8Pny/kuqUClmFh9B/vF07NsUHwoSL9tA5t5jCY3L5iUc/v7o3oFcW/T"
505 "gojKkX2Kg7KQ86QA==";
506
507 cast_channel_set_authority_keys_function =
508 CreateSetAuthorityKeysFunction(empty_extension);
509 EXPECT_TRUE(utils::RunFunction(cast_channel_set_authority_keys_function.get(),
510 "[\"" + keys + "\", \"signature\"]", browser(),
511 utils::NONE));
512
513 cast_channel_set_authority_keys_function =
514 CreateSetAuthorityKeysFunction(empty_extension);
515 EXPECT_TRUE(utils::RunFunction(cast_channel_set_authority_keys_function.get(),
516 "[\"keys\", \"" + signature + "\"]", browser(),
517 utils::NONE));
518
519 cast_channel_set_authority_keys_function =
520 CreateSetAuthorityKeysFunction(empty_extension);
521 EXPECT_TRUE(utils::RunFunction(cast_channel_set_authority_keys_function.get(),
522 "[\"" + keys + "\", \"" + signature + "\"]",
523 browser(), utils::NONE));
524 }
525
526 IN_PROC_BROWSER_TEST_F(CastChannelAPITest, TestSetAuthorityKeysValid) {
527 scoped_refptr<Extension> empty_extension(
528 extensions::test_util::CreateEmptyExtension());
529 scoped_refptr<extensions::CastChannelSetAuthorityKeysFunction>
530 cast_channel_set_authority_keys_function;
531
532 cast_channel_set_authority_keys_function =
533 CreateSetAuthorityKeysFunction(empty_extension);
534 std::string keys =
535 "CrMCCiBSnZzWf+XraY5w3SbX2PEmWfHm5SNIv2pc9xbhP0EOcxKOAjCCAQoCggEBALwigL"
536 "2A9johADuudl41fz3DZFxVlIY0LwWHKM33aYwXs1CnuIL638dDLdZ+q6BvtxNygKRHFcEg"
537 "mVDN7BRiCVukmM3SQbY2Tv/oLjIwSoGoQqNsmzNuyrL1U2bgJ1OGGoUepzk/SneO+1RmZv"
538 "tYVMBeOcf1UAYL4IrUzuFqVR+LFwDmaaMn5gglaTwSnY0FLNYuojHetFJQ1iBJ3nGg+a0g"
539 "QBLx3SXr1ea4NvTWj3/KQ9zXEFvmP1GKhbPz//YDLcsjT5ytGOeTBYysUpr3TOmZer5ufk"
540 "0K48YcqZP6OqWRXRy9ZuvMYNyGdMrP+JIcmH1X+mFHnquAt+RIgCqSxRsCAwEAAQqzAgog"
541 "okjC6FTmVqVt6CMfHuF1b9vkB/n+1GUNYMxay2URxyASjgIwggEKAoIBAQCwDl4HOt+kX2"
542 "j3Icdk27Z27+6Lk/j2G4jhk7cX8BUeflJVdzwCjXtKbNO91sGccsizFc8RwfVGxNUgR/sw"
543 "9ORhDGjwXqs3jpvhvIHDcIp41oM0MpwZYuvknO3jZGxBHZzSi0hMI5CVs+dS6gVXzGCzuh"
544 "TkugA55EZVdM5ajnpnI9poCvrEhB60xaGianMfbsguL5qeqLEO/Yemj009SwXVNVp0TbyO"
545 "gkSW9LWVYE6l3yc9QVwHo7Q1WrOe8gUkys0xWg0mTNTT/VDhNOlMgVgwssd63YGJptQ6OI"
546 "QDtzSedz//eAdbmcGyHzVWbjo8DCXhV/aKfknAzIMRNeeRbS5lAgMBAAE=";
547 std::string signature =
548 "o83oku3jP+xjTysNBalqp/ZfJRPLt8R+IUhZMepbARFSRVizLoeFW5XyUwe6lQaC+PFFQH"
549 "SZeGZyeeGRpwCJ/lef0xh6SWJlVMWNTk5+z0U84GQdizJP/CTCeHpIwMobN+kyDajgOyfD"
550 "DLhktc6LHmSlFGG6J7B8W67oziS8ZFEdrcT9WSXFrjLVyURHjvidZD5iFtuImI6k9R9OoX"
551 "LR6SyAwpjdrL+vlHMk3Gol6KQ98YpF0ghHnN3/FFW4ibvIwjmRbp+tUV3h8TRcCOjlXVGp"
552 "bzPtNRRlTqfv7Rxm5YXkZMLmJJMZiTs5+o8FMRMTQZT4hRR3DQ+A/jofViyTGA==";
553
554 std::string args = "[\"" + keys + "\", \"" + signature + "\"]";
555 EXPECT_TRUE(utils::RunFunction(cast_channel_set_authority_keys_function.get(),
556 args, browser(), utils::NONE));
557 }
558
559 // TODO(vadimgo): Win Dbg has a workaround that makes RunExtensionSubtest
560 // always return true without actually running the test. Remove when fixed.
561 #if defined(OS_WIN) && !defined(NDEBUG)
562 #define MAYBE_TestSetAuthorityKeys DISABLED_TestSetAuthorityKeys
563 #else
564 #define MAYBE_TestSetAuthorityKeys TestSetAuthorityKeys
565 #endif
566 // Test loading extension, opening a channel with ConnectInfo, adding a
567 // listener, writing, reading, and closing.
568 IN_PROC_BROWSER_TEST_F(CastChannelAPITest, MAYBE_TestSetAuthorityKeys) {
569 EXPECT_TRUE(
570 RunExtensionSubtest("cast_channel/api", "test_authority_keys.html"));
571 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698