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

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

Issue 2891923004: [cast_channel] Make cast_channel related files not depend on "cast_channel.h" (Closed)
Patch Set: fix windows compile errors Created 3 years, 6 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 "extensions/browser/api/cast_channel/cast_transport.h" 5 #include "extensions/browser/api/cast_channel/cast_transport.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <queue> 10 #include <queue>
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 } 139 }
140 140
141 virtual int SetSendBufferSize(int32_t size) { 141 virtual int SetSendBufferSize(int32_t size) {
142 NOTREACHED(); 142 NOTREACHED();
143 return 0; 143 return 0;
144 } 144 }
145 }; 145 };
146 146
147 class CastTransportTest : public testing::Test { 147 class CastTransportTest : public testing::Test {
148 public: 148 public:
149 using ChannelError = ::cast_channel::ChannelError;
150 using ChannelAuthType = ::cast_channel::ChannelAuthType;
151
149 CastTransportTest() : logger_(new Logger()) { 152 CastTransportTest() : logger_(new Logger()) {
150 delegate_ = new MockCastTransportDelegate; 153 delegate_ = new MockCastTransportDelegate;
151 transport_.reset(new CastTransportImpl(&mock_socket_, kChannelId, 154 transport_.reset(new CastTransportImpl(&mock_socket_, kChannelId,
152 CreateIPEndPointForTest(), 155 CreateIPEndPointForTest(),
153 auth_type_, logger_)); 156 auth_type_, logger_));
154 transport_->SetReadDelegate(base::WrapUnique(delegate_)); 157 transport_->SetReadDelegate(base::WrapUnique(delegate_));
155 } 158 }
156 ~CastTransportTest() override {} 159 ~CastTransportTest() override {}
157 160
158 protected: 161 protected:
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 output); 237 output);
235 } 238 }
236 239
237 TEST_F(CastTransportTest, TestWriteFailureAsync) { 240 TEST_F(CastTransportTest, TestWriteFailureAsync) {
238 CompletionQueue socket_cbs; 241 CompletionQueue socket_cbs;
239 CompleteHandler write_handler; 242 CompleteHandler write_handler;
240 CastMessage message = CreateCastMessage(); 243 CastMessage message = CreateCastMessage();
241 EXPECT_CALL(mock_socket_, Write(NotNull(), _, _)).WillOnce( 244 EXPECT_CALL(mock_socket_, Write(NotNull(), _, _)).WillOnce(
242 DoAll(EnqueueCallback<2>(&socket_cbs), Return(net::ERR_IO_PENDING))); 245 DoAll(EnqueueCallback<2>(&socket_cbs), Return(net::ERR_IO_PENDING)));
243 EXPECT_CALL(write_handler, Complete(net::ERR_FAILED)); 246 EXPECT_CALL(write_handler, Complete(net::ERR_FAILED));
244 EXPECT_CALL(*delegate_, OnError(CHANNEL_ERROR_SOCKET_ERROR)); 247 EXPECT_CALL(*delegate_, OnError(ChannelError::CAST_SOCKET_ERROR));
245 transport_->SendMessage( 248 transport_->SendMessage(
246 message, 249 message,
247 base::Bind(&CompleteHandler::Complete, base::Unretained(&write_handler))); 250 base::Bind(&CompleteHandler::Complete, base::Unretained(&write_handler)));
248 RunPendingTasks(); 251 RunPendingTasks();
249 socket_cbs.Pop(net::ERR_CONNECTION_RESET); 252 socket_cbs.Pop(net::ERR_CONNECTION_RESET);
250 RunPendingTasks(); 253 RunPendingTasks();
251 EXPECT_EQ(proto::SOCKET_WRITE, logger_->GetLastErrors(kChannelId).event_type); 254 EXPECT_EQ(proto::SOCKET_WRITE, logger_->GetLastErrors(kChannelId).event_type);
252 EXPECT_EQ(net::ERR_CONNECTION_RESET, 255 EXPECT_EQ(net::ERR_CONNECTION_RESET,
253 logger_->GetLastErrors(kChannelId).net_return_value); 256 logger_->GetLastErrors(kChannelId).net_return_value);
254 } 257 }
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 EXPECT_CALL(*delegate_, Start()); 418 EXPECT_CALL(*delegate_, Start());
416 419
417 // Read bytes [0, 3]. 420 // Read bytes [0, 3].
418 EXPECT_CALL(mock_socket_, 421 EXPECT_CALL(mock_socket_,
419 Read(NotNull(), MessageFramer::MessageHeader::header_size(), _)) 422 Read(NotNull(), MessageFramer::MessageHeader::header_size(), _))
420 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message), 423 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message),
421 EnqueueCallback<2>(&socket_cbs), 424 EnqueueCallback<2>(&socket_cbs),
422 Return(net::ERR_IO_PENDING))) 425 Return(net::ERR_IO_PENDING)))
423 .RetiresOnSaturation(); 426 .RetiresOnSaturation();
424 427
425 EXPECT_CALL(*delegate_, OnError(CHANNEL_ERROR_SOCKET_ERROR)); 428 EXPECT_CALL(*delegate_, OnError(ChannelError::CAST_SOCKET_ERROR));
426 transport_->Start(); 429 transport_->Start();
427 // Header read failure. 430 // Header read failure.
428 socket_cbs.Pop(net::ERR_CONNECTION_RESET); 431 socket_cbs.Pop(net::ERR_CONNECTION_RESET);
429 EXPECT_EQ(proto::SOCKET_READ, logger_->GetLastErrors(kChannelId).event_type); 432 EXPECT_EQ(proto::SOCKET_READ, logger_->GetLastErrors(kChannelId).event_type);
430 EXPECT_EQ(net::ERR_CONNECTION_RESET, 433 EXPECT_EQ(net::ERR_CONNECTION_RESET,
431 logger_->GetLastErrors(kChannelId).net_return_value); 434 logger_->GetLastErrors(kChannelId).net_return_value);
432 } 435 }
433 436
434 TEST_F(CastTransportTest, TestReadErrorInBodyAsync) { 437 TEST_F(CastTransportTest, TestReadErrorInBodyAsync) {
435 CompletionQueue socket_cbs; 438 CompletionQueue socket_cbs;
(...skipping 17 matching lines...) Expand all
453 serialized_message.size() - 456 serialized_message.size() -
454 MessageFramer::MessageHeader::header_size(), 457 MessageFramer::MessageHeader::header_size(),
455 _)) 458 _))
456 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message.substr( 459 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message.substr(
457 MessageFramer::MessageHeader::header_size(), 460 MessageFramer::MessageHeader::header_size(),
458 serialized_message.size() - 461 serialized_message.size() -
459 MessageFramer::MessageHeader::header_size() - 1)), 462 MessageFramer::MessageHeader::header_size() - 1)),
460 EnqueueCallback<2>(&socket_cbs), 463 EnqueueCallback<2>(&socket_cbs),
461 Return(net::ERR_IO_PENDING))) 464 Return(net::ERR_IO_PENDING)))
462 .RetiresOnSaturation(); 465 .RetiresOnSaturation();
463 EXPECT_CALL(*delegate_, OnError(CHANNEL_ERROR_SOCKET_ERROR)); 466 EXPECT_CALL(*delegate_, OnError(ChannelError::CAST_SOCKET_ERROR));
464 transport_->Start(); 467 transport_->Start();
465 // Header read is OK. 468 // Header read is OK.
466 socket_cbs.Pop(MessageFramer::MessageHeader::header_size()); 469 socket_cbs.Pop(MessageFramer::MessageHeader::header_size());
467 // Body read fails. 470 // Body read fails.
468 socket_cbs.Pop(net::ERR_CONNECTION_RESET); 471 socket_cbs.Pop(net::ERR_CONNECTION_RESET);
469 EXPECT_EQ(proto::SOCKET_READ, logger_->GetLastErrors(kChannelId).event_type); 472 EXPECT_EQ(proto::SOCKET_READ, logger_->GetLastErrors(kChannelId).event_type);
470 EXPECT_EQ(net::ERR_CONNECTION_RESET, 473 EXPECT_EQ(net::ERR_CONNECTION_RESET,
471 logger_->GetLastErrors(kChannelId).net_return_value); 474 logger_->GetLastErrors(kChannelId).net_return_value);
472 } 475 }
473 476
(...skipping 26 matching lines...) Expand all
500 MessageFramer::MessageHeader::header_size(), 503 MessageFramer::MessageHeader::header_size(),
501 _)) 504 _))
502 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message.substr( 505 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message.substr(
503 MessageFramer::MessageHeader::header_size(), 506 MessageFramer::MessageHeader::header_size(),
504 serialized_message.size() - 507 serialized_message.size() -
505 MessageFramer::MessageHeader::header_size() - 1)), 508 MessageFramer::MessageHeader::header_size() - 1)),
506 EnqueueCallback<2>(&socket_cbs), 509 EnqueueCallback<2>(&socket_cbs),
507 Return(net::ERR_IO_PENDING))) 510 Return(net::ERR_IO_PENDING)))
508 .RetiresOnSaturation(); 511 .RetiresOnSaturation();
509 512
510 EXPECT_CALL(*delegate_, OnError(CHANNEL_ERROR_INVALID_MESSAGE)); 513 EXPECT_CALL(*delegate_, OnError(ChannelError::INVALID_MESSAGE));
511 transport_->Start(); 514 transport_->Start();
512 socket_cbs.Pop(MessageFramer::MessageHeader::header_size()); 515 socket_cbs.Pop(MessageFramer::MessageHeader::header_size());
513 socket_cbs.Pop(serialized_message.size() - 516 socket_cbs.Pop(serialized_message.size() -
514 MessageFramer::MessageHeader::header_size()); 517 MessageFramer::MessageHeader::header_size());
515 } 518 }
516 519
517 // ---------------------------------------------------------------------------- 520 // ----------------------------------------------------------------------------
518 // Synchronous read tests 521 // Synchronous read tests
519 TEST_F(CastTransportTest, TestFullReadSync) { 522 TEST_F(CastTransportTest, TestFullReadSync) {
520 InSequence s; 523 InSequence s;
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 EXPECT_TRUE(MessageFramer::Serialize(message, &serialized_message)); 602 EXPECT_TRUE(MessageFramer::Serialize(message, &serialized_message));
600 603
601 EXPECT_CALL(*delegate_, Start()); 604 EXPECT_CALL(*delegate_, Start());
602 605
603 // Read bytes [0, 3]. 606 // Read bytes [0, 3].
604 EXPECT_CALL(mock_socket_, 607 EXPECT_CALL(mock_socket_,
605 Read(NotNull(), MessageFramer::MessageHeader::header_size(), _)) 608 Read(NotNull(), MessageFramer::MessageHeader::header_size(), _))
606 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message), 609 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message),
607 Return(net::ERR_CONNECTION_RESET))) 610 Return(net::ERR_CONNECTION_RESET)))
608 .RetiresOnSaturation(); 611 .RetiresOnSaturation();
609 EXPECT_CALL(*delegate_, OnError(CHANNEL_ERROR_SOCKET_ERROR)); 612 EXPECT_CALL(*delegate_, OnError(ChannelError::CAST_SOCKET_ERROR));
610 transport_->Start(); 613 transport_->Start();
611 } 614 }
612 615
613 TEST_F(CastTransportTest, TestReadErrorInBodySync) { 616 TEST_F(CastTransportTest, TestReadErrorInBodySync) {
614 CastMessage message = CreateCastMessage(); 617 CastMessage message = CreateCastMessage();
615 std::string serialized_message; 618 std::string serialized_message;
616 EXPECT_TRUE(MessageFramer::Serialize(message, &serialized_message)); 619 EXPECT_TRUE(MessageFramer::Serialize(message, &serialized_message));
617 620
618 EXPECT_CALL(*delegate_, Start()); 621 EXPECT_CALL(*delegate_, Start());
619 622
620 // Read bytes [0, 3]. 623 // Read bytes [0, 3].
621 EXPECT_CALL(mock_socket_, 624 EXPECT_CALL(mock_socket_,
622 Read(NotNull(), MessageFramer::MessageHeader::header_size(), _)) 625 Read(NotNull(), MessageFramer::MessageHeader::header_size(), _))
623 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message), 626 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message),
624 Return(MessageFramer::MessageHeader::header_size()))) 627 Return(MessageFramer::MessageHeader::header_size())))
625 .RetiresOnSaturation(); 628 .RetiresOnSaturation();
626 // Read bytes [4, n-1]. 629 // Read bytes [4, n-1].
627 EXPECT_CALL(mock_socket_, 630 EXPECT_CALL(mock_socket_,
628 Read(NotNull(), 631 Read(NotNull(),
629 serialized_message.size() - 632 serialized_message.size() -
630 MessageFramer::MessageHeader::header_size(), 633 MessageFramer::MessageHeader::header_size(),
631 _)) 634 _))
632 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message.substr( 635 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message.substr(
633 MessageFramer::MessageHeader::header_size(), 636 MessageFramer::MessageHeader::header_size(),
634 serialized_message.size() - 637 serialized_message.size() -
635 MessageFramer::MessageHeader::header_size() - 1)), 638 MessageFramer::MessageHeader::header_size() - 1)),
636 Return(net::ERR_CONNECTION_RESET))) 639 Return(net::ERR_CONNECTION_RESET)))
637 .RetiresOnSaturation(); 640 .RetiresOnSaturation();
638 EXPECT_CALL(*delegate_, OnError(CHANNEL_ERROR_SOCKET_ERROR)); 641 EXPECT_CALL(*delegate_, OnError(ChannelError::CAST_SOCKET_ERROR));
639 transport_->Start(); 642 transport_->Start();
640 EXPECT_EQ(proto::SOCKET_READ, logger_->GetLastErrors(kChannelId).event_type); 643 EXPECT_EQ(proto::SOCKET_READ, logger_->GetLastErrors(kChannelId).event_type);
641 EXPECT_EQ(net::ERR_CONNECTION_RESET, 644 EXPECT_EQ(net::ERR_CONNECTION_RESET,
642 logger_->GetLastErrors(kChannelId).net_return_value); 645 logger_->GetLastErrors(kChannelId).net_return_value);
643 } 646 }
644 647
645 TEST_F(CastTransportTest, TestReadCorruptedMessageSync) { 648 TEST_F(CastTransportTest, TestReadCorruptedMessageSync) {
646 InSequence s; 649 InSequence s;
647 CastMessage message = CreateCastMessage(); 650 CastMessage message = CreateCastMessage();
648 std::string serialized_message; 651 std::string serialized_message;
(...skipping 20 matching lines...) Expand all
669 serialized_message.size() - 672 serialized_message.size() -
670 MessageFramer::MessageHeader::header_size(), 673 MessageFramer::MessageHeader::header_size(),
671 _)) 674 _))
672 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message.substr( 675 .WillOnce(DoAll(FillBufferFromString<0>(serialized_message.substr(
673 MessageFramer::MessageHeader::header_size(), 676 MessageFramer::MessageHeader::header_size(),
674 serialized_message.size() - 677 serialized_message.size() -
675 MessageFramer::MessageHeader::header_size() - 1)), 678 MessageFramer::MessageHeader::header_size() - 1)),
676 Return(serialized_message.size() - 679 Return(serialized_message.size() -
677 MessageFramer::MessageHeader::header_size()))) 680 MessageFramer::MessageHeader::header_size())))
678 .RetiresOnSaturation(); 681 .RetiresOnSaturation();
679 EXPECT_CALL(*delegate_, OnError(CHANNEL_ERROR_INVALID_MESSAGE)); 682 EXPECT_CALL(*delegate_, OnError(ChannelError::INVALID_MESSAGE));
680 transport_->Start(); 683 transport_->Start();
681 } 684 }
682 } // namespace cast_channel 685 } // namespace cast_channel
683 } // namespace api 686 } // namespace api
684 } // namespace extensions 687 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/api/cast_channel/cast_transport.cc ('k') | extensions/browser/api/cast_channel/keep_alive_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698