update_engine: Use org.chromium.NetworkProxyService.
Make update_engine call Chrome's new
org.chromium.NetworkProxyService D-Bus service to resolve
network proxies instead of using
org.chromium.LibCrosService. The new service supports
asynchronous replies instead of responding via D-Bus
signals.
BUG=chromium:446115,chromium:703217
TEST=unit tests pass; also added debug logging and verified
that chrome's proxy settings are used
(cherry picked from commit 941cf235c5e56eddc6e4f2de2f38bee032a4dead)
Cherry-pick updated to resolve conflicts with existing code in AOSP.
Change-Id: I8c0704482e9988fe9ed14d32797b3a5b8da3d46a
Reviewed-on: https://chromium-review.googlesource.com/497491
Commit-Ready: Dan Erat <[email protected]>
Tested-by: Dan Erat <[email protected]>
Reviewed-by: Ben Chan <[email protected]>
diff --git a/update_attempter_unittest.cc b/update_attempter_unittest.cc
index 5224870..93bcc5c 100644
--- a/update_attempter_unittest.cc
+++ b/update_attempter_unittest.cc
@@ -32,9 +32,8 @@
#include <policy/mock_device_policy.h>
#if USE_LIBCROS
-#include "libcros/dbus-proxies.h"
-#include "libcros/dbus-proxy-mocks.h"
-#include "update_engine/libcros_proxy.h"
+#include "network_proxy/dbus-proxies.h"
+#include "network_proxy/dbus-proxy-mocks.h"
#endif // USE_LIBCROS
#include "update_engine/common/fake_clock.h"
#include "update_engine/common/fake_prefs.h"
@@ -54,12 +53,16 @@
#include "update_engine/payload_consumer/payload_constants.h"
#include "update_engine/payload_consumer/postinstall_runner_action.h"
+namespace org {
+namespace chromium {
+class NetworkProxyServiceInterfaceProxyMock;
+} // namespace chromium
+} // namespace org
+
using base::Time;
using base::TimeDelta;
-#if USE_LIBCROS
-using org::chromium::LibCrosServiceInterfaceProxyMock;
-using org::chromium::UpdateEngineLibcrosProxyResolvedInterfaceProxyMock;
-#endif // USE_LIBCROS
+using org::chromium::NetworkProxyServiceInterfaceProxyInterface;
+using org::chromium::NetworkProxyServiceInterfaceProxyMock;
using std::string;
using std::unique_ptr;
using testing::DoAll;
@@ -81,9 +84,10 @@
// methods.
class UpdateAttempterUnderTest : public UpdateAttempter {
public:
- UpdateAttempterUnderTest(SystemState* system_state,
- LibCrosProxy* libcros_proxy)
- : UpdateAttempter(system_state, nullptr, libcros_proxy) {}
+ UpdateAttempterUnderTest(
+ SystemState* system_state,
+ NetworkProxyServiceInterfaceProxyInterface* network_proxy_service_proxy)
+ : UpdateAttempter(system_state, nullptr, network_proxy_service_proxy) {}
// Wrap the update scheduling method, allowing us to opt out of scheduled
// updates for testing purposes.
@@ -112,16 +116,7 @@
class UpdateAttempterTest : public ::testing::Test {
protected:
UpdateAttempterTest()
- :
-#if USE_LIBCROS
- service_interface_mock_(new LibCrosServiceInterfaceProxyMock()),
- ue_proxy_resolved_interface_mock_(
- new NiceMock<UpdateEngineLibcrosProxyResolvedInterfaceProxyMock>()),
- libcros_proxy_(
- brillo::make_unique_ptr(service_interface_mock_),
- brillo::make_unique_ptr(ue_proxy_resolved_interface_mock_)),
-#endif // USE_LIBCROS
- certificate_checker_(fake_system_state_.mock_prefs(),
+ : certificate_checker_(fake_system_state_.mock_prefs(),
&openssl_wrapper_) {
// Override system state members.
fake_system_state_.set_connection_manager(&mock_connection_manager);
@@ -193,11 +188,9 @@
FakeSystemState fake_system_state_;
#if USE_LIBCROS
- LibCrosServiceInterfaceProxyMock* service_interface_mock_;
- UpdateEngineLibcrosProxyResolvedInterfaceProxyMock*
- ue_proxy_resolved_interface_mock_;
- LibCrosProxy libcros_proxy_;
- UpdateAttempterUnderTest attempter_{&fake_system_state_, &libcros_proxy_};
+ NetworkProxyServiceInterfaceProxyMock network_proxy_service_proxy_mock_;
+ UpdateAttempterUnderTest attempter_{&fake_system_state_,
+ &network_proxy_service_proxy_mock_};
#else
UpdateAttempterUnderTest attempter_{&fake_system_state_, nullptr};
#endif // USE_LIBCROS