blob: 2d17d6530567c0559aa09a34e9e6baf500cc795f [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::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(
fit::function<void(const fuchsia::modular::FindModulesQuery&)> fn) {
find_modules_validate_fn_ = std::move(fn);
}
void ModuleResolverFake::SetGetModuleManifestValidation(
fit::function<void(const fidl::StringPtr&)> fn) {
get_module_manifest_validate_fn_ = std::move(fn);
}
} // namespace modular