Current section
Files
Jump to
Current section
Files
test/mocks/thread.ex
defmodule OpenAi.Mocks.Thread do
@moduledoc """
Mocks for thread related responses.
"""
def object(data) do
%{
id: "th_abc123",
object: "thread",
metadata: %{
key: "value"
},
created_at: 1_699_061_776,
updated_at: 1_699_061_776
}
|> Map.merge(data)
|> Map.merge(%{
tool_resources: data |> Map.get(:tool_resources, %{}) |> tool_resources()
})
end
def tool_resources(data) do
%{
code_interpreter: data |> Map.get(:code_interpreter, %{}) |> code_interpreter(),
file_search: data |> Map.get(:file_search, %{}) |> file_search()
}
end
def code_interpreter(data) do
%{
file_ids: data |> Map.get(:file_ids, ["file_id", "file_id"])
}
end
def file_search(data) do
%{
vector_store_ids: data |> Map.get(:vector_store_ids, ["vs_abc123", "vs_abc124"])
}
end
def delete_response(data) do
%{
id: "th_abc123",
object: "thread.deleted",
deleted: true
}
|> Map.merge(data)
end
end