Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(411)

Unified Diff: chrome/browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc

Issue 743623002: Move ProxyResolutionServiceProvider to chromeos/dbus/services (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc ('k') | chrome/chrome_browser_chromeos.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698