diff --git a/test/server.cpp b/test/server.cpp
index 28fffc72..ee3421e6 100644
--- a/test/server.cpp
+++ b/test/server.cpp
@@ -616,6 +616,52 @@ std::string maskVariableOPDSFeedData(std::string s)
return s;
}
+#define CHARLES_RAY_CATALOG_ENTRY \
+ " \n" \
+ " urn:uuid:charlesray\n" \
+ " Charles, Ray\n" \
+ " Wikipedia articles about Charles, Ray\n" \
+ " eng\n" \
+ " 2020-03-31T00:00::00Z\n" \
+ " wikipedia_en_ray_charles\n" \
+ " \n" \
+ " unittest;wikipedia;_category:jazz;_pictures:no;_videos:no;_details:no;_ftindex:yes\n" \
+ " 284\n" \
+ " 2\n" \
+ " /meta?name=favicon&content=zimfile\n" \
+ " \n" \
+ " \n" \
+ " Wikipedia\n" \
+ " \n" \
+ " \n" \
+ " Kiwix\n" \
+ " \n" \
+ " \n" \
+ " \n"
+
+#define RAY_CHARLES_CATALOG_ENTRY \
+ " \n" \
+ " urn:uuid:raycharles\n" \
+ " Ray Charles\n" \
+ " Wikipedia articles about Ray Charles\n" \
+ " eng\n" \
+ " 2020-03-31T00:00::00Z\n" \
+ " wikipedia_en_ray_charles\n" \
+ " \n" \
+ " unittest;wikipedia;_category:wikipedia;_pictures:no;_videos:no;_details:no;_ftindex:yes\n" \
+ " 284\n" \
+ " 2\n" \
+ " /meta?name=favicon&content=zimfile\n" \
+ " \n" \
+ " \n" \
+ " Wikipedia\n" \
+ " \n" \
+ " \n" \
+ " Kiwix\n" \
+ " \n" \
+ " \n" \
+ " \n"
+
TEST_F(LibraryServerTest, catalog_root_xml)
{
const auto r = zfs1_->GET("/catalog/root.xml");
@@ -627,48 +673,8 @@ TEST_F(LibraryServerTest, catalog_root_xml)
" YYYY-MM-DDThh:mm:ssZ\n"
" \n"
" \n"
- " \n"
- " urn:uuid:charlesray\n"
- " Charles, Ray\n"
- " Wikipedia articles about Charles, Ray\n"
- " eng\n"
- " 2020-03-31T00:00::00Z\n"
- " wikipedia_en_ray_charles\n"
- " \n"
- " unittest;wikipedia;_category:jazz;_pictures:no;_videos:no;_details:no;_ftindex:yes\n"
- " 284\n"
- " 2\n"
- " /meta?name=favicon&content=zimfile\n"
- " \n"
- " \n"
- " Wikipedia\n"
- " \n"
- " \n"
- " Kiwix\n"
- " \n"
- " \n"
- " \n"
- " \n"
- " urn:uuid:raycharles\n"
- " Ray Charles\n"
- " Wikipedia articles about Ray Charles\n"
- " eng\n"
- " 2020-03-31T00:00::00Z\n"
- " wikipedia_en_ray_charles\n"
- " \n"
- " unittest;wikipedia;_category:wikipedia;_pictures:no;_videos:no;_details:no;_ftindex:yes\n"
- " 284\n"
- " 2\n"
- " /meta?name=favicon&content=zimfile\n"
- " \n"
- " \n"
- " Wikipedia\n"
- " \n"
- " \n"
- " Kiwix\n"
- " \n"
- " \n"
- " \n"
+ CHARLES_RAY_CATALOG_ENTRY
+ RAY_CHARLES_CATALOG_ENTRY
"\n"
);
}
@@ -691,6 +697,25 @@ TEST_F(LibraryServerTest, catalog_searchdescription_xml)
);
}
+TEST_F(LibraryServerTest, catalog_search_by_text)
+{
+ const auto r = zfs1_->GET("/catalog/search?q=ray%20charles");
+ EXPECT_EQ(r->status, 200);
+ EXPECT_EQ(maskVariableOPDSFeedData(r->body),
+ "\n"
+ " 12345678-90ab-cdef-1234-567890abcdef\n"
+ " Search result for ray charles\n"
+ " YYYY-MM-DDThh:mm:ssZ\n"
+ " 1\n"
+ " 0\n"
+ " 1\n"
+ " \n"
+ " \n"
+ RAY_CHARLES_CATALOG_ENTRY
+ "\n"
+ );
+}
+
TEST_F(LibraryServerTest, catalog_search_by_tag)
{
const auto r = zfs1_->GET("/catalog/search?tag=_category:jazz");
@@ -705,27 +730,7 @@ TEST_F(LibraryServerTest, catalog_search_by_tag)
" 1\n"
" \n"
" \n"
- " \n"
- " urn:uuid:charlesray\n"
- " Charles, Ray\n"
- " Wikipedia articles about Charles, Ray\n"
- " eng\n"
- " 2020-03-31T00:00::00Z\n"
- " wikipedia_en_ray_charles\n"
- " \n"
- " unittest;wikipedia;_category:jazz;_pictures:no;_videos:no;_details:no;_ftindex:yes\n"
- " 284\n"
- " 2\n"
- " /meta?name=favicon&content=zimfile\n"
- " \n"
- " \n"
- " Wikipedia\n"
- " \n"
- " \n"
- " Kiwix\n"
- " \n"
- " \n"
- " \n"
+ CHARLES_RAY_CATALOG_ENTRY
"\n"
);
}