OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" | 8 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" |
9 #include "chrome/browser/service/service_process_control.h" | 9 #include "chrome/browser/service/service_process_control.h" |
10 #include "chrome/common/cloud_print/cloud_print_proxy_info.h" | 10 #include "chrome/common/cloud_print/cloud_print_proxy_info.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 using ::testing::ReturnPointee; | 27 using ::testing::ReturnPointee; |
28 using ::testing::WithArgs; | 28 using ::testing::WithArgs; |
29 using ::testing::_; | 29 using ::testing::_; |
30 | 30 |
31 class MockServiceProcessControl : public ServiceProcessControl { | 31 class MockServiceProcessControl : public ServiceProcessControl { |
32 public: | 32 public: |
33 static std::string EnabledUserId(); | 33 static std::string EnabledUserId(); |
34 | 34 |
35 MockServiceProcessControl() : connected_(false) { } | 35 MockServiceProcessControl() : connected_(false) { } |
36 | 36 |
37 MOCK_CONST_METHOD0(is_connected, bool()); | 37 MOCK_CONST_METHOD0(IsConnected, bool()); |
38 | 38 |
39 MOCK_METHOD2(Launch, void(const base::Closure&, const base::Closure&)); | 39 MOCK_METHOD2(Launch, void(const base::Closure&, const base::Closure&)); |
40 MOCK_METHOD0(Disconnect, void()); | 40 MOCK_METHOD0(Disconnect, void()); |
41 | 41 |
42 MOCK_METHOD1(OnMessageReceived, bool(const IPC::Message&)); | 42 MOCK_METHOD1(OnMessageReceived, bool(const IPC::Message&)); |
43 MOCK_METHOD1(OnChannelConnected, void(int32 peer_pid)); | 43 MOCK_METHOD1(OnChannelConnected, void(int32 peer_pid)); |
44 MOCK_METHOD0(OnChannelError, void()); | 44 MOCK_METHOD0(OnChannelError, void()); |
45 | 45 |
46 MOCK_METHOD1(Send, bool(IPC::Message*)); | 46 MOCK_METHOD1(Send, bool(IPC::Message*)); |
47 | 47 |
(...skipping 23 matching lines...) Expand all Loading... |
71 return std::string("dorothy@somewhere.otr"); | 71 return std::string("dorothy@somewhere.otr"); |
72 } | 72 } |
73 | 73 |
74 void CallTask(const base::Closure& task) { | 74 void CallTask(const base::Closure& task) { |
75 if (!task.is_null()) | 75 if (!task.is_null()) |
76 task.Run(); | 76 task.Run(); |
77 } | 77 } |
78 | 78 |
79 void MockServiceProcessControl::SetConnectSuccessMockExpectations( | 79 void MockServiceProcessControl::SetConnectSuccessMockExpectations( |
80 ServiceState service_state) { | 80 ServiceState service_state) { |
81 EXPECT_CALL(*this, is_connected()).WillRepeatedly(ReturnPointee(&connected_)); | 81 EXPECT_CALL(*this, IsConnected()).WillRepeatedly(ReturnPointee(&connected_)); |
82 | 82 |
83 EXPECT_CALL(*this, Launch(_, _)) | 83 EXPECT_CALL(*this, Launch(_, _)) |
84 .WillRepeatedly( | 84 .WillRepeatedly( |
85 DoAll(Assign(&connected_, true), WithArgs<0>(Invoke(CallTask)))); | 85 DoAll(Assign(&connected_, true), WithArgs<0>(Invoke(CallTask)))); |
86 EXPECT_CALL(*this, Disconnect()).Times(AtMost(1)) | 86 EXPECT_CALL(*this, Disconnect()).Times(AtMost(1)) |
87 .WillRepeatedly(Assign(&connected_, false)); | 87 .WillRepeatedly(Assign(&connected_, false)); |
88 | 88 |
89 EXPECT_CALL(*this, Send(_)).Times(0); | 89 EXPECT_CALL(*this, Send(_)).Times(0); |
90 | 90 |
91 if (service_state == kServiceStateEnabled) | 91 if (service_state == kServiceStateEnabled) |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 MessageLoopForUI message_loop_; | 174 MessageLoopForUI message_loop_; |
175 content::TestBrowserThread ui_thread_; | 175 content::TestBrowserThread ui_thread_; |
176 TestingProfile profile_; | 176 TestingProfile profile_; |
177 }; | 177 }; |
178 | 178 |
179 TEST_F(CloudPrintProxyPolicyTest, VerifyExpectations) { | 179 TEST_F(CloudPrintProxyPolicyTest, VerifyExpectations) { |
180 MockServiceProcessControl mock_control; | 180 MockServiceProcessControl mock_control; |
181 mock_control.SetConnectSuccessMockExpectations( | 181 mock_control.SetConnectSuccessMockExpectations( |
182 MockServiceProcessControl::kServiceStateNone); | 182 MockServiceProcessControl::kServiceStateNone); |
183 | 183 |
184 EXPECT_FALSE(mock_control.is_connected()); | 184 EXPECT_FALSE(mock_control.IsConnected()); |
185 mock_control.Launch(base::Closure(), base::Closure()); | 185 mock_control.Launch(base::Closure(), base::Closure()); |
186 EXPECT_TRUE(mock_control.is_connected()); | 186 EXPECT_TRUE(mock_control.IsConnected()); |
187 mock_control.Launch(base::Closure(), base::Closure()); | 187 mock_control.Launch(base::Closure(), base::Closure()); |
188 EXPECT_TRUE(mock_control.is_connected()); | 188 EXPECT_TRUE(mock_control.IsConnected()); |
189 mock_control.Disconnect(); | 189 mock_control.Disconnect(); |
190 EXPECT_FALSE(mock_control.is_connected()); | 190 EXPECT_FALSE(mock_control.IsConnected()); |
191 } | 191 } |
192 | 192 |
193 TEST_F(CloudPrintProxyPolicyTest, StartWithNoPolicyProxyDisabled) { | 193 TEST_F(CloudPrintProxyPolicyTest, StartWithNoPolicyProxyDisabled) { |
194 TestCloudPrintProxyService service(&profile_); | 194 TestCloudPrintProxyService service(&profile_); |
195 | 195 |
196 service.GetMockServiceProcessControl()->SetConnectSuccessMockExpectations( | 196 service.GetMockServiceProcessControl()->SetConnectSuccessMockExpectations( |
197 MockServiceProcessControl::kServiceStateDisabled); | 197 MockServiceProcessControl::kServiceStateDisabled); |
198 | 198 |
199 TestingPrefService* prefs = profile_.GetTestingPrefService(); | 199 TestingPrefService* prefs = profile_.GetTestingPrefService(); |
200 prefs->SetUserPref(prefs::kCloudPrintEmail, | 200 prefs->SetUserPref(prefs::kCloudPrintEmail, |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 prefs->RemoveManagedPref(prefs::kCloudPrintProxyEnabled); | 389 prefs->RemoveManagedPref(prefs::kCloudPrintProxyEnabled); |
390 EXPECT_EQ(std::string(), prefs->GetString(prefs::kCloudPrintEmail)); | 390 EXPECT_EQ(std::string(), prefs->GetString(prefs::kCloudPrintEmail)); |
391 | 391 |
392 service.GetMockServiceProcessControl()->SetWillBeEnabledExpectations(); | 392 service.GetMockServiceProcessControl()->SetWillBeEnabledExpectations(); |
393 service.EnableForUser(std::string(), | 393 service.EnableForUser(std::string(), |
394 MockServiceProcessControl::EnabledUserId()); | 394 MockServiceProcessControl::EnabledUserId()); |
395 | 395 |
396 EXPECT_EQ(MockServiceProcessControl::EnabledUserId(), | 396 EXPECT_EQ(MockServiceProcessControl::EnabledUserId(), |
397 prefs->GetString(prefs::kCloudPrintEmail)); | 397 prefs->GetString(prefs::kCloudPrintEmail)); |
398 } | 398 } |
OLD | NEW |