1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[cloudstack] add delete_snapshot request mock, fix delete_snapshot description comments

This commit is contained in:
dm1try 2013-04-20 22:15:02 +03:00
parent 344d3eff13
commit 6e2bc6d6c3

View file

@ -3,9 +3,9 @@ module Fog
class Cloudstack
class Real
# Deletes a specified user.
# Deletes a specified snapshot.
#
# {CloudStack API Reference}[http://download.cloud.com/releases/2.2.0/api_2.2.4/global_admin/deleteSnapshot.html]
# {CloudStack API Reference}[http://cloudstack.apache.org/docs/api/apidocs-4.0.0/user/deleteSnapshot.html]
def delete_snapshot(options={})
options.merge!(
'command' => 'deleteSnapshot'
@ -15,6 +15,48 @@ module Fog
end
end
class Mock
# Deletes a specified snapashot.
#
# {CloudStack API Reference}[http://cloudstack.apache.org/docs/api/apidocs-4.0.0/user/deleteSnapshot.html]
def delete_snapshot(options={})
snapshot_id = options['id']
snapshots = self.data[:snapshots]
if snapshots[snapshot_id]
snapshots.delete(snapshot_id)
job_id = add_delete_snapshot_job(snapshot_id)
{'deletesnapshotresponse' => {'jobid' => job_id}}
end
# TODO add cases for empty or wrong id
end
def add_delete_snapshot_job(snapshot_id)
job_id = Fog::Cloudstack.uuid
job = {
'id' => job_id,
'user_id' => self.data[:users].first, # TODO use current user
'account_id' => self.data[:accounts].first, # TODO use current user
'cmd' => 'com.cloud.api.commands.DeleteSnapshotCmd',
'job_status'=> 1,
'job_result_type' => nil,
'job_result_code' => 0,
'job_proc_status' => 0,
'created_at' => Time.now.iso8601,
'job_result' => { "success" => true }
}
self.data[:jobs][job_id] = job
job_id
end
end
end
end
end