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:
		
							parent
							
								
									788fef9d15
								
							
						
					
					
						commit
						2b4ea80024
					
				
					 19 changed files with 438 additions and 65 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
							
								
								
									
										33
									
								
								tests/vcloud_director/generators/compute/entity_tests.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								tests/vcloud_director/generators/compute/entity_tests.rb
									
										
									
									
									
										Normal 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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
							
								
								
									
										16
									
								
								tests/vcloud_director/generators/compute/media_tests.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								tests/vcloud_director/generators/compute/media_tests.rb
									
										
									
									
									
										Normal 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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue