1 // Copyright 2020 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/chromeos/crosapi/fake_browser_manager.h"
6 
7 #include "chrome/browser/component_updater/cros_component_manager.h"
8 
9 namespace crosapi {
10 
FakeBrowserManager()11 FakeBrowserManager::FakeBrowserManager()
12     : BrowserManager(
13           scoped_refptr<component_updater::CrOSComponentManager>(nullptr)) {}
14 
15 FakeBrowserManager::~FakeBrowserManager() = default;
16 
SetGetFeedbackDataResponse(base::Value response)17 void FakeBrowserManager::SetGetFeedbackDataResponse(base::Value response) {
18   feedback_response_ = std::move(response);
19 }
20 
SignalMojoDisconnected()21 void FakeBrowserManager::SignalMojoDisconnected() {
22   NotifyMojoDisconnected();
23 }
24 
IsRunning() const25 bool FakeBrowserManager::IsRunning() const {
26   return is_running_;
27 }
28 
GetFeedbackData(GetFeedbackDataCallback callback)29 void FakeBrowserManager::GetFeedbackData(GetFeedbackDataCallback callback) {
30   const base::DictionaryValue* sysinfo_entries;
31   feedback_response_.GetAsDictionary(&sysinfo_entries);
32 
33   // Run |callback| with the pre-set |feedback_responses_|, unless testing
34   // client requests waiting for crosapi mojo disconnected event being observed.
35   if (!wait_for_mojo_disconnect_)
36     std::move(callback).Run(std::move(feedback_response_));
37 }
38 
39 }  // namespace crosapi
40