Sha256: f3f09b747888917b43e77c3ce907956405e97c01e2f2ce378e20913da7ed39b7

Contents?: true

Size: 1.94 KB

Versions: 1

Compression:

Stored size: 1.94 KB

Contents

require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))

Shindo.tests("Compute::VcloudDirector | vapps", ['vclouddirector', 'all']) do
  pending if Fog.mocking?

  # unless there is atleast one vapp we cannot run these tests
  pending if vdc.vapps.empty?

  vapps = vdc.vapps
  vapp = vapps.first

  tests("Compute::VcloudDirector | vapp") do
    tests("#id").returns(String){ vapp.id.class }
    tests("#name").returns(String){ vapp.name.class }
    tests("#href").returns(String){ vapp.href.class }
    tests("#type").returns("application/vnd.vmware.vcloud.vApp+xml"){ vapp.type }
  end

  tests("Compute::VcloudDirector | vapp", ['lazy load attrs']) do
    vapp.lazy_load_attrs.each do |lazy_attr|
      tests("##{lazy_attr} is not loaded yet").returns(NonLoaded) { vapp.attributes[lazy_attr] }
    end
  end

  tests("Compute::VcloudDirector | vapp", ['load on demand']) do
    tests("#description is not loaded yet").returns(NonLoaded) { vapp.attributes[:description] }
    tests("#description is loaded on demand").returns(String) { vapp.description.class }
    tests("#description is now loaded").returns(true) { vapp.attributes[:description] != NonLoaded }
  end

  tests("Compute::VcloudDirector | vapp", ['lazy load attrs']) do
    vapp.lazy_load_attrs.each do |lazy_attr|
      tests("##{lazy_attr} is now loaded").returns(true) { vapp.attributes[lazy_attr] != NonLoaded }
    end
  end

  tests("Compute::VcloudDirector | vapp", ['get']) do
    tests("#get_by_name").returns(vapp.name) { vapps.get_by_name(vapp.name).name }
    tests("#get").returns(vapp.id) { vapps.get(vapp.id).id }
  end

  tests("Compute::VcloudDirector | vapp", ['custom_fields']) do
    tests("#set_custom_field").returns('2'){ vapp.custom_fields[:custom_field] = '2' }

    tests("#get_custom_field_by_name").returns('2') { vapp.custom_fields[:custom_field].value }
    tests("#delete_custom_field").returns([]){ vapp.custom_fields.delete(:custom_field); vapp.custom_fields }
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-1.23.0 tests/vcloud_director/models/compute/vapp_tests.rb