Skip to content

Commit

Permalink
Added endpoints and their respective specs for physical storage famil…
Browse files Browse the repository at this point in the history
…ies, storage resources and storage services
  • Loading branch information
galoiring committed Dec 18, 2022
1 parent 3922de5 commit e7ac87e
Show file tree
Hide file tree
Showing 7 changed files with 165 additions and 0 deletions.
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 @@ -2516,6 +2516,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 @@ -4185,6 +4203,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
context "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
context "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",
"services" => [{"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

0 comments on commit e7ac87e

Please sign in to comment.