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

Side by Side Diff: chrome/browser/media/router/discovery/mdns/cast_media_sink_service_unittest.cc

Issue 2974523002: [cast_channel] Make CastSocketService a global leaky singleton (Closed)
Patch Set: merge with master Created 3 years, 5 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "chrome/browser/media/router/discovery/mdns/cast_media_sink_service.h" 5 #include "chrome/browser/media/router/discovery/mdns/cast_media_sink_service.h"
6 #include "base/strings/stringprintf.h" 6 #include "base/strings/stringprintf.h"
7 #include "base/test/mock_callback.h" 7 #include "base/test/mock_callback.h"
8 #include "base/timer/mock_timer.h" 8 #include "base/timer/mock_timer.h"
9 #include "chrome/browser/media/router/discovery/mdns/mock_dns_sd_registry.h" 9 #include "chrome/browser/media/router/discovery/mdns/mock_dns_sd_registry.h"
10 #include "chrome/browser/media/router/test_helper.h" 10 #include "chrome/browser/media/router/test_helper.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 if (!audio_only) 61 if (!audio_only)
62 capabilities |= cast_channel::CastDeviceCapability::VIDEO_OUT; 62 capabilities |= cast_channel::CastDeviceCapability::VIDEO_OUT;
63 EXPECT_EQ(capabilities, cast_sink.cast_data().capabilities); 63 EXPECT_EQ(capabilities, cast_sink.cast_data().capabilities);
64 EXPECT_EQ(channel_id, cast_sink.cast_data().cast_channel_id); 64 EXPECT_EQ(channel_id, cast_sink.cast_data().cast_channel_id);
65 } 65 }
66 66
67 } // namespace 67 } // namespace
68 68
69 namespace media_router { 69 namespace media_router {
70 70
71 class MockCastSocketService : public cast_channel::CastSocketService {
72 public:
73 MOCK_METHOD4(OpenSocket,
74 int(const net::IPEndPoint& ip_endpoint,
75 net::NetLog* net_log,
76 const cast_channel::CastSocket::OnOpenCallback& open_cb,
77 cast_channel::CastSocket::Observer* observer));
78 MOCK_CONST_METHOD1(GetSocket, cast_channel::CastSocket*(int channel_id));
79
80 private:
81 ~MockCastSocketService() {}
82 };
83
84 class CastMediaSinkServiceTest : public ::testing::Test { 71 class CastMediaSinkServiceTest : public ::testing::Test {
85 public: 72 public:
86 CastMediaSinkServiceTest() 73 CastMediaSinkServiceTest()
87 : mock_cast_socket_service_(new MockCastSocketService()), 74 : mock_cast_socket_service_(new cast_channel::MockCastSocketService()),
88 media_sink_service_( 75 media_sink_service_(
89 new CastMediaSinkService(mock_sink_discovered_cb_.Get(), 76 new CastMediaSinkService(mock_sink_discovered_cb_.Get(),
90 mock_cast_socket_service_.get())), 77 mock_cast_socket_service_.get())),
91 test_dns_sd_registry_(media_sink_service_.get()) {} 78 test_dns_sd_registry_(media_sink_service_.get()) {}
92 79
93 void SetUp() override { 80 void SetUp() override {
94 auto mock_timer = base::MakeUnique<base::MockTimer>( 81 auto mock_timer = base::MakeUnique<base::MockTimer>(
95 true /*retain_user_task*/, false /*is_repeating*/); 82 true /*retain_user_task*/, false /*is_repeating*/);
96 mock_timer_ = mock_timer.get(); 83 mock_timer_ = mock_timer.get();
97 media_sink_service_->SetTimerForTest(std::move(mock_timer)); 84 media_sink_service_->SetTimerForTest(std::move(mock_timer));
98 } 85 }
99 86
100 protected: 87 protected:
101 const content::TestBrowserThreadBundle thread_bundle_; 88 const content::TestBrowserThreadBundle thread_bundle_;
102 TestingProfile profile_; 89 TestingProfile profile_;
103 90
104 base::MockCallback<MediaSinkService::OnSinksDiscoveredCallback> 91 base::MockCallback<MediaSinkService::OnSinksDiscoveredCallback>
105 mock_sink_discovered_cb_; 92 mock_sink_discovered_cb_;
106 scoped_refptr<MockCastSocketService> mock_cast_socket_service_; 93 std::unique_ptr<cast_channel::MockCastSocketService>
94 mock_cast_socket_service_;
107 scoped_refptr<CastMediaSinkService> media_sink_service_; 95 scoped_refptr<CastMediaSinkService> media_sink_service_;
108 MockDnsSdRegistry test_dns_sd_registry_; 96 MockDnsSdRegistry test_dns_sd_registry_;
109 base::MockTimer* mock_timer_; 97 base::MockTimer* mock_timer_;
110 98
111 DISALLOW_COPY_AND_ASSIGN(CastMediaSinkServiceTest); 99 DISALLOW_COPY_AND_ASSIGN(CastMediaSinkServiceTest);
112 }; 100 };
113 101
114 TEST_F(CastMediaSinkServiceTest, TestReStartAfterStop) { 102 TEST_F(CastMediaSinkServiceTest, TestReStartAfterStop) {
115 EXPECT_CALL(test_dns_sd_registry_, AddObserver(media_sink_service_.get())) 103 EXPECT_CALL(test_dns_sd_registry_, AddObserver(media_sink_service_.get()))
116 .Times(2); 104 .Times(2);
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 EXPECT_EQ(size_t(1), sinks.size()); 288 EXPECT_EQ(size_t(1), sinks.size());
301 VerifyMediaSinkInternal(sinks[0], service2, 2, false); 289 VerifyMediaSinkInternal(sinks[0], service2, 2, false);
302 290
303 EXPECT_FALSE(mock_timer_->IsRunning()); 291 EXPECT_FALSE(mock_timer_->IsRunning());
304 // Channel 1 is opened and timer is restarted. 292 // Channel 1 is opened and timer is restarted.
305 media_sink_service_->OnChannelOpenedOnUIThread(service1, 1, false); 293 media_sink_service_->OnChannelOpenedOnUIThread(service1, 1, false);
306 EXPECT_TRUE(mock_timer_->IsRunning()); 294 EXPECT_TRUE(mock_timer_->IsRunning());
307 } 295 }
308 296
309 } // namespace media_router 297 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698