@@ -87,6 +87,7 @@ TEST(CoreOptionsTest, TestDefaultValue) {
8787 ASSERT_FALSE (core_options.DataEvolutionEnabled ());
8888 ASSERT_TRUE (core_options.LegacyPartitionNameEnabled ());
8989 ASSERT_TRUE (core_options.GlobalIndexEnabled ());
90+ ASSERT_FALSE (core_options.GetGlobalIndexExternalPath ());
9091}
9192
9293TEST (CoreOptionsTest, TestFromMap) {
@@ -144,6 +145,7 @@ TEST(CoreOptionsTest, TestFromMap) {
144145 {Options::DATA_EVOLUTION_ENABLED , " true" },
145146 {Options::PARTITION_GENERATE_LEGACY_NAME , " false" },
146147 {Options::GLOBAL_INDEX_ENABLED , " false" },
148+ {Options::GLOBAL_INDEX_EXTERNAL_PATH , " FILE:///tmp/global_index/" },
147149 };
148150
149151 ASSERT_OK_AND_ASSIGN (CoreOptions core_options, CoreOptions::FromMap (options));
@@ -212,6 +214,8 @@ TEST(CoreOptionsTest, TestFromMap) {
212214 ASSERT_TRUE (core_options.DataEvolutionEnabled ());
213215 ASSERT_FALSE (core_options.LegacyPartitionNameEnabled ());
214216 ASSERT_FALSE (core_options.GlobalIndexEnabled ());
217+ ASSERT_TRUE (core_options.GetGlobalIndexExternalPath ());
218+ ASSERT_EQ (core_options.GetGlobalIndexExternalPath ().value (), " FILE:///tmp/global_index/" );
215219}
216220
217221TEST (CoreOptionsTest, TestInvalidCase) {
@@ -273,6 +277,25 @@ TEST(CoreOptionsTest, TestInvalidCreateExternalPath) {
273277 }
274278}
275279
280+ TEST (CoreOptionsTest, TestCreateGlobalIndexExternalPath) {
281+ std::map<std::string, std::string> options = {
282+ {Options::GLOBAL_INDEX_EXTERNAL_PATH , " FILE:///tmp/index1" },
283+ };
284+ ASSERT_OK_AND_ASSIGN (CoreOptions core_options, CoreOptions::FromMap (options));
285+ ASSERT_OK_AND_ASSIGN (std::optional<std::string> external_path,
286+ core_options.CreateGlobalIndexExternalPath ());
287+ ASSERT_EQ (" FILE:/tmp/index1" , external_path.value ());
288+ }
289+
290+ TEST (CoreOptionsTest, TestInvalidCreateGlobalIndexExternalPath) {
291+ std::map<std::string, std::string> options = {
292+ {Options::GLOBAL_INDEX_EXTERNAL_PATH , " /tmp/index1" },
293+ };
294+ ASSERT_OK_AND_ASSIGN (CoreOptions core_options, CoreOptions::FromMap (options));
295+ ASSERT_NOK_WITH_MSG (core_options.CreateGlobalIndexExternalPath (),
296+ " scheme is null, path is /tmp/index1" );
297+ }
298+
276299TEST (CoreOptionsTest, TestFileSystem) {
277300 {
278301 auto mock_fs = std::make_shared<MockFileSystem>();
0 commit comments