adapt collector tests to igore trailing content
This commit is contained in:
1 parent
410db12198
commit
d82fb4fa47
4 files changed
+11
-8
No files matched your search
@@ -51,8 +51,9 @@ defmodule FeedReader.CollectorTest do
|
||||
assert {:error, {:max_items_exceeded, 1}} = FeedReader.parse_binary(@xml, max_items: 1)
|
||||
end
|
||||
|
||||
test "continues to the terminal parser event before returning a malformed-tail error" do
|
||||
assert {:error, _reason} = FeedReader.parse_binary(@xml <> "<broken", max_items: 2)
|
||||
test "ignores malformed content after the root element" do
|
||||
assert {:ok, %ParseResult{items: [%Item{uuid: "one"}, %Item{uuid: "two"}]}} =
|
||||
FeedReader.parse_binary(@xml <> "<broken", max_items: 2)
|
||||
end
|
||||
|
||||
test "rejects invalid chunks and binary arguments" do
|
||||
|
||||
@@ -47,7 +47,9 @@ defmodule FeedReader.RemoteSessionTest do
|
||||
assert {:error, {:max_items_exceeded, 1}} = fetch_and_parse(@xml, max_items: 1)
|
||||
assert download_files() == before
|
||||
|
||||
assert {:error, _reason} = fetch_and_parse(@xml <> "<broken", max_items: 2)
|
||||
assert {:ok, %RemoteResult{items: [%Item{uuid: "one"}, %Item{uuid: "two"}]}} =
|
||||
fetch_and_parse(@xml <> "<broken", max_items: 2)
|
||||
|
||||
assert download_files() == before
|
||||
end
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ defmodule FeedReader.StreamingTest do
|
||||
assert File.read!(path) == @xml
|
||||
end
|
||||
|
||||
test "delivers a malformed tail as a terminal error after earlier events" do
|
||||
test "stops at the root and ignores trailing content" do
|
||||
xml = @xml <> "<broken"
|
||||
path = write_temp(xml)
|
||||
on_exit(fn -> File.rm(path) end)
|
||||
@@ -35,8 +35,7 @@ defmodule FeedReader.StreamingTest do
|
||||
assert {:feed, %Feed{}} = Enum.at(events, 0)
|
||||
assert {:item, %Item{uuid: "one"}} = Enum.at(events, 1)
|
||||
assert {:item, %Item{uuid: "two"}} = Enum.at(events, 2)
|
||||
assert {:error, _reason} = Enum.at(events, 3)
|
||||
assert length(events) == 4
|
||||
assert length(events) == 3
|
||||
assert File.read!(path) == xml
|
||||
end
|
||||
|
||||
|
||||
@@ -18,11 +18,12 @@ defmodule FeedReader.VerifiedParserTest do
|
||||
assert File.read!(path) == @xml
|
||||
end
|
||||
|
||||
test "does not return a session for malformed tails or an insufficient pass budget" do
|
||||
test "ignores trailing content but rejects an insufficient pass budget" do
|
||||
path = write_temp(@xml <> "<broken")
|
||||
on_exit(fn -> File.rm(path) end)
|
||||
|
||||
assert {:error, %Saxy.ParseError{}} = FeedReader.stream_file_verified(path)
|
||||
assert {:ok, %{events: events}} = FeedReader.stream_file_verified(path)
|
||||
assert length(Enum.to_list(events)) == 2
|
||||
|
||||
valid_path = write_temp(@xml)
|
||||
on_exit(fn -> File.rm(valid_path) end)
|
||||
|
||||
Reference in new issue
Block a user