blob: 13555b43c03da440928bb429c60834235d2e4bd2 [file] [log] [blame]
// Copyright 2021 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef DLP_DLP_ADAPTOR_TEST_HELPER_H_
#define DLP_DLP_ADAPTOR_TEST_HELPER_H_
#include <memory>
#include <base/task/single_thread_task_executor.h>
#include <brillo/message_loops/base_message_loop.h>
#include <dbus/mock_bus.h>
#include <dbus/mock_exported_object.h>
#include <dbus/mock_object_proxy.h>
#include "dlp/dlp_adaptor.h"
namespace dlp {
class DlpAdaptorTestHelper {
public:
DlpAdaptorTestHelper();
~DlpAdaptorTestHelper();
DlpAdaptorTestHelper(const DlpAdaptorTestHelper&) = delete;
DlpAdaptorTestHelper& operator=(const DlpAdaptorTestHelper&) = delete;
DlpAdaptor* adaptor() { return adaptor_.get(); }
scoped_refptr<dbus::MockObjectProxy> mock_dlp_files_policy_service_proxy() {
return mock_dlp_files_policy_service_proxy_;
}
scoped_refptr<dbus::MockObjectProxy> mock_session_manager_proxy() {
return mock_session_manager_proxy_;
}
private:
scoped_refptr<dbus::MockBus> bus_;
scoped_refptr<dbus::MockExportedObject> mock_exported_object_;
scoped_refptr<dbus::MockObjectProxy> mock_dlp_files_policy_service_proxy_;
scoped_refptr<dbus::MockObjectProxy> mock_session_manager_proxy_;
std::unique_ptr<DlpAdaptor> adaptor_;
base::SingleThreadTaskExecutor task_executor_{base::MessagePumpType::IO};
brillo::BaseMessageLoop brillo_loop_{task_executor_.task_runner()};
};
} // namespace dlp
#endif // DLP_DLP_ADAPTOR_TEST_HELPER_H_