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 20, 2022
1 parent 51699f9 commit fb9b172
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 @@ -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

0 comments on commit fb9b172

Please sign in to comment.