diff options
author | Geir Storli <geirst@yahooinc.com> | 2022-09-19 09:51:10 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2022-09-19 09:51:10 +0000 |
commit | 2737d0850c5890d87c2842034925029ab88868d4 (patch) | |
tree | 502bec587c9e46c1008a5ebb41b9c546463da86b /searchcore/src/tests/proton/attribute | |
parent | 229b6ec3ecf88a5920bc478cb8c902af3a48b5be (diff) |
Put commands for docsum field writers at a common place.
Diffstat (limited to 'searchcore/src/tests/proton/attribute')
-rw-r--r-- | searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp | 75 |
1 files changed, 47 insertions, 28 deletions
diff --git a/searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp b/searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp index f2433b2adf6..d7904881e4d 100644 --- a/searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp +++ b/searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp @@ -7,6 +7,7 @@ #include <vespa/searchcore/proton/common/i_document_type_inspector.h> #include <vespa/searchcore/proton/common/indexschema_inspector.h> #include <vespa/searchcore/proton/test/attribute_utils.h> +#include <vespa/searchsummary/docsummary/docsum_field_writer_commands.h> #include <vespa/vespalib/gtest/gtest.h> #include <vespa/vespalib/stllike/string.h> #include <vespa/vespalib/test/insertion_operators.h> @@ -14,13 +15,15 @@ #include <vespa/log/log.h> LOG_SETUP("attibute_aspect_delayer_test"); +using search::attribute::Config; using vespa::config::search::AttributesConfig; using vespa::config::search::AttributesConfigBuilder; using vespa::config::search::IndexschemaConfig; using vespa::config::search::IndexschemaConfigBuilder; using vespa::config::search::SummaryConfig; using vespa::config::search::SummaryConfigBuilder; -using search::attribute::Config; + +using namespace search::docsummary; namespace vespa::config::search::internal { @@ -192,15 +195,17 @@ TEST_F(DelayerTest, require_that_empty_config_is_ok) TEST_F(DelayerTest, require_that_simple_attribute_config_is_ok) { - setup(attrCfg({make_int32_sv_cfg()}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "attribute", "a")})); + setup(attrCfg({make_int32_sv_cfg()}), attrCfg({make_int32_sv_cfg()}), + sCfg({make_summary_field("a", "integer", command::attribute, "a")})); assertAttributeConfig({make_int32_sv_cfg()}); - assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")}); + assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")}); } TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_if_field_type_is_unchanged) { addFields({"a"}); - setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "attribute", "a")})); + setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), + sCfg({make_summary_field("a", "integer", command::attribute, "a")})); assertAttributeConfig({}); assertSummaryConfig({make_summary_field("a", "integer")}); } @@ -208,24 +213,27 @@ TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_if_field_typ TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_if_field_type_is_unchanged_geopos_override) { addFields({"a"}); - setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "geopos", "a")})); + setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), + sCfg({make_summary_field("a", "integer", command::geo_position, "a")})); assertAttributeConfig({}); - assertSummaryConfig({make_summary_field("a", "integer", "geopos", "a")}); + assertSummaryConfig({make_summary_field("a", "integer", command::geo_position, "a")}); } TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_if_field_type_is_unchanged_mapped_summary) { addFields({"a"}); - setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a_mapped", "integer", "attribute", "a")})); + setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), + sCfg({make_summary_field("a_mapped", "integer", command::attribute, "a")})); assertAttributeConfig({}); - assertSummaryConfig({make_summary_field("a_mapped", "integer", "copy", "a")}); + assertSummaryConfig({make_summary_field("a_mapped", "integer", command::copy, "a")}); } TEST_F(DelayerTest, require_that_adding_attribute_is_not_delayed_if_field_type_changed) { - setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "attribute", "a")})); + setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), + sCfg({make_summary_field("a", "integer", command::attribute, "a")})); assertAttributeConfig({make_int32_sv_cfg()}); - assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")}); + assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")}); } TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_delayed_if_field_type_is_unchanged) @@ -233,7 +241,7 @@ TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_delayed_if_field_t addFields({"a"}); setup(attrCfg({make_int32_sv_cfg()}), attrCfg({}), sCfg({make_summary_field("a", "integer")})); assertAttributeConfig({make_int32_sv_cfg()}); - assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")}); + assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")}); } TEST_F(DelayerTest, require_that_summary_map_override_is_removed_when_summary_aspect_is_removed_even_if_removing_attribute_aspect_is_delayed) @@ -272,7 +280,8 @@ TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_for_tensor_f { addFields({"a"}); setup(attrCfg({}), - attrCfg({make_tensor_cfg("tensor(x[10])")}), sCfg({make_summary_field("a", "tensor", "attribute", "a")})); + attrCfg({make_tensor_cfg("tensor(x[10])")}), + sCfg({make_summary_field("a", "tensor", command::attribute, "a")})); assertAttributeConfig({}); assertSummaryConfig({make_summary_field("a", "tensor")}); } @@ -283,7 +292,7 @@ TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_delayed_for_tensor setup(attrCfg({make_tensor_cfg("tensor(x[10])")}), attrCfg({}), sCfg({make_summary_field("a", "tensor")})); assertAttributeConfig({make_tensor_cfg("tensor(x[10])")}); - assertSummaryConfig({make_summary_field("a", "tensor", "attribute", "a")}); + assertSummaryConfig({make_summary_field("a", "tensor", command::attribute, "a")}); } TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_not_delayed_for_predicate) @@ -305,56 +314,63 @@ TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_not_delayed_for_re TEST_F(DelayerTest, require_that_fast_access_flag_change_is_delayed_false_true_edge) { addFields({"a"}); - setup(attrCfg({make_int32_sv_cfg()}), attrCfg({make_fa(make_int32_sv_cfg())}), sCfg({make_summary_field("a", "integer", "attribute", "a")})); + setup(attrCfg({make_int32_sv_cfg()}), attrCfg({make_fa(make_int32_sv_cfg())}), + sCfg({make_summary_field("a", "integer", command::attribute, "a")})); assertAttributeConfig({make_int32_sv_cfg()}); - assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")}); + assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")}); } TEST_F(DelayerTest, require_that_fast_access_flag_change_is_delayed_true_false_edge) { addFields({"a"}); - setup(attrCfg({make_fa(make_int32_sv_cfg())}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "attribute", "a")})); + setup(attrCfg({make_fa(make_int32_sv_cfg())}), attrCfg({make_int32_sv_cfg()}), + sCfg({make_summary_field("a", "integer", command::attribute, "a")})); assertAttributeConfig({make_fa(make_int32_sv_cfg())}); - assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")}); + assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")}); } TEST_F(DelayerTest, require_that_fast_access_flag_change_is_delayed_false_true_edge_on_tensor_attribute) { addFields({"a"}); - setup(attrCfg({make_tensor_cfg("tensor(x[10])")}), attrCfg({make_fa(make_tensor_cfg("tensor(x[10])"))}), sCfg({make_summary_field("a", "tensor", "attribute", "a")})); + setup(attrCfg({make_tensor_cfg("tensor(x[10])")}), attrCfg({make_fa(make_tensor_cfg("tensor(x[10])"))}), + sCfg({make_summary_field("a", "tensor", command::attribute, "a")})); assertAttributeConfig({make_tensor_cfg("tensor(x[10])")}); - assertSummaryConfig({make_summary_field("a", "tensor", "attribute", "a")}); + assertSummaryConfig({make_summary_field("a", "tensor", command::attribute, "a")}); } TEST_F(DelayerTest, require_that_fast_access_flag_change_is_delayed_true_false_edge_on_tensor_attribute) { addFields({"a"}); setup(attrCfg({make_fa(make_tensor_cfg("tensor(x[10])"))}), - attrCfg({make_tensor_cfg("tensor(x[10])")}), sCfg({make_summary_field("a", "tensor", "attribute", "a")})); + attrCfg({make_tensor_cfg("tensor(x[10])")}), + sCfg({make_summary_field("a", "tensor", command::attribute, "a")})); assertAttributeConfig({make_fa(make_tensor_cfg("tensor(x[10])"))}); - assertSummaryConfig({make_summary_field("a", "tensor", "attribute", "a")}); + assertSummaryConfig({make_summary_field("a", "tensor", command::attribute, "a")}); } TEST_F(DelayerTest, require_that_fast_access_flag_change_is_not_delayed_true_false_edge_on_string_attribute_indexed_field) { addFields({"a"}); addOldIndexField("a"); - setup(attrCfg({make_fa(make_string_sv_cfg())}), attrCfg({make_string_sv_cfg()}), sCfg({make_summary_field("a", "string", "attribute", "a")})); + setup(attrCfg({make_fa(make_string_sv_cfg())}), attrCfg({make_string_sv_cfg()}), + sCfg({make_summary_field("a", "string", command::attribute, "a")})); assertAttributeConfig({make_string_sv_cfg()}); - assertSummaryConfig({make_summary_field("a", "string", "attribute", "a")}); + assertSummaryConfig({make_summary_field("a", "string", command::attribute, "a")}); } TEST_F(DelayerTest, require_that_adding_attribute_aspect_to_struct_field_is_not_delayed_if_field_type_is_changed) { - setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}), sCfg({make_summary_field("array", "jsonstring", "attributecombiner", "array")})); + setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}), + sCfg({make_summary_field("array", "jsonstring", command::attribute_combiner, "array")})); assertAttributeConfig({make_int32_sv_cfg("array.a")}); - assertSummaryConfig({make_summary_field("array", "jsonstring", "attributecombiner", "array")}); + assertSummaryConfig({make_summary_field("array", "jsonstring", command::attribute_combiner, "array")}); } TEST_F(DelayerTest, require_that_adding_attribute_aspect_to_struct_field_is_delayed_if_field_type_is_unchanged) { addFields({"array.a"}); - setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}), sCfg({make_summary_field("array", "jsonstring", "attributecombiner", "array")})); + setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}), + sCfg({make_summary_field("array", "jsonstring", command::attribute_combiner, "array")})); assertAttributeConfig({}); assertSummaryConfig({make_summary_field("array", "jsonstring")}); } @@ -370,9 +386,12 @@ TEST_F(DelayerTest, require_that_removing_attribute_aspect_from_struct_field_is_ TEST_F(DelayerTest, require_that_adding_attribute_aspect_to_struct_field_is_delayed_if_field_type_is_unchanged_with_filtering_docsum) { addFields({"array.a"}); - setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}), sCfg({make_summary_field("array", "jsonstring", "attributecombiner", "array"), make_summary_field("array_filtered", "jsonstring", "matchedattributeelementsfilter", "array")})); + setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}), + sCfg({make_summary_field("array", "jsonstring", command::attribute_combiner, "array"), + make_summary_field("array_filtered", "jsonstring", command::matched_attribute_elements_filter, "array")})); assertAttributeConfig({}); - assertSummaryConfig({make_summary_field("array", "jsonstring"), make_summary_field("array_filtered", "jsonstring", "matchedelementsfilter", "array")}); + assertSummaryConfig({make_summary_field("array", "jsonstring"), + make_summary_field("array_filtered", "jsonstring", command::matched_elements_filter, "array")}); } } |