Skip to content

Commit

Permalink
add delete and update to host initiator groups
Browse files Browse the repository at this point in the history
  • Loading branch information
Lauferin committed Mar 1, 2023
1 parent 24f601d commit 11fca08
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 138 deletions.
16 changes: 16 additions & 0 deletions app/controllers/api/host_initiator_groups_controller.rb
@@ -1,9 +1,25 @@
module Api
class HostInitiatorGroupsController < BaseController
def refresh_resource(type, id, _data = nil)
enqueue_ems_action(type, id, "Refreshing", :method_name => :refresh_ems)
end

def create_resource(type, _id = nil, data = {})
create_ems_resource(type, data, :supports => true) do |ems, klass|
{:task_id => klass.create_host_initiator_group_queue(User.current_userid, ems, data)}
end
end

def delete_resource_action(type, id = nil, _data = nil)
api_resource(type, id, "Deleting", :supports => :delete) do |host_initiator_group|
{:task_id => host_initiator_group.delete_host_initiator_group_queue(User.current_userid)}
end
end

def edit_resource(type, id, data = {})
api_resource(type, id, "Updating", :supports => :update) do |host_initiator_group|
{:task_id => host_initiator_group.update_host_initiator_group_queue(User.current_userid, data.deep_symbolize_keys)}
end
end
end
end
103 changes: 0 additions & 103 deletions app/controllers/api/service_nows_controller.rb

This file was deleted.

49 changes: 14 additions & 35 deletions config/api.yml
Expand Up @@ -1808,7 +1808,7 @@
:identifier: host_initiator_group
:options:
- :collection
:verbs: *gp
:verbs: *gpppd
:klass: HostInitiatorGroup
:subcollections:
:collection_actions:
Expand All @@ -1818,10 +1818,23 @@
:post:
- :name: create
:identifier: host_initiator_group_new
- :name: refresh
:identifier: host_initiator_group_refresh
- :name: delete
:identifier: host_initiator_group_delete
- :name: edit
:identifier: host_initiator_group_edit
:resource_actions:
:get:
- :name: read
:identifier: host_initiator_group_show
:post:
- :name: refresh
:identifier: host_initiator_group_refresh
- :name: delete
:identifier: host_initiator_group_delete
- :name: edit
:identifier: host_initiator_group_edit
:host_initiators:
:description: Host Initiators
:identifier: host_initiator
Expand Down Expand Up @@ -3672,40 +3685,6 @@
:identifier: dialog_copy_editor
- :name: template_service_dialog
:identifier: dialog_new_editor
:service_nows:
:description: Service Now
:identifier: service_now
:options:
- :collection
:verbs: *gpd
:klass: ServiceNow
:collection_actions:
:get:
- :name: read
:identifier: service_now_show_list
:post:
- :name: create
:identifier: service_now_new
- :name: connect
:identifier: service_now_connect
- :name: delete
:identifier: service_now_delete
:resource_actions:
:get:
- :name: read
:identifier: service_now_show
:post:
- :name: create
:identifier: service_now_new
- :name: connect
:identifier: service_now_connect
- :name: edit
:identifier: service_now_edit
- :name: delete
:identifier: service_now_delete
:delete:
- :name: delete
:identifier: service_now_delete
:service_offerings:
:description: Service Offerings
:identifier: service_offerings
Expand Down
30 changes: 30 additions & 0 deletions spec/requests/host_initiator_groups_spec.rb
Expand Up @@ -71,4 +71,34 @@
expect(response).to have_http_status(:bad_request)
end
end

it "deletes a single Host Initiator Group" do
provider = FactoryBot.create(:ems_autosde, :name => 'Autosde')
host_initiator_group = FactoryBot.create("ManageIQ::Providers::Autosde::StorageManager::HostInitiatorGroup", :name => 'test_host_initiator_group', :ext_management_system => provider)
api_basic_authorize('host_initiator_group_delete')

stub_supports(HostInitiatorGroup, :delete)
post(api_host_initiator_group_url(nil, host_initiator_group), :params => gen_request(:delete))

expect_single_action_result(:success => true, :message => /Deleting Host Initiator Group id: #{host_initiator_group.id} name: '#{host_initiator_group.name}'/)
end

it "deletes multiple Host Initiator Groups" do
provider = FactoryBot.create(:ems_autosde, :name => 'Autosde')
host_initiator_group1 = FactoryBot.create("ManageIQ::Providers::Autosde::StorageManager::HostInitiatorGroup", :name => 'test_host_initiator_group1', :ext_management_system => provider)
host_initiator_group2 = FactoryBot.create("ManageIQ::Providers::Autosde::StorageManager::HostInitiatorGroup", :name => 'test_host_initiator_group2', :ext_management_system => provider)
api_basic_authorize('host_initiator_group_delete')

stub_supports(HostInitiatorGroup, :delete)
post(api_host_initiator_groups_url, :params => gen_request(:delete, [{"href" => api_host_initiator_group_url(nil, host_initiator_group1)}, {"href" => api_host_initiator_group_url(nil, host_initiator_group2)}]))

results = response.parsed_body["results"]

expect(results[0]["message"]).to match(/Deleting Host Initiator Group id: #{host_initiator_group1.id} name: '#{host_initiator_group1.name}'/)
expect(results[0]["success"]).to match(true)
expect(results[1]["message"]).to match(/Deleting Host Initiator Group id: #{host_initiator_group2.id} name: '#{host_initiator_group2.name}'/)
expect(results[1]["success"]).to match(true)

expect(response).to have_http_status(:ok)
end
end

0 comments on commit 11fca08

Please sign in to comment.