// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once #include #include #include #include #include #include namespace search::attribute::test { class MockAttributeManager : public search::IAttributeManager { protected: using AttributeMap = std::map; AttributeMap _attributes; AttributeVector::SP findAttribute(const vespalib::string &name) const; public: MockAttributeManager(); ~MockAttributeManager() override; AttributeGuard::UP getAttribute(const vespalib::string &name) const override; void asyncForAttribute(const vespalib::string &, std::unique_ptr) const override; std::unique_ptr getAttributeReadGuard(const vespalib::string &name, bool stableEnumGuard) const override; void getAttributeList(std::vector &list) const override; IAttributeContext::UP createContext() const override; void addAttribute(const vespalib::string &name, const AttributeVector::SP &attr); void addAttribute(const AttributeVector::SP &attr); std::shared_ptr readable_attribute_vector(const string& name) const override; }; }