OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chromeos/dbus/mock_dbus_thread_manager.h" | 5 #include "chromeos/dbus/mock_dbus_thread_manager.h" |
6 | 6 |
| 7 #include "base/message_loop/message_loop.h" |
7 #include "chromeos/dbus/dbus_thread_manager_observer.h" | 8 #include "chromeos/dbus/dbus_thread_manager_observer.h" |
8 #include "chromeos/dbus/fake_bluetooth_adapter_client.h" | 9 #include "chromeos/dbus/fake_bluetooth_adapter_client.h" |
9 #include "chromeos/dbus/fake_bluetooth_agent_manager_client.h" | 10 #include "chromeos/dbus/fake_bluetooth_agent_manager_client.h" |
10 #include "chromeos/dbus/fake_bluetooth_device_client.h" | 11 #include "chromeos/dbus/fake_bluetooth_device_client.h" |
11 #include "chromeos/dbus/fake_bluetooth_input_client.h" | 12 #include "chromeos/dbus/fake_bluetooth_input_client.h" |
12 #include "chromeos/dbus/fake_bluetooth_profile_manager_client.h" | 13 #include "chromeos/dbus/fake_bluetooth_profile_manager_client.h" |
13 #include "chromeos/dbus/fake_gsm_sms_client.h" | 14 #include "chromeos/dbus/fake_gsm_sms_client.h" |
14 #include "chromeos/dbus/fake_nfc_manager_client.h" | 15 #include "chromeos/dbus/fake_nfc_manager_client.h" |
15 #include "chromeos/dbus/fake_shill_device_client.h" | 16 #include "chromeos/dbus/fake_shill_device_client.h" |
16 #include "chromeos/dbus/fake_shill_ipconfig_client.h" | 17 #include "chromeos/dbus/fake_shill_ipconfig_client.h" |
17 #include "chromeos/dbus/ibus/mock_ibus_client.h" | 18 #include "chromeos/dbus/ibus/mock_ibus_client.h" |
18 #include "chromeos/dbus/ibus/mock_ibus_engine_factory_service.h" | 19 #include "chromeos/dbus/ibus/mock_ibus_engine_factory_service.h" |
19 #include "chromeos/dbus/ibus/mock_ibus_engine_service.h" | 20 #include "chromeos/dbus/ibus/mock_ibus_engine_service.h" |
20 #include "chromeos/dbus/mock_cryptohome_client.h" | 21 #include "chromeos/dbus/mock_cryptohome_client.h" |
21 #include "chromeos/dbus/mock_shill_manager_client.h" | 22 #include "chromeos/dbus/mock_shill_manager_client.h" |
22 #include "chromeos/dbus/mock_shill_profile_client.h" | 23 #include "chromeos/dbus/mock_shill_profile_client.h" |
23 #include "chromeos/dbus/mock_shill_service_client.h" | 24 #include "chromeos/dbus/mock_shill_service_client.h" |
24 #include "chromeos/dbus/mock_session_manager_client.h" | 25 #include "chromeos/dbus/mock_session_manager_client.h" |
25 #include "chromeos/dbus/power_policy_controller.h" | 26 #include "chromeos/dbus/power_policy_controller.h" |
26 | 27 |
27 using ::testing::AnyNumber; | 28 using ::testing::AnyNumber; |
| 29 using ::testing::Invoke; |
28 using ::testing::Return; | 30 using ::testing::Return; |
29 using ::testing::ReturnNull; | 31 using ::testing::ReturnNull; |
30 using ::testing::SetArgumentPointee; | |
31 using ::testing::_; | 32 using ::testing::_; |
32 | 33 |
33 namespace chromeos { | 34 namespace chromeos { |
34 | 35 |
35 namespace { | 36 namespace { |
36 | 37 |
37 std::vector<uint8>* GetMockSystemSalt() { | 38 void GetMockSystemSalt( |
38 static std::vector<uint8>* s_system_salt = NULL; | 39 const CryptohomeClient::GetSystemSaltCallback& callback) { |
39 if (!s_system_salt) { | 40 const char kStubSystemSalt[] = "stub_system_salt"; |
40 const char kStubSystemSalt[] = "stub_system_salt"; | 41 base::MessageLoop::current()->PostTask( |
41 s_system_salt = new std::vector<uint8>(); | 42 FROM_HERE, |
42 s_system_salt->assign(kStubSystemSalt, | 43 base::Bind(callback, |
43 kStubSystemSalt + arraysize(kStubSystemSalt) - 1); | 44 DBUS_METHOD_CALL_SUCCESS, |
44 } | 45 std::vector<uint8>( |
45 return s_system_salt; | 46 kStubSystemSalt, |
| 47 kStubSystemSalt + arraysize(kStubSystemSalt) - 1))); |
46 } | 48 } |
47 | 49 |
48 } // namespace | 50 } // namespace |
49 | 51 |
50 MockDBusThreadManager::MockDBusThreadManager() | 52 MockDBusThreadManager::MockDBusThreadManager() |
51 : fake_bluetooth_adapter_client_(new FakeBluetoothAdapterClient), | 53 : fake_bluetooth_adapter_client_(new FakeBluetoothAdapterClient), |
52 fake_bluetooth_agent_manager_client_( | 54 fake_bluetooth_agent_manager_client_( |
53 new FakeBluetoothAgentManagerClient), | 55 new FakeBluetoothAgentManagerClient), |
54 fake_bluetooth_device_client_(new FakeBluetoothDeviceClient), | 56 fake_bluetooth_device_client_(new FakeBluetoothDeviceClient), |
55 fake_bluetooth_input_client_(new FakeBluetoothInputClient), | 57 fake_bluetooth_input_client_(new FakeBluetoothInputClient), |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 EXPECT_CALL(*mock_session_manager_client_.get(), HasObserver(_)) | 108 EXPECT_CALL(*mock_session_manager_client_.get(), HasObserver(_)) |
107 .Times(AnyNumber()); | 109 .Times(AnyNumber()); |
108 | 110 |
109 // Called from AsyncMethodCaller ctor and dtor. | 111 // Called from AsyncMethodCaller ctor and dtor. |
110 EXPECT_CALL(*mock_cryptohome_client_.get(), SetAsyncCallStatusHandlers(_, _)) | 112 EXPECT_CALL(*mock_cryptohome_client_.get(), SetAsyncCallStatusHandlers(_, _)) |
111 .Times(AnyNumber()); | 113 .Times(AnyNumber()); |
112 EXPECT_CALL(*mock_cryptohome_client_.get(), ResetAsyncCallStatusHandlers()) | 114 EXPECT_CALL(*mock_cryptohome_client_.get(), ResetAsyncCallStatusHandlers()) |
113 .Times(AnyNumber()); | 115 .Times(AnyNumber()); |
114 // Called from various locations. | 116 // Called from various locations. |
115 EXPECT_CALL(*mock_cryptohome_client_.get(), GetSystemSalt(_)) | 117 EXPECT_CALL(*mock_cryptohome_client_.get(), GetSystemSalt(_)) |
116 .WillRepeatedly(DoAll(SetArgumentPointee<0>(*GetMockSystemSalt()), | 118 .WillRepeatedly(Invoke(&GetMockSystemSalt)); |
117 Return(true))); | |
118 EXPECT_CALL(*mock_cryptohome_client_.get(), TpmIsEnabled(_)) | 119 EXPECT_CALL(*mock_cryptohome_client_.get(), TpmIsEnabled(_)) |
119 .Times(AnyNumber()); | 120 .Times(AnyNumber()); |
120 | 121 |
121 // Called from GeolocationHandler::Init(). | 122 // Called from GeolocationHandler::Init(). |
122 EXPECT_CALL(*mock_shill_manager_client_.get(), GetProperties(_)) | 123 EXPECT_CALL(*mock_shill_manager_client_.get(), GetProperties(_)) |
123 .Times(AnyNumber()); | 124 .Times(AnyNumber()); |
124 EXPECT_CALL(*mock_shill_manager_client_.get(), AddPropertyChangedObserver(_)) | 125 EXPECT_CALL(*mock_shill_manager_client_.get(), AddPropertyChangedObserver(_)) |
125 .Times(AnyNumber()); | 126 .Times(AnyNumber()); |
126 EXPECT_CALL(*mock_shill_manager_client_.get(), | 127 EXPECT_CALL(*mock_shill_manager_client_.get(), |
127 RemovePropertyChangedObserver(_)) | 128 RemovePropertyChangedObserver(_)) |
(...skipping 10 matching lines...) Expand all Loading... |
138 observers_.AddObserver(observer); | 139 observers_.AddObserver(observer); |
139 } | 140 } |
140 | 141 |
141 void MockDBusThreadManager::RemoveObserver( | 142 void MockDBusThreadManager::RemoveObserver( |
142 DBusThreadManagerObserver* observer) { | 143 DBusThreadManagerObserver* observer) { |
143 DCHECK(observer); | 144 DCHECK(observer); |
144 observers_.RemoveObserver(observer); | 145 observers_.RemoveObserver(observer); |
145 } | 146 } |
146 | 147 |
147 } // namespace chromeos | 148 } // namespace chromeos |
OLD | NEW |