blob: 12125f47d6272c5f13e07cf499bbbb7af6f94a19 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "peridot/lib/testing/module_resolver_fake.h"
namespace modular {
ModuleResolverFake::ModuleResolverFake() {
find_modules_response_.results.resize(0);
}
ModuleResolverFake::~ModuleResolverFake() = default;
void ModuleResolverFake::SetStatus(fuchsia::modular::FindModulesStatus status) {
find_modules_response_.status = status;
}
void ModuleResolverFake::FindModules(fuchsia::modular::FindModulesQuery query,
FindModulesCallback callback) {
if (find_modules_validate_fn_) {
find_modules_validate_fn_(query);
}
callback(std::move(find_modules_response_));
}
void ModuleResolverFake::GetModuleManifest(std::string module_id,
GetModuleManifestCallback callback) {
if (get_module_manifest_validate_fn_) {
get_module_manifest_validate_fn_(module_id);
}
callback(std::move(manifest_));
}
void ModuleResolverFake::FindModulesByTypes(
fuchsia::modular::FindModulesByTypesQuery query,
FindModulesByTypesCallback callback) {}
void ModuleResolverFake::Connect(
fidl::InterfaceRequest<fuchsia::modular::ModuleResolver> request) {
bindings_.AddBinding(this, std::move(request));
}
void ModuleResolverFake::SetManifest(
fuchsia::modular::ModuleManifestPtr manifest) {
manifest_ = std::move(manifest);
}
void ModuleResolverFake::AddFindModulesResult(
fuchsia::modular::FindModulesResult result) {
find_modules_response_.results.push_back(std::move(result));
}
void ModuleResolverFake::SetFindModulesValidation(
std::function<void(const fuchsia::modular::FindModulesQuery&)> fn) {
find_modules_validate_fn_ = std::move(fn);
}
void ModuleResolverFake::SetGetModuleManifestValidation(
std::function<void(const fidl::StringPtr&)> fn) {
get_module_manifest_validate_fn_ = std::move(fn);
}
} // namespace modular