OLD | NEW |
1 // Copyright (c) 2012 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 "chrome/browser/chromeos/dbus/cros_dbus_service.h" | 5 #include "chrome/browser/chromeos/dbus/cros_dbus_service.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "dbus/message.h" | 10 #include "dbus/message.h" |
11 #include "dbus/mock_bus.h" | 11 #include "dbus/mock_bus.h" |
12 #include "dbus/mock_exported_object.h" | 12 #include "dbus/mock_exported_object.h" |
13 #include "dbus/mock_object_proxy.h" | 13 #include "dbus/mock_object_proxy.h" |
14 #include "dbus/object_path.h" | |
15 #include "testing/gmock/include/gmock/gmock.h" | 14 #include "testing/gmock/include/gmock/gmock.h" |
16 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
17 #include "third_party/cros_system_api/dbus/service_constants.h" | 16 #include "third_party/cros_system_api/dbus/service_constants.h" |
18 | 17 |
19 using ::testing::Eq; | 18 using ::testing::Eq; |
20 using ::testing::Invoke; | 19 using ::testing::Invoke; |
21 using ::testing::Return; | 20 using ::testing::Return; |
22 | 21 |
23 namespace chromeos { | 22 namespace chromeos { |
24 | 23 |
(...skipping 17 matching lines...) Expand all Loading... |
42 mock_bus_ = new dbus::MockBus(options); | 41 mock_bus_ = new dbus::MockBus(options); |
43 | 42 |
44 // ShutdownAndBlock() will be called in TearDown(). | 43 // ShutdownAndBlock() will be called in TearDown(). |
45 EXPECT_CALL(*mock_bus_, ShutdownAndBlock()).WillOnce(Return()); | 44 EXPECT_CALL(*mock_bus_, ShutdownAndBlock()).WillOnce(Return()); |
46 | 45 |
47 // Create a mock exported object that behaves as | 46 // Create a mock exported object that behaves as |
48 // org.chromium.CrosDBusService. | 47 // org.chromium.CrosDBusService. |
49 mock_exported_object_ = | 48 mock_exported_object_ = |
50 new dbus::MockExportedObject(mock_bus_.get(), | 49 new dbus::MockExportedObject(mock_bus_.get(), |
51 kLibCrosServiceName, | 50 kLibCrosServiceName, |
52 dbus::ObjectPath(kLibCrosServicePath)); | 51 kLibCrosServicePath); |
53 | 52 |
54 // |mock_bus_|'s GetExportedObject() will return mock_exported_object_| | 53 // |mock_bus_|'s GetExportedObject() will return mock_exported_object_| |
55 // for the given service name and the object path. | 54 // for the given service name and the object path. |
56 EXPECT_CALL(*mock_bus_, GetExportedObject( | 55 EXPECT_CALL(*mock_bus_, GetExportedObject( |
57 kLibCrosServiceName, dbus::ObjectPath(kLibCrosServicePath))) | 56 kLibCrosServiceName, kLibCrosServicePath)) |
58 .WillOnce(Return(mock_exported_object_.get())); | 57 .WillOnce(Return(mock_exported_object_.get())); |
59 | 58 |
60 // Create a mock proxy resolution service. | 59 // Create a mock proxy resolution service. |
61 MockProxyResolutionService* mock_proxy_resolution_service_provider = | 60 MockProxyResolutionService* mock_proxy_resolution_service_provider = |
62 new MockProxyResolutionService; | 61 new MockProxyResolutionService; |
63 | 62 |
64 // Start() will be called with |mock_exported_object_|. | 63 // Start() will be called with |mock_exported_object_|. |
65 EXPECT_CALL(*mock_proxy_resolution_service_provider, | 64 EXPECT_CALL(*mock_proxy_resolution_service_provider, |
66 Start(Eq(mock_exported_object_))).WillOnce(Return()); | 65 Start(Eq(mock_exported_object_))).WillOnce(Return()); |
67 | 66 |
(...skipping 16 matching lines...) Expand all Loading... |
84 }; | 83 }; |
85 | 84 |
86 TEST_F(CrosDBusServiceTest, Start) { | 85 TEST_F(CrosDBusServiceTest, Start) { |
87 // Simply start the service and see if mock expectations are met: | 86 // Simply start the service and see if mock expectations are met: |
88 // - The service object is exported by GetExportedObject() | 87 // - The service object is exported by GetExportedObject() |
89 // - The proxy resolution service is started. | 88 // - The proxy resolution service is started. |
90 cros_dbus_service_->Start(); | 89 cros_dbus_service_->Start(); |
91 } | 90 } |
92 | 91 |
93 } // namespace chromeos | 92 } // namespace chromeos |
OLD | NEW |