Index: chrome/browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc |
diff --git a/chrome/browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc b/chrome/browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc |
deleted file mode 100644 |
index f01b43380ace82e5e5f48dc0eec4f84ef31d654a..0000000000000000000000000000000000000000 |
--- a/chrome/browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc |
+++ /dev/null |
@@ -1,179 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
-// |
-// This test is relatively complicated. Here's the summary of what it does: |
-// |
-// - Set up mock D-Bus related objects to mock out D-Bus calls. |
-// - Set up a mock proxy resolver to mock out the proxy resolution. |
-// - Create ProxyResolutionServiceProvider by injecting the mocks |
-// - Start the service provider. |
-// - Request ProxyResolutionServiceProvider to resolve proxy for kSourceURL. |
-// - ProxyResolutionServiceProvider will return the result as a signal. |
-// - Confirm that we receive the signal and check the contents of the signal. |
- |
-#include "chrome/browser/chromeos/dbus/proxy_resolution_service_provider.h" |
- |
-#include "base/bind.h" |
-#include "chromeos/dbus/services/service_provider_test_helper.h" |
-#include "dbus/message.h" |
-#include "dbus/mock_exported_object.h" |
-#include "third_party/cros_system_api/dbus/service_constants.h" |
- |
-using ::testing::_; |
- |
-namespace chromeos { |
- |
-// We want to know about the proxy info for the URL. |
-const char kSourceURL[] = "http://www.gmail.com/"; |
- |
-// ProxyResolutionServiceProvider will return the proxy info as a D-Bus |
-// signal, to the following signal interface and the signal name. |
-const char kReturnSignalInterface[] = "org.chromium.TestInterface"; |
-const char kReturnSignalName[] = "TestSignal"; |
- |
-// The returned proxy info. |
-const char kReturnProxyInfo[] = "PROXY cache.example.com:12345"; |
- |
-// The error message is empty if proxy resolution is successful. |
-const char kReturnEmptyErrorMessage[] = ""; |
- |
-// Mock for ProxyResolverInterface. We'll inject this to |
-// ProxyResolutionServiceProvider to mock out the proxy resolution. |
-class MockProxyResolver : public ProxyResolverInterface { |
- public: |
- MOCK_METHOD4(ResolveProxy, |
- void(const std::string& source_url, |
- const std::string& signal_interface, |
- const std::string& signal_name, |
- scoped_refptr<dbus::ExportedObject> exported_object)); |
-}; |
- |
-class ProxyResolutionServiceProviderTest : public testing::Test { |
- public: |
- ProxyResolutionServiceProviderTest() |
- : signal_received_successfully_(false) { |
- } |
- |
- virtual void SetUp() override { |
- // Create a mock proxy resolver. Will be owned by |
- // |proxy_resolution_service|. |
- MockProxyResolver* mock_resolver = new MockProxyResolver; |
- // |mock_resolver_|'s ResolveProxy() will use MockResolveProxy(). |
- EXPECT_CALL(*mock_resolver, |
- ResolveProxy(kSourceURL, kReturnSignalInterface, |
- kReturnSignalName, _)) |
- .WillOnce(Invoke( |
- this, |
- &ProxyResolutionServiceProviderTest::MockResolveProxy)); |
- |
- // Create the proxy resolution service with the mock bus and the mock |
- // resolver injected. |
- service_provider_.reset( |
- ProxyResolutionServiceProvider::CreateForTesting(mock_resolver)); |
- |
- test_helper_.SetUp(kResolveNetworkProxy, service_provider_.get()); |
- |
- // Connect to the signal that will be sent to kReturnSignalInterface and |
- // kReturnSignalName. ResolveNetworkProxy() will send the result as a |
- // signal. OnSignalReceived() will be called upon the delivery. |
- test_helper_.SetUpReturnSignal( |
- kReturnSignalInterface, |
- kReturnSignalName, |
- base::Bind(&ProxyResolutionServiceProviderTest::OnSignalReceived, |
- base::Unretained(this)), |
- base::Bind(&ProxyResolutionServiceProviderTest::OnConnectedToSignal, |
- base::Unretained(this))); |
- } |
- |
- virtual void TearDown() override { |
- test_helper_.TearDown(); |
- service_provider_.reset(); |
- } |
- |
- protected: |
- // Called when a signal is received. |
- void OnSignalReceived(dbus::Signal* signal) { |
- ASSERT_EQ(kReturnSignalInterface, signal->GetInterface()); |
- ASSERT_EQ(kReturnSignalName, signal->GetMember()); |
- |
- std::string source_url; |
- std::string proxy_info; |
- std::string error_message; |
- |
- // The signal should contain three strings. |
- dbus::MessageReader reader(signal); |
- ASSERT_TRUE(reader.PopString(&source_url)); |
- ASSERT_TRUE(reader.PopString(&proxy_info)); |
- ASSERT_TRUE(reader.PopString(&error_message)); |
- |
- // Check the signal contents. |
- EXPECT_EQ(kSourceURL, source_url); |
- EXPECT_EQ(kReturnProxyInfo, proxy_info); |
- EXPECT_EQ(kReturnEmptyErrorMessage, error_message); |
- |
- // Mark that the signal is received successfully. |
- signal_received_successfully_ = true; |
- } |
- |
- // Called when connected to a signal. |
- void OnConnectedToSignal(const std::string& signal_interface, |
- const std::string& signal_name, |
- bool success){ |
- ASSERT_EQ(kReturnSignalInterface, signal_interface); |
- ASSERT_EQ(kReturnSignalName, signal_name); |
- |
- ASSERT_TRUE(success); |
- } |
- |
- // Behaves as |mock_resolver_|'s ResolveProxy(). |
- void MockResolveProxy(const std::string& source_url, |
- const std::string& signal_interface, |
- const std::string& signal_name, |
- scoped_refptr<dbus::ExportedObject> exported_object) { |
- if (source_url == kSourceURL) { |
- dbus::Signal signal(signal_interface, |
- signal_name); |
- dbus::MessageWriter writer(&signal); |
- writer.AppendString(kSourceURL); |
- writer.AppendString(kReturnProxyInfo); |
- writer.AppendString(kReturnEmptyErrorMessage); |
- // Send the signal back to the requested signal interface and the |
- // signal name. |
- exported_object->SendSignal(&signal); |
- return; |
- } |
- |
- LOG(ERROR) << "Unexpected source URL: " << source_url; |
- } |
- |
- bool signal_received_successfully_; |
- ServiceProviderTestHelper test_helper_; |
- scoped_ptr<CrosDBusService::ServiceProviderInterface> service_provider_; |
-}; |
- |
-TEST_F(ProxyResolutionServiceProviderTest, ResolveProxy) { |
- // The signal is not yet received. |
- ASSERT_FALSE(signal_received_successfully_); |
- |
- // Create a method call to resolve proxy config for kSourceURL. |
- dbus::MethodCall method_call(kLibCrosServiceInterface, kResolveNetworkProxy); |
- dbus::MessageWriter writer(&method_call); |
- writer.AppendString(kSourceURL); |
- writer.AppendString(kReturnSignalInterface); |
- writer.AppendString(kReturnSignalName); |
- |
- // Call the ResolveNetworkProxy method. |
- scoped_ptr<dbus::Response> response(test_helper_.CallMethod(&method_call)); |
- |
- // An empty response should be returned. |
- ASSERT_TRUE(response.get()); |
- dbus::MessageReader reader(response.get()); |
- ASSERT_FALSE(reader.HasMoreData()); |
- |
- // Confirm that the signal is received successfully. |
- // The contents of the signal are checked in OnSignalReceived(). |
- ASSERT_TRUE(signal_received_successfully_); |
-} |
- |
-} // namespace chromeos |