feat: add dataset item images

This commit is contained in:
2026-07-23 23:15:43 +08:00
parent fbd142803a
commit 56d96f23dd
9 changed files with 109 additions and 15 deletions

View File

@@ -21,6 +21,7 @@ func TestParseFeedDetectsJSONFeedFromContent(t *testing.T) {
"title": "JSON item",
"summary": "JSON summary",
"content_html": "<p>JSON <strong>content</strong></p>",
"image": "https://example.com/json-image.jpg",
"date_published": "2026-07-23T08:00:00Z"
}]
}`), "text/plain")
@@ -31,6 +32,7 @@ func TestParseFeedDetectsJSONFeedFromContent(t *testing.T) {
require.Equal(t, "JSON item", feed.Items[0].Title)
require.Equal(t, "JSON content", feed.Items[0].Content)
require.Equal(t, "https://example.com/json-1", feed.Items[0].URL)
require.Equal(t, "https://example.com/json-image.jpg", feed.Items[0].ImageURL)
require.NotEmpty(t, feed.Items[0].ExternalID)
require.NotNil(t, feed.Items[0].PublishedAt)
}
@@ -45,6 +47,7 @@ func TestParseFeedDetectsRSSXML(t *testing.T) {
<guid>rss-1</guid>
<description><![CDATA[<p>RSS summary</p>]]></description>
<content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>RSS content</p>]]></content:encoded>
<media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://example.com/rss-image.jpg"/>
<pubDate>Thu, 23 Jul 2026 08:00:00 +0000</pubDate>
</item>
</channel>
@@ -55,6 +58,7 @@ func TestParseFeedDetectsRSSXML(t *testing.T) {
require.Len(t, feed.Items, 1)
require.Equal(t, "RSS summary", feed.Items[0].Summary)
require.Equal(t, "RSS content", feed.Items[0].Content)
require.Equal(t, "https://example.com/rss-image.jpg", feed.Items[0].ImageURL)
require.NotNil(t, feed.Items[0].PublishedAt)
}
@@ -65,6 +69,7 @@ func TestParseFeedDetectsAtomXML(t *testing.T) {
<title>Atom item</title>
<id>atom-1</id>
<link rel="alternate" href="https://example.com/atom-1"/>
<link rel="enclosure" type="image/jpeg" href="https://example.com/atom-image.jpg"/>
<summary>Atom summary</summary>
<content>Atom content</content>
<updated>2026-07-23T08:00:00Z</updated>
@@ -75,6 +80,7 @@ func TestParseFeedDetectsAtomXML(t *testing.T) {
require.Equal(t, "atom", feed.Format)
require.Len(t, feed.Items, 1)
require.Equal(t, "https://example.com/atom-1", feed.Items[0].URL)
require.Equal(t, "https://example.com/atom-image.jpg", feed.Items[0].ImageURL)
require.Equal(t, "Atom content", feed.Items[0].Content)
}