Match decoded OpenAI error body, not raw JSON
Switch the 500-response stubs to Req.Test.json so Req decodes the body, then match the map shape. Avoids coupling the assertion to the exact JSON serialization. Refs #176
This commit is contained in:
@@ -296,10 +296,12 @@ defmodule MusicLibrary.Records.SimilarityTest do
|
||||
record = record(%{genres: ["rock"]})
|
||||
|
||||
Req.Test.stub(OpenAI.API, fn conn ->
|
||||
Plug.Conn.send_resp(conn, 500, JSON.encode!(%{"error" => "internal server error"}))
|
||||
conn
|
||||
|> Plug.Conn.put_status(500)
|
||||
|> Req.Test.json(%{"error" => "internal server error"})
|
||||
end)
|
||||
|
||||
assert {:error, "{\"error\":\"internal server error\"}"} =
|
||||
assert {:error, %{"error" => "internal server error"}} =
|
||||
Similarity.generate_embedding(record)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -48,10 +48,12 @@ defmodule MusicLibrary.Worker.GenerateRecordEmbeddingTest do
|
||||
record = record()
|
||||
|
||||
Req.Test.stub(OpenAI.API, fn conn ->
|
||||
Plug.Conn.send_resp(conn, 500, JSON.encode!(%{"error" => "internal server error"}))
|
||||
conn
|
||||
|> Plug.Conn.put_status(500)
|
||||
|> Req.Test.json(%{"error" => "internal server error"})
|
||||
end)
|
||||
|
||||
assert {:error, "{\"error\":\"internal server error\"}"} =
|
||||
assert {:error, %{"error" => "internal server error"}} =
|
||||
perform_job(GenerateRecordEmbedding, %{"record_id" => record.id})
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user