mirror of
				https://github.com/fog/fog.git
				synced 2022-11-09 13:51:43 -05:00 
			
		
		
		
	missing: - new model tests - templates model - clone this patch includes a lot of changes and cleanups, exposing more fog collections/models and rewriting most requests it includes valuable feedback from endzyme <nick.huanca@gmail.com>
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
Shindo.tests('Fog::Compute[:vsphere]', ['vsphere']) do
 | 
						|
 | 
						|
  compute = Fog::Compute[:vsphere]
 | 
						|
 | 
						|
  tests("| convert_vm_mob_ref_to_attr_hash") do
 | 
						|
    # Mock the RbVmomi::VIM::ManagedObject class
 | 
						|
    class MockManagedObject
 | 
						|
 | 
						|
      attr_reader :parent, :_ref
 | 
						|
 | 
						|
      def initialize
 | 
						|
        @parent = @_ref = 'vm-123'
 | 
						|
      end
 | 
						|
 | 
						|
      def collect! *pathSet
 | 
						|
        { '_ref' => 'vm-123', 'name' => 'fakevm' }
 | 
						|
      end
 | 
						|
    end
 | 
						|
 | 
						|
    fake_vm_mob_ref = MockManagedObject.new
 | 
						|
 | 
						|
    tests("When converting an incomplete vm object") do
 | 
						|
      test("it should return a Hash") do
 | 
						|
        compute.send(:convert_vm_mob_ref_to_attr_hash, fake_vm_mob_ref).kind_of? Hash
 | 
						|
      end
 | 
						|
      tests("The converted Hash should") do
 | 
						|
        attr_hash = compute.send(:convert_vm_mob_ref_to_attr_hash, fake_vm_mob_ref)
 | 
						|
        test("have a name") { attr_hash['name'] == 'fakevm' }
 | 
						|
        test("have a mo_ref") {attr_hash['mo_ref'] == 'vm-123' }
 | 
						|
        test("have an id") { attr_hash['id'] == 'vm-123' }
 | 
						|
        test("not have a instance_uuid") { attr_hash['instance_uuid'].nil? }
 | 
						|
      end
 | 
						|
    end
 | 
						|
 | 
						|
    tests("When passed a nil object") do
 | 
						|
      attr_hash = compute.send :convert_vm_mob_ref_to_attr_hash, nil
 | 
						|
      test("it should return a nil object") do
 | 
						|
        attr_hash.nil?
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  tests("Compute attributes") do
 | 
						|
    %w{ vsphere_is_vcenter vsphere_rev vsphere_username vsphere_server }.each do |attr|
 | 
						|
      test("it should respond to #{attr}") { compute.respond_to? attr }
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  tests("Compute collections") do
 | 
						|
    %w{ servers }.each do |collection|
 | 
						|
      test("it should respond to #{collection}") { compute.respond_to? collection }
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 | 
						|
 |