aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp')
-rw-r--r--searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp37
1 files changed, 21 insertions, 16 deletions
diff --git a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
index ed0e5091aec..4970ad867ce 100644
--- a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
@@ -222,11 +222,13 @@ public:
struct MyDocumentStore : public test::DummyDocumentStore
{
typedef std::map<DocumentIdT, document::Document::SP> DocMap;
+ const document::DocumentTypeRepo & _repo;
DocMap _docs;
uint64_t _lastSyncToken;
uint32_t _compactLidSpaceLidLimit;
- MyDocumentStore()
+ MyDocumentStore(const document::DocumentTypeRepo & repo)
: test::DummyDocumentStore("."),
+ _repo(repo),
_docs(),
_lastSyncToken(0),
_compactLidSpaceLidLimit(0)
@@ -239,10 +241,14 @@ struct MyDocumentStore : public test::DummyDocumentStore
}
return Document::UP();
}
- virtual void write(uint64_t syncToken, const document::Document& doc, DocumentIdT lid) override {
+ virtual void write(uint64_t syncToken, DocumentIdT lid, const document::Document& doc) override {
_lastSyncToken = syncToken;
_docs[lid] = Document::SP(doc.clone());
}
+ virtual void write(uint64_t syncToken, DocumentIdT lid, const vespalib::nbostream & os) override {
+ _lastSyncToken = syncToken;
+ _docs[lid] = std::make_shared<Document>(_repo, const_cast<vespalib::nbostream &>(os));
+ }
virtual void remove(uint64_t syncToken, DocumentIdT lid) override {
_lastSyncToken = syncToken;
_docs.erase(lid);
@@ -259,7 +265,7 @@ struct MyDocumentStore : public test::DummyDocumentStore
struct MySummaryManager : public test::DummySummaryManager
{
MyDocumentStore _store;
- MySummaryManager() : _store() {}
+ MySummaryManager(const document::DocumentTypeRepo & repo) : _store(repo) {}
virtual search::IDocumentStore &getBackingStore() override { return _store; }
};
@@ -269,27 +275,26 @@ struct MySummaryAdapter : public test::MockSummaryAdapter
MyDocumentStore &_store;
MyLidVector _removes;
- MySummaryAdapter()
- : _sumMgr(new MySummaryManager()),
+ MySummaryAdapter(const document::DocumentTypeRepo & repo)
+ : _sumMgr(new MySummaryManager(repo)),
_store(static_cast<MyDocumentStore &>(_sumMgr->getBackingStore())),
_removes()
{}
- virtual void put(SerialNum serialNum, const document::Document &doc, const DocumentIdT lid) override {
- (void) serialNum;
- _store.write(serialNum, doc, lid);
+ virtual void put(SerialNum serialNum, DocumentIdT lid, const Document &doc) override {
+ _store.write(serialNum, lid, doc);
+ }
+ virtual void put(SerialNum serialNum, DocumentIdT lid, const vespalib::nbostream & os) override {
+ _store.write(serialNum, lid, os);
}
virtual void remove(SerialNum serialNum, const DocumentIdT lid) override {
- LOG(info,
- "MySummaryAdapter::remove(): serialNum(%" PRIu64 "), docId(%u)",
- serialNum, lid);
+ LOG(info, "MySummaryAdapter::remove(): serialNum(%" PRIu64 "), docId(%u)", serialNum, lid);
_store.remove(serialNum, lid);
_removes.push_back(lid);
}
virtual const search::IDocumentStore &getDocumentStore() const override {
return _store;
}
- virtual std::unique_ptr<document::Document> get(const search::DocumentIdT lid,
- const document::DocumentTypeRepo &repo) override {
+ virtual std::unique_ptr<Document> get(const DocumentIdT lid, const DocumentTypeRepo &repo) override {
return _store.read(lid, repo);
}
virtual void compactLidSpace(uint32_t wantedDocIdLimit) override {
@@ -511,13 +516,13 @@ FeedTokenContext::~FeedTokenContext() {}
struct FixtureBase
{
MyTracer _tracer;
+ SchemaContext sc;
IIndexWriter::SP iw;
ISummaryAdapter::SP sa;
IAttributeWriter::SP aw;
MyIndexWriter &miw;
MySummaryAdapter &msa;
MyAttributeWriter &maw;
- SchemaContext sc;
DocIdLimit _docIdLimit;
DocumentMetaStoreContext::SP _dmscReal;
test::DocumentMetaStoreContextObserver::SP _dmsc;
@@ -699,13 +704,13 @@ struct FixtureBase
FixtureBase::FixtureBase(TimeStamp visibilityDelay)
: _tracer(),
+ sc(),
iw(new MyIndexWriter(_tracer)),
- sa(new MySummaryAdapter),
+ sa(new MySummaryAdapter(*sc._builder->getDocumentTypeRepo())),
aw(new MyAttributeWriter(_tracer)),
miw(static_cast<MyIndexWriter&>(*iw)),
msa(static_cast<MySummaryAdapter&>(*sa)),
maw(static_cast<MyAttributeWriter&>(*aw)),
- sc(),
_docIdLimit(0u),
_dmscReal(new DocumentMetaStoreContext(std::make_shared<BucketDBOwner>())),
_dmsc(new test::DocumentMetaStoreContextObserver(*_dmscReal)),