diff options
author | Geir Storli <geirst@oath.com> | 2018-04-23 12:34:55 +0000 |
---|---|---|
committer | Geir Storli <geirst@oath.com> | 2018-04-23 12:45:00 +0000 |
commit | 046d9fc7125b19726d48b16ca1b714d6404888d4 (patch) | |
tree | 3c88b6c2525c02449df09c402955eb7aa2610a9a | |
parent | 5fae97bc7a64119aa07b03cd3ef15a4cefae64bc (diff) |
Implement mock of proton::IAttributeManager.
3 files changed, 85 insertions, 62 deletions
diff --git a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp index 9c8e2d63385..c7790f9c507 100644 --- a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp +++ b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp @@ -4,9 +4,9 @@ #include <vespa/document/test/make_bucket_space.h> #include <vespa/searchcore/proton/attribute/attribute_usage_filter.h> #include <vespa/searchcore/proton/attribute/i_attribute_manager.h> +#include <vespa/searchcore/proton/bucketdb/bucket_create_notifier.h> #include <vespa/searchcore/proton/common/doctypename.h> #include <vespa/searchcore/proton/common/feedtoken.h> -#include <vespa/searchcore/proton/bucketdb/bucket_create_notifier.h> #include <vespa/searchcore/proton/feedoperation/moveoperation.h> #include <vespa/searchcore/proton/feedoperation/pruneremoveddocumentsoperation.h> #include <vespa/searchcore/proton/feedoperation/putoperation.h> @@ -24,6 +24,7 @@ #include <vespa/searchcore/proton/test/buckethandler.h> #include <vespa/searchcore/proton/test/clusterstatehandler.h> #include <vespa/searchcore/proton/test/disk_mem_usage_notifier.h> +#include <vespa/searchcore/proton/test/mock_attribute_manager.h> #include <vespa/searchcore/proton/test/test.h> #include <vespa/searchlib/attribute/attributecontext.h> #include <vespa/searchlib/attribute/attributeguard.h> @@ -333,67 +334,7 @@ struct MyLongRunningJob : public BlockableMaintenanceJob } }; - -struct MyAttributeManager : public proton::IAttributeManager -{ - virtual AttributeGuard::UP getAttribute(const string &) const override { - abort(); - } - virtual std::unique_ptr<search::attribute::AttributeReadGuard> getAttributeReadGuard(const string &, bool) const override { - abort(); - } - virtual void getAttributeList(std::vector<AttributeGuard> &) const override { - abort(); - } - virtual search::attribute::IAttributeContext::UP createContext() const override { - abort(); - } - virtual IAttributeManager::SP create(const AttributeCollectionSpec &) const override { - abort(); - } - virtual std::vector<searchcorespi::IFlushTarget::SP> getFlushTargets() const override { - abort(); - } - virtual search::SerialNum getFlushedSerialNum(const vespalib::string &) const override { - abort(); - } - virtual search::SerialNum getOldestFlushedSerialNumber() const override { - abort(); - } - virtual search::SerialNum getNewestFlushedSerialNumber() const override { - abort(); - } - virtual void getAttributeListAll(std::vector<search::AttributeGuard> &) const override { - abort(); - } - virtual void pruneRemovedFields(search::SerialNum) override { - abort(); - } - virtual const IAttributeFactory::SP &getFactory() const override { - abort(); - } - virtual search::ISequencedTaskExecutor &getAttributeFieldWriter() const override { - abort(); - } - virtual search::AttributeVector *getWritableAttribute(const vespalib::string &) const override { - abort(); - } - virtual const std::vector<search::AttributeVector *> &getWritableAttributes() const override { - abort(); - } - virtual void asyncForEachAttribute(std::shared_ptr<IAttributeFunctor>) - const override { - } - virtual ExclusiveAttributeReadAccessor::UP getExclusiveReadAccessor(const vespalib::string &) const override { - abort(); - } - virtual void setImportedAttributes(std::unique_ptr<ImportedAttributesRepo>) override { - abort(); - } - virtual const ImportedAttributesRepo *getImportedAttributes() const override { - abort(); - } -}; +using MyAttributeManager = test::MockAttributeManager; struct MockLidSpaceCompactionHandler : public ILidSpaceCompactionHandler { diff --git a/searchcore/src/vespa/searchcore/proton/test/mock_attribute_manager.h b/searchcore/src/vespa/searchcore/proton/test/mock_attribute_manager.h new file mode 100644 index 00000000000..9dad0d32b61 --- /dev/null +++ b/searchcore/src/vespa/searchcore/proton/test/mock_attribute_manager.h @@ -0,0 +1,81 @@ +// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#pragma once + +#include <vespa/searchlib/test/mock_attribute_manager.h> +#include <vespa/searchcore/proton/attribute/i_attribute_manager.h> +#include <vespa/searchcore/proton/attribute/imported_attributes_repo.h> + +namespace proton::test { + +class MockAttributeManager : public IAttributeManager { +private: + search::attribute::test::MockAttributeManager _mock; + std::unique_ptr<ImportedAttributesRepo> _importedAttributes; + +public: + MockAttributeManager() + : _mock(), + _importedAttributes() + {} + + void addAttribute(const vespalib::string &name, const search::AttributeVector::SP &attr) { + _mock.addAttribute(name, attr); + } + + virtual search::AttributeGuard::UP getAttribute(const vespalib::string &name) const override { + return _mock.getAttribute(name); + } + virtual std::unique_ptr<search::attribute::AttributeReadGuard> getAttributeReadGuard(const vespalib::string &name, bool stableEnumGuard) const override { + return _mock.getAttributeReadGuard(name, stableEnumGuard); + } + virtual void getAttributeList(std::vector<search::AttributeGuard> &list) const override { + _mock.getAttributeList(list); + } + virtual search::attribute::IAttributeContext::UP createContext() const override { + return _mock.createContext(); + } + virtual IAttributeManager::SP create(const AttributeCollectionSpec &) const override { + return IAttributeManager::SP(); + } + virtual std::vector<searchcorespi::IFlushTarget::SP> getFlushTargets() const override { + return std::vector<searchcorespi::IFlushTarget::SP>(); + } + virtual search::SerialNum getFlushedSerialNum(const vespalib::string &) const override { + return search::SerialNum(); + } + virtual search::SerialNum getOldestFlushedSerialNumber() const override { + return search::SerialNum(); + } + virtual search::SerialNum getNewestFlushedSerialNumber() const override { + return search::SerialNum(); + } + virtual void getAttributeListAll(std::vector<search::AttributeGuard> &) const override { + } + virtual void pruneRemovedFields(search::SerialNum) override { + } + virtual const IAttributeFactory::SP &getFactory() const override { + abort(); + } + virtual search::ISequencedTaskExecutor &getAttributeFieldWriter() const override { + abort(); + } + virtual search::AttributeVector *getWritableAttribute(const vespalib::string &) const override { + return nullptr; + } + virtual const std::vector<search::AttributeVector *> &getWritableAttributes() const override { + abort(); + } + virtual void asyncForEachAttribute(std::shared_ptr<IAttributeFunctor>) const override { + } + virtual ExclusiveAttributeReadAccessor::UP getExclusiveReadAccessor(const vespalib::string &) const override { + return ExclusiveAttributeReadAccessor::UP(); + } + virtual void setImportedAttributes(std::unique_ptr<ImportedAttributesRepo> importedAttributes) override { + _importedAttributes = std::move(importedAttributes); + } + virtual const ImportedAttributesRepo *getImportedAttributes() const override { + return _importedAttributes.get(); + } +}; + +} diff --git a/searchlib/src/vespa/searchlib/test/mock_attribute_manager.h b/searchlib/src/vespa/searchlib/test/mock_attribute_manager.h index fa12089b3cf..1e7f546d864 100644 --- a/searchlib/src/vespa/searchlib/test/mock_attribute_manager.h +++ b/searchlib/src/vespa/searchlib/test/mock_attribute_manager.h @@ -6,6 +6,7 @@ #include <vespa/searchlib/attribute/attributevector.h> #include <vespa/searchlib/attribute/attribute_read_guard.h> #include <vespa/searchlib/attribute/iattributemanager.h> +#include <map> namespace search { namespace attribute { |