* Add media streaming (#108) * [WIP] set up streaming route * Added UUID to sources and media items * Added media preview to MI show page * Added plug to strip file extensions * [VERY WIP] basic podcast RSS setup * [WIP] got basic podcast RSS working * [WIP] more expanding on RSS * Comment * [WIP] Working on refactoring feed * Added UUID backfill to a migration * [WIP] Moar refactoring * [WIP] Adding UI for getting RSS feed * Many tests * Added conditional routing for feed URLs * Removed the need for url_base to be set * Updated preset name * Rendered certain fields HTML-safe; Added logging to confirm range request support * Fixed incorrect scheme issue * Updated env var * Updated other UI to use dropdown * removed commented code * Generate rss feeds (#123) * Added plug to strip file extensions * [VERY WIP] basic podcast RSS setup * [WIP] got basic podcast RSS working * [WIP] more expanding on RSS * [WIP] Working on refactoring feed * Added UUID backfill to a migration * [WIP] Moar refactoring * [WIP] Adding UI for getting RSS feed * Many tests * Added conditional routing for feed URLs * Removed the need for url_base to be set * Updated preset name * Rendered certain fields HTML-safe; Added logging to confirm range request support * Fixed incorrect scheme issue * Updated env var * Updated other UI to use dropdown * removed commented code * docs * Added unique index to UUID fields
38 lines
1.2 KiB
Elixir
38 lines
1.2 KiB
Elixir
defmodule PinchflatWeb.PodcastControllerTest do
|
|
use PinchflatWeb.ConnCase
|
|
|
|
import Pinchflat.SourcesFixtures
|
|
|
|
describe "rss_feed" do
|
|
test "renders the XML document", %{conn: conn} do
|
|
source = source_fixture()
|
|
|
|
conn = get(conn, ~p"/sources/#{source.uuid}/feed" <> ".xml")
|
|
|
|
assert conn.status == 200
|
|
assert {"content-type", "application/rss+xml; charset=utf-8"} in conn.resp_headers
|
|
assert {"content-disposition", "inline"} in conn.resp_headers
|
|
end
|
|
end
|
|
|
|
describe "feed_image" do
|
|
test "returns a feed image if one can be found", %{conn: conn} do
|
|
source = source_with_metadata_attachments()
|
|
|
|
conn = get(conn, ~p"/sources/#{source.uuid}/feed_image" <> ".jpg")
|
|
|
|
assert conn.status == 200
|
|
assert {"content-type", "image/jpeg; charset=utf-8"} in conn.resp_headers
|
|
assert conn.resp_body == File.read!(source.metadata.poster_filepath)
|
|
end
|
|
|
|
test "returns 404 if an image cannot be found", %{conn: conn} do
|
|
source = source_fixture()
|
|
|
|
conn = get(conn, ~p"/sources/#{source.uuid}/feed_image" <> ".jpg")
|
|
|
|
assert conn.status == 404
|
|
assert conn.resp_body == "Image not found"
|
|
end
|
|
end
|
|
end
|