blob: b0d35e42e0939fc49820553c73dfd941c7669db4 [file] [log] [blame]
// Copyright 2017 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.
#ifndef COMPONENTS_CRYPTAUTH_FAKE_DEVICE_CAPABILITY_MANAGER_H_
#define COMPONENTS_CRYPTAUTH_FAKE_DEVICE_CAPABILITY_MANAGER_H_
#include "base/callback.h"
#include "components/cryptauth/device_capability_manager.h"
#include "components/cryptauth/proto/cryptauth_api.pb.h"
namespace cryptauth {
using Capability = DeviceCapabilityManager::Capability;
// Test double for Device Capability Manager.
class FakeDeviceCapabilityManager : public cryptauth::DeviceCapabilityManager {
public:
FakeDeviceCapabilityManager();
~FakeDeviceCapabilityManager() override;
void set_find_eligible_devices_for_capability_error_code(
std::string error_code) {
find_eligible_devices_for_capability_error_code_ = error_code;
}
void set_capability_enabled_error_code(std::string error_code) {
set_capability_enabled_error_code_ = error_code;
LOG(ERROR) << set_capability_enabled_error_code_;
}
void set_is_capability_promotable_error_code(std::string error_code) {
is_capability_promotable_error_code_ = error_code;
}
void set_external_device_info(
std::vector<ExternalDeviceInfo> external_device_infos) {
external_device_infos_ = external_device_infos;
}
void set_ineligible_devices(
std::vector<IneligibleDevice> ineligible_devices) {
ineligible_devices_ = ineligible_devices;
}
// cryptauth::DeviceCapabilityManager:
void SetCapabilityEnabled(
const std::string& public_key,
Capability capability,
bool enabled,
const base::Closure& success_callback,
const base::Callback<void(const std::string&)>& error_callback) override;
void FindEligibleDevicesForCapability(
Capability capability,
const base::Callback<void(const std::vector<ExternalDeviceInfo>&,
const std::vector<IneligibleDevice>&)>&
success_callback,
const base::Callback<void(const std::string&)>& error_callback) override;
void IsCapabilityPromotable(
const std::string& public_key,
Capability capability,
const base::Callback<void(bool)>& success_callback,
const base::Callback<void(const std::string&)>& error_callback) override;
std::string set_capability_enabled_error_code_;
std::string find_eligible_devices_for_capability_error_code_;
std::string is_capability_promotable_error_code_;
std::vector<ExternalDeviceInfo> external_device_infos_;
std::vector<IneligibleDevice> ineligible_devices_;
};
} // namespace cryptauth
#endif // COMPONENTS_CRYPTAUTH_FAKE_DEVICE_CAPABILITY_MANAGER_H_