| 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 |