aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/documentdb/configvalidator/configvalidator_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/proton/documentdb/configvalidator/configvalidator_test.cpp')
-rw-r--r--searchcore/src/tests/proton/documentdb/configvalidator/configvalidator_test.cpp170
1 files changed, 86 insertions, 84 deletions
diff --git a/searchcore/src/tests/proton/documentdb/configvalidator/configvalidator_test.cpp b/searchcore/src/tests/proton/documentdb/configvalidator/configvalidator_test.cpp
index 6ca02a7a4c5..7fcdf4981bd 100644
--- a/searchcore/src/tests/proton/documentdb/configvalidator/configvalidator_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/configvalidator/configvalidator_test.cpp
@@ -5,6 +5,11 @@
using namespace proton;
using namespace search::index;
+
+using proton::configvalidator::Result;
+using proton::configvalidator::ResultType;
+using search::index::schema::CollectionType;
+using search::index::schema::DataType;
using vespa::config::search::AttributesConfig;
using vespa::config::search::AttributesConfigBuilder;
@@ -12,9 +17,6 @@ typedef Schema::AttributeField AField;
typedef Schema::IndexField IField;
typedef Schema::SummaryField SField;
-using proton::configvalidator::ResultType;
-using proton::configvalidator::Result;
-
const ResultType OK = ResultType::OK;
const ResultType DTC = ResultType::DATA_TYPE_CHANGED;
const ResultType CTC = ResultType::COLLECTION_TYPE_CHANGED;
@@ -47,7 +49,7 @@ struct SchemaBuilder
Schema _schema;
SchemaBuilder() : _schema() {}
SchemaBuilder &add(const vespalib::string &name, FType ftype,
- schema::DataType dtype, schema::CollectionType ctype = schema::SINGLE) {
+ schema::DataType dtype, schema::CollectionType ctype = schema::CollectionType::SINGLE) {
switch (ftype) {
case INDEX:
_schema.addIndexField(IField(name, dtype, ctype));
@@ -74,13 +76,13 @@ create(FType ftype, Schema::DataType dtype, Schema::CollectionType ctype)
Schema
created(FType ftype, schema::DataType dtype)
{
- return create(ftype, dtype, schema::SINGLE);
+ return create(ftype, dtype, CollectionType::SINGLE);
}
Schema
createc(FType ftype, schema::CollectionType ctype)
{
- return create(ftype, schema::STRING, ctype);
+ return create(ftype, DataType::STRING, ctype);
}
ResultType
@@ -104,13 +106,13 @@ void
requireThatChangedDataTypeIsDiscovered(FType ftype)
{
EXPECT_EQUAL(DTC,
- checkSchema(created(ftype, schema::INT32),
- created(ftype, schema::STRING),
+ checkSchema(created(ftype, DataType::INT32),
+ created(ftype, DataType::STRING),
Schema()));
EXPECT_EQUAL(DTC,
- checkSchema(created(ftype, schema::INT32),
+ checkSchema(created(ftype, DataType::INT32),
Schema(),
- created(ftype, schema::STRING)));
+ created(ftype, DataType::STRING)));
}
TEST("require that changed data type is discovered")
@@ -124,13 +126,13 @@ void
requireThatChangedCollectionTypeIsDiscovered(FType ftype)
{
EXPECT_EQUAL(CTC,
- checkSchema(createc(ftype, schema::ARRAY),
- createc(ftype, schema::SINGLE),
+ checkSchema(createc(ftype, CollectionType::ARRAY),
+ createc(ftype, CollectionType::SINGLE),
Schema()));
EXPECT_EQUAL(CTC,
- checkSchema(createc(ftype, schema::ARRAY),
+ checkSchema(createc(ftype, CollectionType::ARRAY),
Schema(),
- createc(ftype, schema::SINGLE)));
+ createc(ftype, CollectionType::SINGLE)));
}
TEST("require that changed collection type is discovered")
@@ -142,15 +144,15 @@ TEST("require that changed collection type is discovered")
TEST("require that changed index aspect is discovered")
{
- Schema s1 = created(SUMMARY, schema::STRING);
- s1.addIndexField(IField("f1", schema::STRING));
- Schema s2 = created(SUMMARY, schema::STRING);
- Schema s2h = created(INDEX, schema::STRING);
-
- Schema s3 = created(ATTRIBUTE, schema::STRING);
- s3.addIndexField(IField("f1", schema::STRING));
- Schema s4 = created(ATTRIBUTE, schema::STRING);
- Schema s4h = created(INDEX, schema::STRING);
+ Schema s1 = created(SUMMARY, DataType::STRING);
+ s1.addIndexField(IField("f1", DataType::STRING));
+ Schema s2 = created(SUMMARY, DataType::STRING);
+ Schema s2h = created(INDEX, DataType::STRING);
+
+ Schema s3 = created(ATTRIBUTE, DataType::STRING);
+ s3.addIndexField(IField("f1", DataType::STRING));
+ Schema s4 = created(ATTRIBUTE, DataType::STRING);
+ Schema s4h = created(INDEX, DataType::STRING);
{ // remove as index field
EXPECT_EQUAL(IAR, checkSchema(s2, s1, Schema()));
EXPECT_EQUAL(IAR, checkSchema(s2, Schema(), s1));
@@ -174,21 +176,21 @@ TEST("require that changed index aspect is discovered")
TEST("require that changed attribute aspect is discovered")
{
- Schema s1 = created(SUMMARY, schema::STRING);
- s1.addAttributeField(AField("f1", schema::STRING));
- Schema s2 = created(SUMMARY, schema::STRING);
- Schema s2h = created(ATTRIBUTE, schema::STRING);
-
- Schema s3 = created(INDEX, schema::STRING);
- s3.addAttributeField(AField("f1", schema::STRING));
- Schema s4 = created(INDEX, schema::STRING);
- Schema s4h = created(ATTRIBUTE, schema::STRING);
-
- Schema s5 = created(INDEX, schema::STRING);
- s5.addSummaryField(SField("f1", schema::STRING));
- s5.addAttributeField(AField("f1", schema::STRING));
- Schema s6 = created(INDEX, schema::STRING);
- s6.addSummaryField(SField("f1", schema::STRING));
+ Schema s1 = created(SUMMARY, DataType::STRING);
+ s1.addAttributeField(AField("f1", DataType::STRING));
+ Schema s2 = created(SUMMARY, DataType::STRING);
+ Schema s2h = created(ATTRIBUTE, DataType::STRING);
+
+ Schema s3 = created(INDEX, DataType::STRING);
+ s3.addAttributeField(AField("f1", DataType::STRING));
+ Schema s4 = created(INDEX, DataType::STRING);
+ Schema s4h = created(ATTRIBUTE, DataType::STRING);
+
+ Schema s5 = created(INDEX, DataType::STRING);
+ s5.addSummaryField(SField("f1", DataType::STRING));
+ s5.addAttributeField(AField("f1", DataType::STRING));
+ Schema s6 = created(INDEX, DataType::STRING);
+ s6.addSummaryField(SField("f1", DataType::STRING));
{ // remove as attribute field
EXPECT_EQUAL(AAR, checkSchema(s2, s1, Schema()));
EXPECT_EQUAL(AAR, checkSchema(s2, Schema(), s1));
@@ -214,15 +216,15 @@ TEST("require that changed attribute aspect is discovered")
TEST("require that changed summary aspect is allowed")
{
- Schema s1 = created(INDEX, schema::STRING);
- s1.addSummaryField(SField("f1", schema::STRING));
- Schema s2 = created(INDEX, schema::STRING);
- Schema s2h = created(SUMMARY, schema::STRING);
-
- Schema s3 = created(ATTRIBUTE, schema::STRING);
- s3.addSummaryField(SField("f1", schema::STRING));
- Schema s4 = created(ATTRIBUTE, schema::STRING);
- Schema s4h = created(SUMMARY, schema::STRING);
+ Schema s1 = created(INDEX, DataType::STRING);
+ s1.addSummaryField(SField("f1", DataType::STRING));
+ Schema s2 = created(INDEX, DataType::STRING);
+ Schema s2h = created(SUMMARY, DataType::STRING);
+
+ Schema s3 = created(ATTRIBUTE, DataType::STRING);
+ s3.addSummaryField(SField("f1", DataType::STRING));
+ Schema s4 = created(ATTRIBUTE, DataType::STRING);
+ Schema s4h = created(SUMMARY, DataType::STRING);
{ // remove as summary field
EXPECT_EQUAL(OK, checkSchema(s2, s1, Schema()));
EXPECT_EQUAL(IAA, checkSchema(s2, Schema(), s1));
@@ -242,16 +244,16 @@ TEST("require that changed summary aspect is allowed")
TEST("require that fields can be added and removed")
{
Schema e;
- Schema s1 = created(INDEX, schema::STRING);
- Schema s2 = created(ATTRIBUTE, schema::STRING);
- Schema s3 = created(SUMMARY, schema::STRING);
- Schema s4 = created(SUMMARY, schema::STRING);
- s4.addIndexField(IField("f1", schema::STRING));
- Schema s5 = created(SUMMARY, schema::STRING);
- s5.addAttributeField(AField("f1", schema::STRING));
- Schema s6 = created(SUMMARY, schema::STRING);
- s6.addIndexField(IField("f1", schema::STRING));
- s6.addAttributeField(AField("f1", schema::STRING));
+ Schema s1 = created(INDEX, DataType::STRING);
+ Schema s2 = created(ATTRIBUTE, DataType::STRING);
+ Schema s3 = created(SUMMARY, DataType::STRING);
+ Schema s4 = created(SUMMARY, DataType::STRING);
+ s4.addIndexField(IField("f1", DataType::STRING));
+ Schema s5 = created(SUMMARY, DataType::STRING);
+ s5.addAttributeField(AField("f1", DataType::STRING));
+ Schema s6 = created(SUMMARY, DataType::STRING);
+ s6.addIndexField(IField("f1", DataType::STRING));
+ s6.addAttributeField(AField("f1", DataType::STRING));
{ // addition of field
EXPECT_EQUAL(OK, checkSchema(s1, e, e));
EXPECT_EQUAL(OK, checkSchema(s2, e, e));
@@ -278,53 +280,53 @@ TEST("require that fields can be added and removed")
TEST("require that data type changed precedes collection type changed")
{
- Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, schema::STRING).
- add("f2", FType::INDEX, schema::STRING).schema();
- Schema news = SchemaBuilder().add("f1", FType::SUMMARY, schema::INT32).
- add("f2", FType::INDEX, schema::STRING, schema::ARRAY).schema();
+ Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, DataType::STRING).
+ add("f2", FType::INDEX, DataType::STRING).schema();
+ Schema news = SchemaBuilder().add("f1", FType::SUMMARY, DataType::INT32).
+ add("f2", FType::INDEX, DataType::STRING, CollectionType::ARRAY).schema();
EXPECT_EQUAL(DTC, checkSchema(news, olds, Schema()));
}
TEST("require that collection type change precedes index aspect added")
{
- Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, schema::STRING).
- add("f2", FType::SUMMARY, schema::STRING).schema();
- Schema news = SchemaBuilder().add("f1", FType::SUMMARY, schema::STRING, schema::ARRAY).
- add("f2", FType::SUMMARY, schema::STRING).
- add("f2", FType::INDEX, schema::STRING).schema();
+ Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, DataType::STRING).
+ add("f2", FType::SUMMARY, DataType::STRING).schema();
+ Schema news = SchemaBuilder().add("f1", FType::SUMMARY, DataType::STRING, CollectionType::ARRAY).
+ add("f2", FType::SUMMARY, DataType::STRING).
+ add("f2", FType::INDEX, DataType::STRING).schema();
EXPECT_EQUAL(CTC, checkSchema(news, olds, Schema()));
}
TEST("require that index aspect added precedes index aspect removed")
{
- Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, schema::STRING).
- add("f2", FType::SUMMARY, schema::STRING).
- add("f2", FType::INDEX, schema::STRING).schema();
- Schema news = SchemaBuilder().add("f1", FType::SUMMARY, schema::STRING).
- add("f1", FType::INDEX, schema::STRING).
- add("f2", FType::SUMMARY, schema::STRING).schema();
+ Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, DataType::STRING).
+ add("f2", FType::SUMMARY, DataType::STRING).
+ add("f2", FType::INDEX, DataType::STRING).schema();
+ Schema news = SchemaBuilder().add("f1", FType::SUMMARY, DataType::STRING).
+ add("f1", FType::INDEX, DataType::STRING).
+ add("f2", FType::SUMMARY, DataType::STRING).schema();
EXPECT_EQUAL(IAA, checkSchema(news, olds, Schema()));
}
TEST("require that index aspect removed precedes attribute aspect removed")
{
- Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, schema::STRING).
- add("f1", FType::INDEX, schema::STRING).
- add("f2", FType::SUMMARY, schema::STRING).
- add("f2", FType::ATTRIBUTE, schema::STRING).schema();
- Schema news = SchemaBuilder().add("f1", FType::SUMMARY, schema::STRING).
- add("f2", FType::SUMMARY, schema::STRING).schema();
+ Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, DataType::STRING).
+ add("f1", FType::INDEX, DataType::STRING).
+ add("f2", FType::SUMMARY, DataType::STRING).
+ add("f2", FType::ATTRIBUTE, DataType::STRING).schema();
+ Schema news = SchemaBuilder().add("f1", FType::SUMMARY, DataType::STRING).
+ add("f2", FType::SUMMARY, DataType::STRING).schema();
EXPECT_EQUAL(IAR, checkSchema(news, olds, Schema()));
}
TEST("require that attribute aspect removed precedes attribute aspect added")
{
- Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, schema::STRING).
- add("f1", FType::ATTRIBUTE, schema::STRING).
- add("f2", FType::SUMMARY, schema::STRING).schema();
- Schema news = SchemaBuilder().add("f1", FType::SUMMARY, schema::STRING).
- add("f2", FType::SUMMARY, schema::STRING).
- add("f2", FType::ATTRIBUTE, schema::STRING).schema();
+ Schema olds = SchemaBuilder().add("f1", FType::SUMMARY, DataType::STRING).
+ add("f1", FType::ATTRIBUTE, DataType::STRING).
+ add("f2", FType::SUMMARY, DataType::STRING).schema();
+ Schema news = SchemaBuilder().add("f1", FType::SUMMARY, DataType::STRING).
+ add("f2", FType::SUMMARY, DataType::STRING).
+ add("f2", FType::ATTRIBUTE, DataType::STRING).schema();
EXPECT_EQUAL(AAR, checkSchema(news, olds, Schema()));
}