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

[xenserver] StorageRepository.save should use sane defaults

- Added required tests
- Minor StorageRepository tests refactoring
This commit is contained in:
Sergio Rubio 2013-01-06 14:31:26 +01:00
parent 9db7f34aa8
commit 5b6ca0b98b
2 changed files with 47 additions and 20 deletions

View file

@ -63,12 +63,12 @@ module Fog
connection.create_sr( host.reference,
name,
type,
description,
device_config,
physical_size,
content_type,
description || '',
device_config || {},
physical_size || '0',
content_type || 'user',
shared || false,
sm_config),
sm_config || {}),
'SR'
)
merge_attributes attr

View file

@ -2,6 +2,7 @@ Shindo.tests('Fog::Compute[:xenserver] | StorageRepository model', ['xenserver']
storage_repositories = Fog::Compute[:xenserver].storage_repositories
storage_repository = storage_repositories.first
conn = Fog::Compute[:xenserver]
tests('The StorageRepository model should') do
tests('have the action') do
@ -65,23 +66,49 @@ Shindo.tests('Fog::Compute[:xenserver] | StorageRepository model', ['xenserver']
end
end
test('#save') do
conn = Fog::Compute[:xenserver]
tests('#save should') do
sr = nil
test('save with required attributes') do
sr = conn.storage_repositories.create :name => 'FOG TEST SR',
:host => conn.hosts.first,
:type => 'ext',
:content_type => 'local SR',
:device_config => { :device => '/dev/sdb' }
!(conn.storage_repositories.find { |sr| sr.name == 'FOG TEST SR' }).nil?
end
# Cleanup
sr.pbds.each { |pbd| pbd.unplug }
sr.destroy
test('save with additional attributes') do
sr = conn.storage_repositories.create :name => 'FOG TEST SR',
:host => conn.hosts.first,
:type => 'ext',
:content_type => 'user',
:device_config => { :device => '/dev/sdb' },
:shared => false
!(conn.storage_repositories.find { |sr| sr.name == 'FOG TEST SR' }).nil?
end
# Cleanup
sr.pbds.each { |pbd| pbd.unplug }
sr.destroy
test('return sane defaults') do
sr = conn.storage_repositories.create :name => 'FOG TEST SR',
:host => conn.hosts.first,
:type => 'ext',
:device_config => { :device => '/dev/sdb' }
sr.reload
(sr.content_type == 'user') and \
(sr.shared == false) and (sr.sm_config.is_a? Hash) and \
(sr.description == '')
end
end
test('#destroy') do
conn = Fog::Compute[:xenserver]
tests('#destroy should') do
test('destroy existing FOG TEST SR') do
sr = (conn.storage_repositories.find { |sr| sr.name == 'FOG TEST SR' })
sr.pbds.each { |pbd| pbd.unplug }
sr.destroy
(conn.storage_repositories.find { |sr| sr.name == 'FOG TEST SR' }).nil?
end
end
end