From 071d2bedd3e24ef0829dc685d63d70524726645c Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Fri, 5 Mar 2021 00:21:49 +0400 Subject: [PATCH] LibraryServerTest.catalog_search_by_text --- test/server.cpp | 131 +++++++++++++++++++++++++----------------------- 1 file changed, 68 insertions(+), 63 deletions(-) diff --git a/test/server.cpp b/test/server.cpp index 28fffc72d..ee3421e6a 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" ); }