aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2019-02-05 15:00:38 +0000
committerGeir Storli <geirst@verizonmedia.com>2019-02-05 15:00:38 +0000
commitf1a62e537615fe2664b8a6fc1347ef7c97043d14 (patch)
treeb0bcb8ad96babd931268dc2d660121d7f4c9df1f /searchcore
parent8679b9bb4f541b64cd5148b98277a0f4a72491c4 (diff)
Specify document type in code instead of config file.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp39
-rw-r--r--searchcore/src/tests/proton/common/attribute_updater/doctypes.cfg180
2 files changed, 35 insertions, 184 deletions
diff --git a/searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp b/searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp
index bb9953e3019..9be34bc9ba2 100644
--- a/searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp
+++ b/searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp
@@ -8,6 +8,7 @@
#include <vespa/document/fieldvalue/stringfieldvalue.h>
#include <vespa/document/fieldvalue/referencefieldvalue.h>
#include <vespa/document/fieldvalue/weightedsetfieldvalue.h>
+#include <vespa/document/repo/configbuilder.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/document/update/addvalueupdate.h>
#include <vespa/document/update/assignvalueupdate.h>
@@ -25,12 +26,17 @@
LOG_SETUP("attribute_updater_test");
using namespace document;
+using document::config_builder::Struct;
+using document::config_builder::Wset;
+using document::config_builder::Array;
+using document::config_builder::Map;
using search::attribute::BasicType;
using search::attribute::Config;
using search::attribute::CollectionType;
using search::attribute::Reference;
using search::attribute::ReferenceAttribute;
+
namespace search {
//-----------------------------------------------------------------------------
@@ -61,6 +67,27 @@ typedef AttributeVector::WeightedInt WeightedInt;
typedef AttributeVector::WeightedFloat WeightedFloat;
typedef AttributeVector::WeightedString WeightedString;
+std::unique_ptr<DocumentTypeRepo>
+makeDocumentTypeRepo()
+{
+ config_builder::DocumenttypesConfigBuilderHelper builder;
+ builder.document(222, "testdoc",
+ Struct("testdoc.header")
+ .addField("int", DataType::T_INT)
+ .addField("float", DataType::T_FLOAT)
+ .addField("string", DataType::T_STRING)
+ .addField("aint", Array(DataType::T_INT))
+ .addField("afloat", Array(DataType::T_FLOAT))
+ .addField("astring", Array(DataType::T_STRING))
+ .addField("wsint", Wset(DataType::T_INT))
+ .addField("wsfloat", Wset(DataType::T_FLOAT))
+ .addField("wsstring", Wset(DataType::T_STRING))
+ .addField("ref", 333),
+ Struct("testdoc.body"))
+ .referenceType(333, 222);
+ return std::make_unique<DocumentTypeRepo>(builder.config());
+}
+
class Test : public vespalib::TestApp
{
private:
@@ -136,11 +163,12 @@ private:
void requireThatArrayAttributesAreUpdated();
void requireThatWeightedSetAttributesAreUpdated();
- DocumentTypeRepo _repo;
- const DocumentType* _docType;
+ std::unique_ptr<DocumentTypeRepo> _repo;
+ const DocumentType *_docType;
public:
Test();
+ ~Test();
int Main() override;
};
@@ -367,11 +395,14 @@ Test::requireThatWeightedSetAttributesAreUpdated()
}
Test::Test()
- : _repo(readDocumenttypesConfig(TEST_PATH("doctypes.cfg"))),
- _docType(_repo.getDocumentType("testdoc"))
+ : _repo(makeDocumentTypeRepo()),
+ _docType(_repo->getDocumentType("testdoc"))
{
}
+Test::~Test() = default;
+
+
int
Test::Main()
{
diff --git a/searchcore/src/tests/proton/common/attribute_updater/doctypes.cfg b/searchcore/src/tests/proton/common/attribute_updater/doctypes.cfg
deleted file mode 100644
index 7da997e6cc9..00000000000
--- a/searchcore/src/tests/proton/common/attribute_updater/doctypes.cfg
+++ /dev/null
@@ -1,180 +0,0 @@
-enablecompression false
-documenttype[1]
-documenttype[0].id -1175657560
-documenttype[0].name "testdoc"
-documenttype[0].version 0
-documenttype[0].headerstruct -1636745577
-documenttype[0].bodystruct 1878320748
-documenttype[0].inherits[0]
-documenttype[0].datatype[8]
-documenttype[0].datatype[0].id 100
-documenttype[0].datatype[0].type ARRAY
-documenttype[0].datatype[0].array.element.id 0
-documenttype[0].datatype[0].map.key.id 0
-documenttype[0].datatype[0].map.value.id 0
-documenttype[0].datatype[0].wset.key.id 0
-documenttype[0].datatype[0].wset.createifnonexistent false
-documenttype[0].datatype[0].wset.removeifzero false
-documenttype[0].datatype[0].annotationref.annotation.id 0
-documenttype[0].datatype[0].sstruct.name ""
-documenttype[0].datatype[0].sstruct.version 0
-documenttype[0].datatype[0].sstruct.compression.type NONE
-documenttype[0].datatype[0].sstruct.compression.level 0
-documenttype[0].datatype[0].sstruct.compression.threshold 95
-documenttype[0].datatype[0].sstruct.compression.minsize 200
-documenttype[0].datatype[0].sstruct.field[0]
-documenttype[0].datatype[1].id 101
-documenttype[0].datatype[1].type ARRAY
-documenttype[0].datatype[1].array.element.id 1
-documenttype[0].datatype[1].map.key.id 0
-documenttype[0].datatype[1].map.value.id 0
-documenttype[0].datatype[1].wset.key.id 0
-documenttype[0].datatype[1].wset.createifnonexistent false
-documenttype[0].datatype[1].wset.removeifzero false
-documenttype[0].datatype[1].annotationref.annotation.id 0
-documenttype[0].datatype[1].sstruct.name ""
-documenttype[0].datatype[1].sstruct.version 0
-documenttype[0].datatype[1].sstruct.compression.type NONE
-documenttype[0].datatype[1].sstruct.compression.level 0
-documenttype[0].datatype[1].sstruct.compression.threshold 95
-documenttype[0].datatype[1].sstruct.compression.minsize 200
-documenttype[0].datatype[1].sstruct.field[0]
-documenttype[0].datatype[2].id 102
-documenttype[0].datatype[2].type ARRAY
-documenttype[0].datatype[2].array.element.id 2
-documenttype[0].datatype[2].map.key.id 0
-documenttype[0].datatype[2].map.value.id 0
-documenttype[0].datatype[2].wset.key.id 0
-documenttype[0].datatype[2].wset.createifnonexistent false
-documenttype[0].datatype[2].wset.removeifzero false
-documenttype[0].datatype[2].annotationref.annotation.id 0
-documenttype[0].datatype[2].sstruct.name ""
-documenttype[0].datatype[2].sstruct.version 0
-documenttype[0].datatype[2].sstruct.compression.type NONE
-documenttype[0].datatype[2].sstruct.compression.level 0
-documenttype[0].datatype[2].sstruct.compression.threshold 95
-documenttype[0].datatype[2].sstruct.compression.minsize 200
-documenttype[0].datatype[2].sstruct.field[0]
-documenttype[0].datatype[3].id 200
-documenttype[0].datatype[3].type WSET
-documenttype[0].datatype[3].array.element.id 0
-documenttype[0].datatype[3].map.key.id 0
-documenttype[0].datatype[3].map.value.id 0
-documenttype[0].datatype[3].wset.key.id 0
-documenttype[0].datatype[3].wset.createifnonexistent false
-documenttype[0].datatype[3].wset.removeifzero false
-documenttype[0].datatype[3].annotationref.annotation.id 0
-documenttype[0].datatype[3].sstruct.name ""
-documenttype[0].datatype[3].sstruct.version 0
-documenttype[0].datatype[3].sstruct.compression.type NONE
-documenttype[0].datatype[3].sstruct.compression.level 0
-documenttype[0].datatype[3].sstruct.compression.threshold 95
-documenttype[0].datatype[3].sstruct.compression.minsize 200
-documenttype[0].datatype[3].sstruct.field[0]
-documenttype[0].datatype[4].id 201
-documenttype[0].datatype[4].type WSET
-documenttype[0].datatype[4].array.element.id 0
-documenttype[0].datatype[4].map.key.id 0
-documenttype[0].datatype[4].map.value.id 0
-documenttype[0].datatype[4].wset.key.id 1
-documenttype[0].datatype[4].wset.createifnonexistent false
-documenttype[0].datatype[4].wset.removeifzero false
-documenttype[0].datatype[4].annotationref.annotation.id 0
-documenttype[0].datatype[4].sstruct.name ""
-documenttype[0].datatype[4].sstruct.version 0
-documenttype[0].datatype[4].sstruct.compression.type NONE
-documenttype[0].datatype[4].sstruct.compression.level 0
-documenttype[0].datatype[4].sstruct.compression.threshold 95
-documenttype[0].datatype[4].sstruct.compression.minsize 200
-documenttype[0].datatype[4].sstruct.field[0]
-documenttype[0].datatype[5].id 202
-documenttype[0].datatype[5].type WSET
-documenttype[0].datatype[5].array.element.id 0
-documenttype[0].datatype[5].map.key.id 0
-documenttype[0].datatype[5].map.value.id 0
-documenttype[0].datatype[5].wset.key.id 2
-documenttype[0].datatype[5].wset.createifnonexistent false
-documenttype[0].datatype[5].wset.removeifzero false
-documenttype[0].datatype[5].annotationref.annotation.id 0
-documenttype[0].datatype[5].sstruct.name ""
-documenttype[0].datatype[5].sstruct.version 0
-documenttype[0].datatype[5].sstruct.compression.type NONE
-documenttype[0].datatype[5].sstruct.compression.level 0
-documenttype[0].datatype[5].sstruct.compression.threshold 95
-documenttype[0].datatype[5].sstruct.compression.minsize 200
-documenttype[0].datatype[5].sstruct.field[0]
-documenttype[0].datatype[6].id -1636745577
-documenttype[0].datatype[6].type STRUCT
-documenttype[0].datatype[6].array.element.id 0
-documenttype[0].datatype[6].map.key.id 0
-documenttype[0].datatype[6].map.value.id 0
-documenttype[0].datatype[6].wset.key.id 0
-documenttype[0].datatype[6].wset.createifnonexistent false
-documenttype[0].datatype[6].wset.removeifzero false
-documenttype[0].datatype[6].annotationref.annotation.id 0
-documenttype[0].datatype[6].sstruct.name "testdoc.header"
-documenttype[0].datatype[6].sstruct.version 0
-documenttype[0].datatype[6].sstruct.compression.type NONE
-documenttype[0].datatype[6].sstruct.compression.level 0
-documenttype[0].datatype[6].sstruct.compression.threshold 90
-documenttype[0].datatype[6].sstruct.compression.minsize 0
-documenttype[0].datatype[6].sstruct.field[10]
-documenttype[0].datatype[6].sstruct.field[0].name "afloat"
-documenttype[0].datatype[6].sstruct.field[0].id 401182245
-documenttype[0].datatype[6].sstruct.field[0].id_v6 303812879
-documenttype[0].datatype[6].sstruct.field[0].datatype 101
-documenttype[0].datatype[6].sstruct.field[1].name "aint"
-documenttype[0].datatype[6].sstruct.field[1].id 19542829
-documenttype[0].datatype[6].sstruct.field[1].id_v6 764769238
-documenttype[0].datatype[6].sstruct.field[1].datatype 100
-documenttype[0].datatype[6].sstruct.field[2].name "astring"
-documenttype[0].datatype[6].sstruct.field[2].id 1494118564
-documenttype[0].datatype[6].sstruct.field[2].id_v6 1745177607
-documenttype[0].datatype[6].sstruct.field[2].datatype 102
-documenttype[0].datatype[6].sstruct.field[3].name "float"
-documenttype[0].datatype[6].sstruct.field[3].id 151686688
-documenttype[0].datatype[6].sstruct.field[3].id_v6 827904364
-documenttype[0].datatype[6].sstruct.field[3].datatype 1
-documenttype[0].datatype[6].sstruct.field[4].name "int"
-documenttype[0].datatype[6].sstruct.field[4].id 123383020
-documenttype[0].datatype[6].sstruct.field[4].id_v6 2014709351
-documenttype[0].datatype[6].sstruct.field[4].datatype 0
-documenttype[0].datatype[6].sstruct.field[5].name "string"
-documenttype[0].datatype[6].sstruct.field[5].id 1572342091
-documenttype[0].datatype[6].sstruct.field[5].id_v6 1847335717
-documenttype[0].datatype[6].sstruct.field[5].datatype 2
-documenttype[0].datatype[6].sstruct.field[6].name "wsfloat"
-documenttype[0].datatype[6].sstruct.field[6].id 821634779
-documenttype[0].datatype[6].sstruct.field[6].id_v6 1168403784
-documenttype[0].datatype[6].sstruct.field[6].datatype 201
-documenttype[0].datatype[6].sstruct.field[7].name "wsint"
-documenttype[0].datatype[6].sstruct.field[7].id 1160390473
-documenttype[0].datatype[6].sstruct.field[7].id_v6 1177062897
-documenttype[0].datatype[6].sstruct.field[7].datatype 200
-documenttype[0].datatype[6].sstruct.field[8].name "wsstring"
-documenttype[0].datatype[6].sstruct.field[8].id 981031285
-documenttype[0].datatype[6].sstruct.field[8].id_v6 682978193
-documenttype[0].datatype[6].sstruct.field[8].datatype 202
-documenttype[0].datatype[6].sstruct.field[9].name "ref"
-documenttype[0].datatype[6].sstruct.field[9].id 981031286
-documenttype[0].datatype[6].sstruct.field[9].id_v6 682978194
-documenttype[0].datatype[6].sstruct.field[9].datatype -1895788438
-documenttype[0].datatype[7].id 1878320748
-documenttype[0].datatype[7].type STRUCT
-documenttype[0].datatype[7].array.element.id 0
-documenttype[0].datatype[7].map.key.id 0
-documenttype[0].datatype[7].map.value.id 0
-documenttype[0].datatype[7].wset.key.id 0
-documenttype[0].datatype[7].wset.createifnonexistent false
-documenttype[0].datatype[7].wset.removeifzero false
-documenttype[0].datatype[7].annotationref.annotation.id 0
-documenttype[0].datatype[7].sstruct.name "testdoc.body"
-documenttype[0].datatype[7].sstruct.version 0
-documenttype[0].datatype[7].sstruct.compression.type NONE
-documenttype[0].datatype[7].sstruct.compression.level 0
-documenttype[0].datatype[7].sstruct.compression.threshold 90
-documenttype[0].datatype[7].sstruct.compression.minsize 0
-documenttype[0].datatype[7].sstruct.field[0]
-documenttype[0].annotationtype[0]
-documenttype[0].referencetype[0].id -1895788438
-documenttype[0].referencetype[0].target_type_id -1175657560