Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added endpoints for physical storage families, resources and services #1190

Merged
merged 1 commit into from
Dec 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions app/controllers/api/physical_storage_families_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module Api
class PhysicalStorageFamiliesController < BaseController
end
end
4 changes: 4 additions & 0 deletions app/controllers/api/storage_resources_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module Api
class StorageResourcesController < BaseController
end
end
4 changes: 4 additions & 0 deletions app/controllers/api/storage_services_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module Api
class StorageServicesController < BaseController
end
end
54 changes: 54 additions & 0 deletions config/api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2494,6 +2494,24 @@
:identifier: physical_server_decommission
- :name: recommission_server
:identifier: physical_server_recommission
:physical_storage_families:
:description: Physical Storage Families
:identifier: physical_storage_family
:options:
- :collection
:verbs: *gp
:klass: PhysicalStorageFamily
:collection_actions:
:get:
- :name: read
:identifier: physical_storage_family_show_list
:post:
- :name: query
:identifier: physical_storage_family_show_list
:resource_actions:
:get:
- :name: read
:identifier: physical_storage_family_show
:physical_storages:
:description: Physical Storages
:identifier: physical_storage
Expand Down Expand Up @@ -4165,6 +4183,42 @@
- :subcollection
:verbs: *g
:klass: GuestApplication
:storage_resources:
:description: Storage Resources
:identifier: storage_resource
:options:
- :collection
:verbs: *gp
:klass: StorageResource
:collection_actions:
:get:
- :name: read
:identifier: storage_resource_show_list
:post:
- :name: query
:identifier: storage_resource_show_list
:resource_actions:
:get:
- :name: read
:identifier: storage_resource_show
:storage_services:
:description: Storage Services
:identifier: storage_service
:options:
- :collection
:verbs: *gp
:klass: StorageService
:collection_actions:
:get:
- :name: read
:identifier: storage_service_show_list
:post:
- :name: query
:identifier: storage_service_show_list
:resource_actions:
:get:
- :name: read
:identifier: storage_service_show
:switches:
:description: Switches
:identifier: infra_networking
Expand Down
33 changes: 33 additions & 0 deletions spec/requests/physical_storage_families_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
describe "Physical Storage Families API" do
context "GET /api/physical_storage_families" do
it "returns all physical_storage_families" do
physical_storage_family = FactoryBot.create(:physical_storage_family)
api_basic_authorize('physical_storage_family_show_list')

get(api_physical_storage_families_url)

expected = {
"name" => "physical_storage_families",
"resources" => [{"href" => api_physical_storage_family_url(nil, physical_storage_family)}]
}
expect(response).to have_http_status(:ok)
expect(response.parsed_body).to include(expected)
end
end

context "GET /api/physical_storage_families/:id" do
it "returns one physical_storage_family" do
physical_storage_family = FactoryBot.create(:physical_storage_family)
api_basic_authorize('physical_storage_family_show')

get(api_physical_storage_family_url(nil, physical_storage_family))

expected = {
"name" => physical_storage_family.name,
"href" => api_physical_storage_family_url(nil, physical_storage_family)
}
expect(response).to have_http_status(:ok)
expect(response.parsed_body).to include(expected)
end
end
end
33 changes: 33 additions & 0 deletions spec/requests/storage_resources_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
describe "Storage Resources API" do
fcontext "GET /api/storage_resources" do
it "returns all storage_resources" do
storage_resource = FactoryBot.create(:storage_resource)
api_basic_authorize('storage_resource_show_list')

get(api_storage_resources_url)

expected = {
"name" => "storage_resources",
"resources" => [{"href" => api_storage_resource_url(nil, storage_resource)}]
}
expect(response).to have_http_status(:ok)
expect(response.parsed_body).to include(expected)
end
end

context "GET /api/storage_resources/:id" do
it "returns one storage_resource" do
storage_resource = FactoryBot.create(:storage_resources)
api_basic_authorize('storage_resource_show')

get(api_storage_resource_url(nil, storage_resource))

expected = {
"name" => storage_resource.name,
"href" => api_storage_resource_url(nil, storage_resource)
}
expect(response).to have_http_status(:ok)
expect(response.parsed_body).to include(expected)
end
end
end
33 changes: 33 additions & 0 deletions spec/requests/storage_services_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
describe "Storage Services API" do
fcontext "GET /api/storage_services" do
it "returns all storage_services" do
storage_service = FactoryBot.create(:storage_service)
api_basic_authorize('storage_service_show_list')

get(api_storage_services_url)

expected = {
"name" => "storage_services",
"resources" => [{"href" => api_storage_service_url(nil, storage_service)}]
}
expect(response).to have_http_status(:ok)
expect(response.parsed_body).to include(expected)
end
end

context "GET /api/storage_services/:id" do
it "returns one storage_service" do
storage_service = FactoryBot.create(:storage_services)
api_basic_authorize('storage_service_show')

get(api_storage_service_url(nil, storage_service))

expected = {
"name" => storage_service.name,
"href" => api_storage_service_url(nil, storage_service)
}
expect(response).to have_http_status(:ok)
expect(response.parsed_body).to include(expected)
end
end
end