diff --git a/test/server_search.cpp b/test/server_search.cpp index ca6bc1651..3932602ca 100644 --- a/test/server_search.cpp +++ b/test/server_search.cpp @@ -7,16 +7,6 @@ #include "server_testing_tools.h" -class ServerSearchTest : public ServerTest -{ - void SetUp() override { - zfs1_.reset(new ZimFileServer(SERVER_PORT, - ZimFileServer::DEFAULT_OPTIONS, - "./test/lib_for_server_search_test.xml") - ); - } -}; - std::string makeSearchResultsHtml(const std::string& pattern, const std::string& header, const std::string& results, @@ -927,7 +917,7 @@ struct TestData } }; -TEST_F(ServerSearchTest, searchResults) +TEST(ServerSearchTest, searchResults) { const TestData testData[] = { { @@ -1468,15 +1458,86 @@ TEST_F(ServerSearchTest, searchResults) }, }; + ZimFileServer zfs(SERVER_PORT, ZimFileServer::DEFAULT_OPTIONS, + "./test/lib_for_server_search_test.xml"); + for ( const auto& t : testData ) { const std::string htmlSearchUrl = t.url(); - const auto htmlRes = zfs1_->GET(htmlSearchUrl.c_str()); + const auto htmlRes = zfs.GET(htmlSearchUrl.c_str()); EXPECT_EQ(htmlRes->status, 200); t.checkHtml(htmlRes->body); const std::string xmlSearchUrl = t.xmlSearchUrl(); - const auto xmlRes = zfs1_->GET(xmlSearchUrl.c_str()); + const auto xmlRes = zfs.GET(xmlSearchUrl.c_str()); EXPECT_EQ(xmlRes->status, 200); t.checkXml(xmlRes->body); } } + +std::string expectedConfusionOfTonguesErrorHtml(std::string url) +{ + return R"( + +
+ ++ The requested URL ")" + url + R"(" is not a valid request. +
++ Two or more books in different languages would participate in search, which may lead to confusing results. +
+ + +)"; +} + +std::string expectedConfusionOfTonguesErrorXml(std::string url) +{ + return R"( +