Current section
Files
Jump to
Current section
Files
test/mocks/vector_store_file_batch.ex
defmodule OpenAi.Mocks.VectorStoreFileBatch do
def vector_store_file_batch(data) do
%{
id: "vsfb_abc123",
object: "vector_store.files_batch",
created_at: 1_699_061_776,
vector_store_id: "vs_abc123",
status: "in_progress",
file_counts: %{
in_progress: 1,
completed: 1,
failed: 0,
cancelled: 0,
total: 0
}
}
|> Map.merge(data)
end
def create(data \\ %{}) do
%HTTPoison.Response{
status_code: 200,
body:
data
|> vector_store_file_batch()
|> Poison.encode!()
}
end
def get(data \\ %{}) do
%HTTPoison.Response{
status_code: 200,
body:
data
|> vector_store_file_batch()
|> Poison.encode!()
}
end
def list(data \\ [], count \\ 2) do
data =
Enum.map(1..count, fn index ->
vector_store_file_batch(data |> Enum.at(index - 1, %{}))
end)
%HTTPoison.Response{
status_code: 200,
body:
%{
object: "list",
data: data,
first_id: data |> List.first() |> Map.get(:id),
last_id: data |> List.last() |> Map.get(:id),
has_more: false
}
|> Poison.encode!()
}
end
def cancel(data \\ %{}) do
%HTTPoison.Response{
status_code: 200,
body:
data
|> vector_store_file_batch()
|> Poison.encode!()
}
end
end