Cache fixtures
This commit is contained in:
@@ -1,35 +1,43 @@
|
|||||||
defmodule MusicBrainz.Fixtures.Release do
|
defmodule MusicBrainz.Fixtures.Release do
|
||||||
@fixtures_folder Path.join([File.cwd!(), "test/support/fixtures/music_brainz"])
|
@fixtures_folder Path.join([File.cwd!(), "test/support/fixtures/music_brainz"])
|
||||||
|
|
||||||
def releases(:queen_greatest_hits) do
|
# Cache JSON fixtures at compile time to avoid repeated file I/O
|
||||||
Path.join([@fixtures_folder, "releases - queen - greatest hits.json"])
|
@releases_queen_greatest_hits Path.join([
|
||||||
|> File.read!()
|
@fixtures_folder,
|
||||||
|> JSON.decode!()
|
"releases - queen - greatest hits.json"
|
||||||
end
|
])
|
||||||
|
|> File.read!()
|
||||||
|
|> JSON.decode!()
|
||||||
|
|
||||||
def releases(:marbles) do
|
@releases_marbles Path.join([@fixtures_folder, "releases - marillion - marbles.json"])
|
||||||
Path.join([@fixtures_folder, "releases - marillion - marbles.json"])
|
|> File.read!()
|
||||||
|> File.read!()
|
|> JSON.decode!()
|
||||||
|> JSON.decode!()
|
|
||||||
end
|
|
||||||
|
|
||||||
def release(:mystery_of_time) do
|
@release_mystery_of_time Path.join([
|
||||||
Path.join([@fixtures_folder, "release - avantasia - the mystery of time.json"])
|
@fixtures_folder,
|
||||||
|> File.read!()
|
"release - avantasia - the mystery of time.json"
|
||||||
|> JSON.decode!()
|
])
|
||||||
end
|
|> File.read!()
|
||||||
|
|> JSON.decode!()
|
||||||
|
|
||||||
def release(:marbles) do
|
@release_marbles Path.join([@fixtures_folder, "release - marillion - marbles.json"])
|
||||||
Path.join([@fixtures_folder, "release - marillion - marbles.json"])
|
|> File.read!()
|
||||||
|> File.read!()
|
|> JSON.decode!()
|
||||||
|> JSON.decode!()
|
|
||||||
end
|
|
||||||
|
|
||||||
def release_with_media(:marbles) do
|
@release_with_media_marbles Path.join([
|
||||||
Path.join([@fixtures_folder, "release_with_media - marillion - marbles.json"])
|
@fixtures_folder,
|
||||||
|> File.read!()
|
"release_with_media - marillion - marbles.json"
|
||||||
|> JSON.decode!()
|
])
|
||||||
end
|
|> File.read!()
|
||||||
|
|> JSON.decode!()
|
||||||
|
|
||||||
|
def releases(:queen_greatest_hits), do: @releases_queen_greatest_hits
|
||||||
|
def releases(:marbles), do: @releases_marbles
|
||||||
|
|
||||||
|
def release(:mystery_of_time), do: @release_mystery_of_time
|
||||||
|
def release(:marbles), do: @release_marbles
|
||||||
|
|
||||||
|
def release_with_media(:marbles), do: @release_with_media_marbles
|
||||||
|
|
||||||
def release_id(name) do
|
def release_id(name) do
|
||||||
release(name) |> Map.get("id")
|
release(name) |> Map.get("id")
|
||||||
|
|||||||
@@ -1,32 +1,37 @@
|
|||||||
defmodule MusicBrainz.Fixtures.ReleaseGroup do
|
defmodule MusicBrainz.Fixtures.ReleaseGroup do
|
||||||
@fixtures_folder Path.join([File.cwd!(), "test/support/fixtures/music_brainz"])
|
@fixtures_folder Path.join([File.cwd!(), "test/support/fixtures/music_brainz"])
|
||||||
|
|
||||||
def release_group_search_results do
|
# Cache JSON fixtures at compile time to avoid repeated file I/O
|
||||||
Path.join([@fixtures_folder, "release_group_search_results - marillion - marbles.json"])
|
@release_group_search_results Path.join([
|
||||||
|> File.read!()
|
@fixtures_folder,
|
||||||
|> JSON.decode!()
|
"release_group_search_results - marillion - marbles.json"
|
||||||
end
|
])
|
||||||
|
|> File.read!()
|
||||||
|
|> JSON.decode!()
|
||||||
|
|
||||||
def release_group(:mystery_of_time) do
|
@mystery_of_time Path.join([
|
||||||
Path.join([@fixtures_folder, "release_group - avantasia - the mystery of time.json"])
|
@fixtures_folder,
|
||||||
|> File.read!()
|
"release_group - avantasia - the mystery of time.json"
|
||||||
|> JSON.decode!()
|
])
|
||||||
end
|
|> File.read!()
|
||||||
|
|> JSON.decode!()
|
||||||
|
|
||||||
def release_group(:marbles) do
|
@marbles Path.join([@fixtures_folder, "release_group - marillion - marbles.json"])
|
||||||
Path.join([@fixtures_folder, "release_group - marillion - marbles.json"])
|
|> File.read!()
|
||||||
|> File.read!()
|
|> JSON.decode!()
|
||||||
|> JSON.decode!()
|
|
||||||
end
|
|
||||||
|
|
||||||
def release_group(:lockdown_trilogy) do
|
@lockdown_trilogy Path.join([
|
||||||
Path.join([
|
@fixtures_folder,
|
||||||
@fixtures_folder,
|
"release_group_with_includes - mariusz duda - lockdown trilogy.json"
|
||||||
"release_group_with_includes - mariusz duda - lockdown trilogy.json"
|
])
|
||||||
])
|
|> File.read!()
|
||||||
|> File.read!()
|
|> JSON.decode!()
|
||||||
|> JSON.decode!()
|
|
||||||
end
|
def release_group_search_results, do: @release_group_search_results
|
||||||
|
|
||||||
|
def release_group(:mystery_of_time), do: @mystery_of_time
|
||||||
|
def release_group(:marbles), do: @marbles
|
||||||
|
def release_group(:lockdown_trilogy), do: @lockdown_trilogy
|
||||||
|
|
||||||
def release_group_releases(name) do
|
def release_group_releases(name) do
|
||||||
rg = release_group(name)
|
rg = release_group(name)
|
||||||
|
|||||||
Reference in New Issue
Block a user