1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/linode/requests/compute/linode_tests.rb

143 lines
4.5 KiB
Ruby

Shindo.tests('Fog::Compute[:linode] | linode requests', ['linode']) do
@linode_format = Linode::Compute::Formats::BASIC.merge({
'DATA' => { 'LinodeID' => Integer }
})
@linodes_format = Linode::Compute::Formats::BASIC.merge({
'DATA' => [{
'ALERT_BWIN_ENABLED' => Integer,
'ALERT_CPU_THRESHOLD' => Integer,
'ALERT_BWOUT_ENABLED' => Integer,
'ALERT_BWOUT_THRESHOLD' => Integer,
'ALERT_BWQUOTA_ENABLED' => Integer,
'ALERT_BWQUOTA_THRESHOLD' => Integer,
'ALERT_BWIN_THRESHOLD' => Integer,
'ALERT_CPU_ENABLED' => Integer,
'ALERT_DISKIO_ENABLED' => Integer,
'ALERT_DISKIO_THRESHOLD' => Integer,
'BACKUPSENABLED' => Integer,
'BACKUPWEEKLYDAY' => Integer,
'BACKUPWINDOW' => Integer,
'DATACENTERID' => Integer,
'LABEL' => String,
'LINODEID' => Integer,
'LPM_DISPLAYGROUP' => String,
'STATUS' => Integer,
'TOTALHD' => Integer,
'TOTALRAM' => Integer,
'TOTALXFER' => Integer,
'WATCHDOG' => Integer,
}]
})
@reboot_format = Linode::Compute::Formats::BASIC.merge({
'DATA' => { 'JobID' => Integer }
})
@ip_format = Linode::Compute::Formats::BASIC.merge({
'DATA' => { 'IPAddressID' => Integer }
})
@disks_format = Linode::Compute::Formats::BASIC.merge({
'DATA' => [{
"UPDATE_DT" => String,
"DISKID" => Integer,
"LABEL" => String,
"TYPE" => String,
"LINODEID" => Integer,
"ISREADONLY" => Integer,
"STATUS" => Integer,
"CREATE_DT" => String,
"SIZE" => Integer
}]
})
@disk_format = Linode::Compute::Formats::BASIC.merge({
'DATA' => { 'JobID' => Integer, 'DiskID' => Integer }
})
tests('success') do
@linode_id = nil
# (2 => Dallas, TX, USA), (1 => 1 month), (1 => Linode 512)
tests('#linode_create(2, 1, 1)').formats(@linode_format) do
pending if Fog.mocking?
data = Fog::Compute[:linode].linode_create(2, 1, 1).body
@linode_id = data['DATA']['LinodeID']
data
end
tests("#linode_list(#{@linode_id})").formats(@linodes_format) do
pending if Fog.mocking?
Fog::Compute[:linode].linode_list(@linode_id).body
end
tests('#linode_list').formats(@linodes_format) do
pending if Fog.mocking?
Fog::Compute[:linode].linode_list.body
end
tests('#linode_update').formats(@linode_format) do
pending if Fog.mocking?
Fog::Compute[:linode].linode_update(@linode_id, :label => 'testing').body
end
tests('#linode_ip_addprivate').formats(@ip_format) do
pending if Fog.mocking?
Fog::Compute[:linode].linode_ip_addprivate(@linode_id).body
end
tests('#linode_disk_create').formats(@disk_format) do
pending if Fog.mocking?
data = Fog::Compute[:linode].linode_disk_create(@linode_id, 'test1', 'ext3', 1).body
@disk1_id = data['DATA']['DiskID']
data
end
tests('#linode_disk_createfromdistribution').formats(@disk_format) do
pending if Fog.mocking?
data = Fog::Compute[:linode].linode_disk_createfromdistribution(@linode_id, 73, 'test1', 600, 'P@SSW)RD').body
@disk2_id = data['DATA']['DiskID']
data
end
tests('#linode_disk_list').formats(@disks_format) do
pending if Fog.mocking?
Fog::Compute[:linode].linode_disk_list(@linode_id).body
end
# tests("#linode_reboot(#{@linode_id})").formats(@reboot_format) do
# Fog::Compute[:linode].linode_reboot(@linode_id).body
# end
tests('#linode_disk_delete').formats(@disk_format) do
pending if Fog.mocking?
Fog::Compute[:linode].linode_disk_delete(@linode_id, @disk1_id).body
Fog::Compute[:linode].linode_disk_delete(@linode_id, @disk2_id).body
end
tests('#linode_delete(#{@linode_id})').succeeds do
pending if Fog.mocking?
sleep 1 until Fog::Compute[:linode].linode_disk_list(@linode_id).body['DATA'].size == 0
Fog::Compute[:linode].linode_delete(@linode_id)
end
end
tests('failure') do
tests('#linode_reboot(0)').raises(Fog::Compute::Linode::NotFound) do
pending if Fog.mocking?
Fog::Compute[:linode].linode_reboot(1)
end
tests('#linode_delete(0)').raises(Fog::Compute::Linode::NotFound) do
pending if Fog.mocking?
Fog::Compute[:linode].linode_delete(1)
end
end
end