From dd60235010153399c9bd812fd49cf80f52a0ff54 Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Thu, 27 May 2021 13:48:32 +0400 Subject: [PATCH] Fixed the self link in the output of /catalog/v2/entries --- src/opds_dumper.cpp | 1 + static/catalog_v2_entries.xml | 2 +- test/server.cpp | 14 +++++++------- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/opds_dumper.cpp b/src/opds_dumper.cpp index d4be8207c..dfba46b70 100644 --- a/src/opds_dumper.cpp +++ b/src/opds_dumper.cpp @@ -110,6 +110,7 @@ string OPDSDumper::dumpOPDSFeedV2(const std::vector& bookIds, const {"endpoint_root", rootLocation + "/catalog/v2"}, {"feed_id", gen_uuid(libraryId + "/entries?"+query)}, {"filter", query.empty() ? MustacheData(false) : MustacheData(query)}, + {"query", query.empty() ? "" : "?" + urlEncode(query)}, {"totalResults", to_string(m_totalResults)}, {"startIndex", to_string(m_startIndex)}, {"itemsPerPage", to_string(m_count)}, diff --git a/static/catalog_v2_entries.xml b/static/catalog_v2_entries.xml index edc850f02..05cbb5054 100644 --- a/static/catalog_v2_entries.xml +++ b/static/catalog_v2_entries.xml @@ -5,7 +5,7 @@ {{feed_id}} body), expected_output); } -#define CATALOG_V2_ENTRIES_PREAMBLE \ +#define CATALOG_V2_ENTRIES_PREAMBLE(q) \ "\n" \ "12345678-90ab-cdef-1234-567890abcdef\n" \ "\n" \ " \n" \ " GET("/catalog/v2/entries"); EXPECT_EQ(r->status, 200); EXPECT_EQ(maskVariableOPDSFeedData(r->body), - CATALOG_V2_ENTRIES_PREAMBLE + CATALOG_V2_ENTRIES_PREAMBLE("") " All Entries\n" " YYYY-MM-DDThh:mm:ssZ\n" "\n" @@ -1046,7 +1046,7 @@ TEST_F(LibraryServerTest, catalog_v2_entries_filtered_by_range) const auto r = zfs1_->GET("/catalog/v2/entries?start=1"); EXPECT_EQ(r->status, 200); EXPECT_EQ(maskVariableOPDSFeedData(r->body), - CATALOG_V2_ENTRIES_PREAMBLE + CATALOG_V2_ENTRIES_PREAMBLE("?start=1") " Filtered Entries (start=1)\n" " YYYY-MM-DDThh:mm:ssZ\n" " 3\n" @@ -1062,7 +1062,7 @@ TEST_F(LibraryServerTest, catalog_v2_entries_filtered_by_range) const auto r = zfs1_->GET("/catalog/v2/entries?count=2"); EXPECT_EQ(r->status, 200); EXPECT_EQ(maskVariableOPDSFeedData(r->body), - CATALOG_V2_ENTRIES_PREAMBLE + CATALOG_V2_ENTRIES_PREAMBLE("?count=2") " Filtered Entries (count=2)\n" " YYYY-MM-DDThh:mm:ssZ\n" " 3\n" @@ -1078,7 +1078,7 @@ TEST_F(LibraryServerTest, catalog_v2_entries_filtered_by_range) const auto r = zfs1_->GET("/catalog/v2/entries?start=1&count=1"); EXPECT_EQ(r->status, 200); EXPECT_EQ(maskVariableOPDSFeedData(r->body), - CATALOG_V2_ENTRIES_PREAMBLE + CATALOG_V2_ENTRIES_PREAMBLE("?count=1&start=1") " Filtered Entries (count=1&start=1)\n" " YYYY-MM-DDThh:mm:ssZ\n" " 3\n" @@ -1095,7 +1095,7 @@ TEST_F(LibraryServerTest, catalog_v2_entries_filtered_by_search_terms) const auto r = zfs1_->GET("/catalog/v2/entries?q=\"ray%20charles\""); EXPECT_EQ(r->status, 200); EXPECT_EQ(maskVariableOPDSFeedData(r->body), - CATALOG_V2_ENTRIES_PREAMBLE + CATALOG_V2_ENTRIES_PREAMBLE("?q=%22ray%20charles%22") " Filtered Entries (q="ray charles")\n" " YYYY-MM-DDThh:mm:ssZ\n" " 2\n"