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

[vcloud_director] New & refactored XML generators.

This commit is contained in:
Nick Osborn 2013-10-03 19:07:58 +01:00
parent 788fef9d15
commit 2b4ea80024
19 changed files with 438 additions and 65 deletions

View file

@ -1,17 +1,58 @@
Shindo.tests('Compute::VcloudDirector | CaptureVAppParams generator', ['vclouddirector', 'xsd']) do
Shindo.tests('Compute::VcloudDirector | generator | CaptureVAppParams', ['vclouddirector', 'xsd']) do
require 'fog/vcloud_director/generators/compute/capture_vapp_params'
tests('#to_xml').returns(String) do
@capture_vapp_params = Fog::Generators::Compute::VcloudDirector::CaptureVappParams.new(
'name', 'http://example.com/api/vApp/0'
)
@capture_vapp_params.to_xml.class
SOURCE_HREF = 'SOURCE:HREF'
NAME = 'NAME'
tests('without :Description') do
tests('#to_xml').returns(String) do
@element = Fog::Generators::Compute::VcloudDirector::CaptureVAppParams.new(
SOURCE_HREF, :name => NAME
)
@element.to_xml.class
end
tests('#data.empty?').returns(true) { @element.data.empty? }
tests('#validate').returns([]) do
pending unless VcloudDirector::Generators::Helpers.have_xsd?
VcloudDirector::Generators::Helpers.validate(@element.doc)
end
tests('#attributes') do
attributes = @element.doc.root.attributes
tests('#name').returns(NAME) { attributes['name'].value }
end
tests('#elements') do
pending
end
end
tests('#validate').returns([]) do
pending unless VcloudDirector::Generators::Helpers.have_xsd?
VcloudDirector::Generators::Helpers.validate(@capture_vapp_params.doc)
tests('with :Description') do
DESCRIPTION = 'DESCRIPTION'
tests('#to_xml').returns(String) do
@element = Fog::Generators::Compute::VcloudDirector::CaptureVAppParams.new(
SOURCE_HREF, :name => NAME, :Description => DESCRIPTION
)
@element.to_xml.class
end
tests('#data.empty?').returns(true) { @element.data.empty? }
tests('#validate').returns([]) do
pending unless VcloudDirector::Generators::Helpers.have_xsd?
VcloudDirector::Generators::Helpers.validate(@element.doc)
end
tests('#attributes') do
attributes = @element.doc.root.attributes
tests('#name').returns(NAME) { attributes['name'].value }
end
tests('#elements') do
pending
end
end
end

View file

@ -0,0 +1,19 @@
Shindo.tests('Compute::VcloudDirector | generator | CatalogItem', ['vclouddirector', 'xsd']) do
require 'fog/vcloud_director/generators/compute/catalog_item'
NAME = 'name'
SOURCE_HREF = 'SOURCE:HREF'
tests('#to_xml').returns(String) do
@element = Fog::Generators::Compute::VcloudDirector::CatalogItem.new(NAME, SOURCE_HREF)
@element.to_xml.class
end
tests('#data.empty?').returns(true) { @element.data.empty? }
tests('#validate').returns([]) do
pending unless VcloudDirector::Generators::Helpers.have_xsd?
VcloudDirector::Generators::Helpers.validate(@element.doc)
end
end

View file

@ -0,0 +1,33 @@
Shindo.tests('Compute::VcloudDirector | generator | Entity', ['vclouddirector', 'xsd']) do
require 'fog/vcloud_director/generators/compute/entity'
NAME = 'NAME'
HREF = 'HREF'
TYPE = 'TYPE'
OPERATION_KEY = 'OPERATION_KEY' # since 5.1
DESCRIPTION = 'DESCRIPTION'
tests('#to_xml').returns(String) do
@element = Fog::Generators::Compute::VcloudDirector::Entity.new(
NAME,
:href => HREF, :type => TYPE, :operationKey => OPERATION_KEY,
:Description => DESCRIPTION)
@element.to_xml.class
end
tests('#data.empty?').returns(true) { $stderr.puts @element.data.inspect; @element.data.empty? }
tests('#validate').returns([]) do
pending unless VcloudDirector::Generators::Helpers.have_xsd?
VcloudDirector::Generators::Helpers.validate(@element.doc)
end
tests('#attributes') do
attributes = @element.doc.root.attributes
tests('#name').returns(NAME) { attributes['name'].value }
tests('#href').returns(HREF) { attributes['href'].value }
tests('#type').returns(TYPE) { attributes['type'].value }
tests('#operationKey').returns(OPERATION_KEY) { attributes['operationKey'].value }
end
end

View file

