mirror of https://github.com/kiwix/libkiwix.git
Fixed the self link in the output of /catalog/v2/entries
This commit is contained in:
parent
e799f2ff1e
commit
dd60235010
|
@ -110,6 +110,7 @@ string OPDSDumper::dumpOPDSFeedV2(const std::vector<std::string>& bookIds, const
|
||||||
{"endpoint_root", rootLocation + "/catalog/v2"},
|
{"endpoint_root", rootLocation + "/catalog/v2"},
|
||||||
{"feed_id", gen_uuid(libraryId + "/entries?"+query)},
|
{"feed_id", gen_uuid(libraryId + "/entries?"+query)},
|
||||||
{"filter", query.empty() ? MustacheData(false) : MustacheData(query)},
|
{"filter", query.empty() ? MustacheData(false) : MustacheData(query)},
|
||||||
|
{"query", query.empty() ? "" : "?" + urlEncode(query)},
|
||||||
{"totalResults", to_string(m_totalResults)},
|
{"totalResults", to_string(m_totalResults)},
|
||||||
{"startIndex", to_string(m_startIndex)},
|
{"startIndex", to_string(m_startIndex)},
|
||||||
{"itemsPerPage", to_string(m_count)},
|
{"itemsPerPage", to_string(m_count)},
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<id>{{feed_id}}</id>
|
<id>{{feed_id}}</id>
|
||||||
|
|
||||||
<link rel="self"
|
<link rel="self"
|
||||||
href="{{endpoint_root}}/entries"
|
href="{{endpoint_root}}/entries{{{query}}}"
|
||||||
type="application/atom+xml;profile=opds-catalog;kind=acquisition"/>
|
type="application/atom+xml;profile=opds-catalog;kind=acquisition"/>
|
||||||
<link rel="start"
|
<link rel="start"
|
||||||
href="{{endpoint_root}}/root.xml"
|
href="{{endpoint_root}}/root.xml"
|
||||||
|
|
|
@ -1005,7 +1005,7 @@ TEST_F(LibraryServerTest, catalog_v2_categories)
|
||||||
EXPECT_EQ(maskVariableOPDSFeedData(r->body), expected_output);
|
EXPECT_EQ(maskVariableOPDSFeedData(r->body), expected_output);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define CATALOG_V2_ENTRIES_PREAMBLE \
|
#define CATALOG_V2_ENTRIES_PREAMBLE(q) \
|
||||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" \
|
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" \
|
||||||
"<feed xmlns=\"http://www.w3.org/2005/Atom\"\n" \
|
"<feed xmlns=\"http://www.w3.org/2005/Atom\"\n" \
|
||||||
" xmlns:opds=\"https://specs.opds.io/opds-1.2\"\n" \
|
" xmlns:opds=\"https://specs.opds.io/opds-1.2\"\n" \
|
||||||
|
@ -1013,7 +1013,7 @@ TEST_F(LibraryServerTest, catalog_v2_categories)
|
||||||
" <id>12345678-90ab-cdef-1234-567890abcdef</id>\n" \
|
" <id>12345678-90ab-cdef-1234-567890abcdef</id>\n" \
|
||||||
"\n" \
|
"\n" \
|
||||||
" <link rel=\"self\"\n" \
|
" <link rel=\"self\"\n" \
|
||||||
" href=\"/catalog/v2/entries\"\n" \
|
" href=\"/catalog/v2/entries" q "\"\n" \
|
||||||
" type=\"application/atom+xml;profile=opds-catalog;kind=acquisition\"/>\n" \
|
" type=\"application/atom+xml;profile=opds-catalog;kind=acquisition\"/>\n" \
|
||||||
" <link rel=\"start\"\n" \
|
" <link rel=\"start\"\n" \
|
||||||
" href=\"/catalog/v2/root.xml\"\n" \
|
" href=\"/catalog/v2/root.xml\"\n" \
|
||||||
|
@ -1029,7 +1029,7 @@ TEST_F(LibraryServerTest, catalog_v2_entries)
|
||||||
const auto r = zfs1_->GET("/catalog/v2/entries");
|
const auto r = zfs1_->GET("/catalog/v2/entries");
|
||||||
EXPECT_EQ(r->status, 200);
|
EXPECT_EQ(r->status, 200);
|
||||||
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
||||||
CATALOG_V2_ENTRIES_PREAMBLE
|
CATALOG_V2_ENTRIES_PREAMBLE("")
|
||||||
" <title>All Entries</title>\n"
|
" <title>All Entries</title>\n"
|
||||||
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
||||||
"\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");
|
const auto r = zfs1_->GET("/catalog/v2/entries?start=1");
|
||||||
EXPECT_EQ(r->status, 200);
|
EXPECT_EQ(r->status, 200);
|
||||||
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
||||||
CATALOG_V2_ENTRIES_PREAMBLE
|
CATALOG_V2_ENTRIES_PREAMBLE("?start=1")
|
||||||
" <title>Filtered Entries (start=1)</title>\n"
|
" <title>Filtered Entries (start=1)</title>\n"
|
||||||
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
||||||
" <totalResults>3</totalResults>\n"
|
" <totalResults>3</totalResults>\n"
|
||||||
|
@ -1062,7 +1062,7 @@ TEST_F(LibraryServerTest, catalog_v2_entries_filtered_by_range)
|
||||||
const auto r = zfs1_->GET("/catalog/v2/entries?count=2");
|
const auto r = zfs1_->GET("/catalog/v2/entries?count=2");
|
||||||
EXPECT_EQ(r->status, 200);
|
EXPECT_EQ(r->status, 200);
|
||||||
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
||||||
CATALOG_V2_ENTRIES_PREAMBLE
|
CATALOG_V2_ENTRIES_PREAMBLE("?count=2")
|
||||||
" <title>Filtered Entries (count=2)</title>\n"
|
" <title>Filtered Entries (count=2)</title>\n"
|
||||||
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
||||||
" <totalResults>3</totalResults>\n"
|
" <totalResults>3</totalResults>\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");
|
const auto r = zfs1_->GET("/catalog/v2/entries?start=1&count=1");
|
||||||
EXPECT_EQ(r->status, 200);
|
EXPECT_EQ(r->status, 200);
|
||||||
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
||||||
CATALOG_V2_ENTRIES_PREAMBLE
|
CATALOG_V2_ENTRIES_PREAMBLE("?count=1&start=1")
|
||||||
" <title>Filtered Entries (count=1&start=1)</title>\n"
|
" <title>Filtered Entries (count=1&start=1)</title>\n"
|
||||||
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
||||||
" <totalResults>3</totalResults>\n"
|
" <totalResults>3</totalResults>\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\"");
|
const auto r = zfs1_->GET("/catalog/v2/entries?q=\"ray%20charles\"");
|
||||||
EXPECT_EQ(r->status, 200);
|
EXPECT_EQ(r->status, 200);
|
||||||
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
EXPECT_EQ(maskVariableOPDSFeedData(r->body),
|
||||||
CATALOG_V2_ENTRIES_PREAMBLE
|
CATALOG_V2_ENTRIES_PREAMBLE("?q=%22ray%20charles%22")
|
||||||
" <title>Filtered Entries (q="ray charles")</title>\n"
|
" <title>Filtered Entries (q="ray charles")</title>\n"
|
||||||
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
" <updated>YYYY-MM-DDThh:mm:ssZ</updated>\n"
|
||||||
" <totalResults>2</totalResults>\n"
|
" <totalResults>2</totalResults>\n"
|
||||||
|
|
Loading…
Reference in New Issue