2023-10-18 14:28:54 +13:00
|
|
|
defmodule AshJsonApiWrapper.OpenApi.PetstoreTest do
|
|
|
|
use ExUnit.Case
|
|
|
|
require Ash.Query
|
2023-10-26 15:08:42 +13:00
|
|
|
@moduletag :oapi_petstore
|
2023-10-18 14:28:54 +13:00
|
|
|
|
|
|
|
@json "test/support/pet_store.json" |> File.read!() |> Jason.decode!()
|
|
|
|
|
|
|
|
defmodule TestingTesla do
|
|
|
|
use Tesla
|
|
|
|
|
|
|
|
# plug(Tesla.Middleware.Headers, [
|
|
|
|
# {"authorization", "Bearer xxx"}
|
|
|
|
# ])
|
|
|
|
end
|
|
|
|
|
|
|
|
@config [
|
|
|
|
tesla: TestingTesla,
|
|
|
|
endpoint: "https://petstore3.swagger.io/api/v3",
|
|
|
|
resources: [
|
2023-10-26 15:08:42 +13:00
|
|
|
Petstore: [
|
2023-10-18 14:28:54 +13:00
|
|
|
path: "/store/order/{orderId}",
|
|
|
|
object_type: "components.schemas.Order",
|
|
|
|
primary_key: "id",
|
|
|
|
# entity_path: "",
|
|
|
|
fields: [
|
|
|
|
orderId: [
|
|
|
|
filter_handler: {:place_in_csv_list, ["id"]}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
]
|
|
|
|
]
|
|
|
|
]
|
|
|
|
|
|
|
|
test "it does stuff" do
|
|
|
|
@json
|
|
|
|
|> AshJsonApiWrapper.OpenApi.ResourceGenerator.generate(@config)
|
|
|
|
|> Enum.map(fn {resource, code} ->
|
|
|
|
Code.eval_string(code)
|
|
|
|
resource
|
|
|
|
end)
|
|
|
|
end
|
|
|
|
end
|