mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
143 lines
4.5 KiB
Ruby
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
|