@@ -10,27 +10,51 @@ Y_UNIT_TEST_SUITE(NFulltext) {
1010 Ydb::Table::FulltextIndexSettings settings;
1111 TString error;
1212
13- UNIT_ASSERT (!ValidateSettings (settings, error));
13+ NProtoBuf::RepeatedPtrField<TString> keyColumns;
14+ keyColumns.Add (" text" );
15+
16+ UNIT_ASSERT (!ValidateSettings (keyColumns, settings, error));
1417 UNIT_ASSERT_VALUES_EQUAL (error, " layout should be set" );
1518 settings.set_layout (Ydb::Table::FulltextIndexSettings::FLAT);
1619
17- UNIT_ASSERT (!ValidateSettings (settings, error));
18- UNIT_ASSERT_VALUES_EQUAL (error, " fulltext index should have single column settings but have 0 of them" );
20+ UNIT_ASSERT (!ValidateSettings (keyColumns, settings, error));
21+ UNIT_ASSERT_VALUES_EQUAL (error, " fulltext index should have a single text key column settings but have 0 of them" );
1922 auto columnSettings = settings.add_columns ();
2023
21- UNIT_ASSERT (!ValidateSettings (settings, error));
22- UNIT_ASSERT_VALUES_EQUAL (error, " column should be set " );
24+ UNIT_ASSERT (!ValidateSettings (keyColumns, settings, error));
25+ UNIT_ASSERT_VALUES_EQUAL (error, " fulltext index settings should have a column name " );
2326 columnSettings->set_column (" text" );
2427
25- UNIT_ASSERT (!ValidateSettings (settings, error));
26- UNIT_ASSERT_VALUES_EQUAL (error, " column analyzers should be set " );
28+ UNIT_ASSERT (!ValidateSettings (keyColumns, settings, error));
29+ UNIT_ASSERT_VALUES_EQUAL (error, " fulltext index settings should have analyzers " );
2730 auto columnAnalyzers = columnSettings->mutable_analyzers ();
2831
29- UNIT_ASSERT (!ValidateSettings (settings, error));
32+ UNIT_ASSERT (!ValidateSettings (keyColumns, settings, error));
3033 UNIT_ASSERT_VALUES_EQUAL (error, " tokenizer should be set" );
3134 columnAnalyzers->set_tokenizer (Ydb::Table::FulltextIndexSettings::STANDARD);
3235
33- UNIT_ASSERT_C (ValidateSettings (settings, error), error);
36+ {
37+ NProtoBuf::RepeatedPtrField<TString> keyColumns;
38+ UNIT_ASSERT_C (!ValidateSettings (keyColumns, settings, error), error);
39+ UNIT_ASSERT_VALUES_EQUAL (error, " fulltext index should have a single text key column but have 0 of them" );
40+ }
41+
42+ {
43+ NProtoBuf::RepeatedPtrField<TString> keyColumns;
44+ keyColumns.Add (" text2" );
45+ UNIT_ASSERT_C (!ValidateSettings (keyColumns, settings, error), error);
46+ UNIT_ASSERT_VALUES_EQUAL (error, " fulltext index should have a single text key column text2 settings but have text" );
47+ }
48+
49+ {
50+ NProtoBuf::RepeatedPtrField<TString> keyColumns;
51+ keyColumns.Add (" text" );
52+ keyColumns.Add (" text" );
53+ UNIT_ASSERT_C (!ValidateSettings (keyColumns, settings, error), error);
54+ UNIT_ASSERT_VALUES_EQUAL (error, " fulltext index should have a single text key column but have 2 of them" );
55+ }
56+
57+ UNIT_ASSERT_C (ValidateSettings (keyColumns, settings, error), error);
3458 UNIT_ASSERT_VALUES_EQUAL (error, " " );
3559 }
3660
0 commit comments