@ -0,0 +1,23 @@
Shindo.tests('Compute::VcloudDirector | generator | IdentifiableResourceType', ['vclouddirector', 'xsd']) do
require 'fog/vcloud_director/generators/compute/identifiable_resource_type'
tests('#to_xml').returns(String) do
data = {
:href => 'HREF',
:type => 'TYPE',
:operationKey => 'OPERATION_KEY', # since 5.1
}
@type = Fog::Generators::Compute::VcloudDirector::IdentifiableResourceType.new(data)
@type.to_xml.class
end
tests('#data.empty?').returns(true) { @type.data.empty? }
tests('#attributes') do
attributes = @type.doc.root.attributes
tests('#href').returns('HREF') { attributes['href'].value }
tests('#type').returns('TYPE') { attributes['type'].value }
tests('#operationKey').returns('OPERATION_KEY') { attributes['operationKey'].value }
end
end

View file

@ -0,0 +1,16 @@
Shindo.tests('Compute::VcloudDirector | generator | Media', ['vclouddirector', 'xsd']) do
require 'fog/vcloud_director/generators/compute/media'
tests('#to_xml').returns(String) do
@element = Fog::Generators::Compute::VcloudDirector::Media.new('NAME', 'iso', '0')
@element.to_xml.class
end
tests('#data.empty?').returns(true) { @element.data.empty? }
tests('#validate').returns([]) do
pending unless VcloudDirector::Generators::Helpers.have_xsd?
VcloudDirector::Generators::Helpers.validate(@element.doc)
end
end

View file

@ -0,0 +1,20 @@
Shindo.tests('Compute::VcloudDirector | generator | ParamsType', ['vclouddirector', 'xsd']) do
require 'fog/vcloud_director/generators/compute/params_type'
NAME = 'NAME'
tests('#to_xml').returns(String) do
@type = Fog::Generators::Compute::VcloudDirector::ParamsType.new(
:name => NAME
)
@type.to_xml.class
end
tests('#data.empty?').returns(true) { @type.data.empty? }
tests('#attributes') do
attributes = @type.doc.root.attributes
tests('#name').returns(NAME) { attributes['name'].value }
end
end

View file

@ -0,0 +1,16 @@
Shindo.tests('Compute::VcloudDirector | generator | ResourceType', ['vclouddirector', 'xsd']) do
require 'fog/vcloud_director/generators/compute/resource_type'
HREF = 'HREF'
TYPE = 'TYPE'
tests('#to_xml').returns(String) do
@type = Fog::Generators::Compute::VcloudDirector::ResourceType.new(
:href => HREF, :type => TYPE
)
@type.to_xml.class
end
tests('#data.empty?').returns(true) { @type.data.empty? }
end

View file

@ -1,30 +1,32 @@
Shindo.tests('Compute::VcloudDirector | UndeployVAppParams generator', ['vclouddirector', 'xsd']) do
Shindo.tests('Compute::VcloudDirector | generator | UndeployVAppParams', ['vclouddirector', 'xsd']) do
require 'fog/vcloud_director/generators/compute/undeploy_vapp_params'
tests('with :UndeployPowerAction option') do
tests('without :UndeployPowerAction option') do
tests('#to_xml').returns(String) do
attrs = {:UndeployPowerAction => 'default'}
@undeploy_vapp_params = Fog::Generators::Compute::VcloudDirector::UndeployVappParams.new(attrs)
@undeploy_vapp_params.to_xml.class
@element = Fog::Generators::Compute::VcloudDirector::UndeployVAppParams.new
@element.to_xml.class
end
tests('#data.empty?').returns(true) { @element.data.empty? }
tests('#validate').returns([]) do
pending unless VcloudDirector::Generators::Helpers.have_xsd?
VcloudDirector::Generators::Helpers.validate(@undeploy_vapp_params.doc)
VcloudDirector::Generators::Helpers.validate(@element.doc)
end
end
tests('without :UndeployPowerAction option') do
tests('with :UndeployPowerAction option') do
tests('#to_xml').returns(String) do
attrs = {}
@undeploy_vapp_params = Fog::Generators::Compute::VcloudDirector::UndeployVappParams.new(attrs)
@undeploy_vapp_params.to_xml.class
@element = Fog::Generators::Compute::VcloudDirector::UndeployVAppParams.new(
:UndeployPowerAction => 'default'
)
@element.to_xml.class
end
tests('#data.empty?').returns(true) { @element.data.empty? }
tests('#validate').returns([]) do
pending unless VcloudDirector::Generators::Helpers.have_xsd?
VcloudDirector::Generators::Helpers.validate(@undeploy_vapp_params.doc)
VcloudDirector::Generators::Helpers.validate(@element.doc)
end
end