Current section
Files
Jump to
Current section
Files
test/mocks/vector_store_file.ex
defmodule OpenAi.Mocks.VectorStoreFile do
def vector_store_file(data) do
%{
id: "vsf-abc123",
object: "vector_store.file",
created_at: 1_699_061_776,
usage_bytes: 1234,
vector_store_id: "vs_abcd",
status: "completed",
last_error: nil
}
|> Map.merge(data)
end
def create(data \\ %{}) do
%HTTPoison.Response{
status_code: 200,
body:
data
|> vector_store_file()
|> Poison.encode!()
}
end
def list(data \\ [], count \\ 2) do
data =
Enum.map(1..count, fn index ->
vector_store_file(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 get(data \\ %{}) do
%HTTPoison.Response{
status_code: 200,
body:
data
|> vector_store_file()
|> Poison.encode!()
}
end
def delete(data \\ %{}) do
vsf = data |> vector_store_file()
%HTTPoison.Response{
status_code: 200,
body:
%{
id: vsf.id,
object: "vector_store.file.deleted",
deleted: true
}
|> Poison.encode!()
}
end
end