Cache fixtures

This commit is contained in:
Claudio Ortolina
2026-02-16 09:50:10 +00:00
parent 583789850c
commit 2f7e2caa3c
2 changed files with 61 additions and 48 deletions
+33 -25
View File
@@ -1,35 +1,43 @@
defmodule MusicBrainz.Fixtures.Release do
@fixtures_folder Path.join([File.cwd!(), "test/support/fixtures/music_brainz"])
def releases(:queen_greatest_hits) do
Path.join([@fixtures_folder, "releases - queen - greatest hits.json"])
|> File.read!()
|> JSON.decode!()
end
# Cache JSON fixtures at compile time to avoid repeated file I/O
@releases_queen_greatest_hits Path.join([
@fixtures_folder,
"releases - queen - greatest hits.json"
])
|> File.read!()
|> JSON.decode!()
def releases(:marbles) do
Path.join([@fixtures_folder, "releases - marillion - marbles.json"])
|> File.read!()
|> JSON.decode!()
end
@releases_marbles Path.join([@fixtures_folder, "releases - marillion - marbles.json"])
|> File.read!()
|> JSON.decode!()
def release(:mystery_of_time) do
Path.join([@fixtures_folder, "release - avantasia - the mystery of time.json"])
|> File.read!()
|> JSON.decode!()
end
@release_mystery_of_time Path.join([
@fixtures_folder,
"release - avantasia - the mystery of time.json"
])
|> File.read!()
|> JSON.decode!()
def release(:marbles) do
Path.join([@fixtures_folder, "release - marillion - marbles.json"])
|> File.read!()
|> JSON.decode!()
end
@release_marbles Path.join([@fixtures_folder, "release - marillion - marbles.json"])
|> File.read!()
|> JSON.decode!()
def release_with_media(:marbles) do
Path.join([@fixtures_folder, "release_with_media - marillion - marbles.json"])
|> File.read!()
|> JSON.decode!()
end
@release_with_media_marbles Path.join([
@fixtures_folder,
"release_with_media - marillion - marbles.json"
])
|> 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
release(name) |> Map.get("id")