From cee42dce00df7b0a91af8c9b84663fa7ebbb5bc6 Mon Sep 17 00:00:00 2001 From: Dan Peterson Date: Fri, 15 Oct 2010 15:04:25 -0300 Subject: [PATCH] set status when instantiating a vapp template, return it from the mock data in get vapp --- lib/fog/vcloud.rb | 3 ++- lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb | 2 +- .../terremark/ecloud/requests/instantiate_vapp_template.rb | 2 +- spec/vcloud/terremark/ecloud/requests/get_vapp_spec.rb | 4 ++-- .../ecloud/requests/instantiate_vapp_template_spec.rb | 1 + 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/fog/vcloud.rb b/lib/fog/vcloud.rb index 838d7ac19..ea9f1a8ac 100644 --- a/lib/fog/vcloud.rb +++ b/lib/fog/vcloud.rb @@ -333,7 +333,8 @@ module Fog :ip => "1.2.3.3", :memory => 1024, :cpus => 1, - :disks => [{ :size => 25 }] + :disks => [{ :size => 25 }], + :status => 2 }, { :href => "#{base_url}/vap/42", :name => "Broom 2", diff --git a/lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb b/lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb index 6080d0928..f2d2cdc13 100644 --- a/lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb +++ b/lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb @@ -30,7 +30,7 @@ module Fog :href => vapp[:href], :type => "application/vnd.vmware.vcloud.vApp+xml", :name => vapp[:name], - :status => 2 + :status => vapp[:status] || 4 )) do builder.Link(:rel => "up", :href => vdc[:href], :type => "application/vnd.vmware.vcloud.vdc+xml") diff --git a/lib/fog/vcloud/terremark/ecloud/requests/instantiate_vapp_template.rb b/lib/fog/vcloud/terremark/ecloud/requests/instantiate_vapp_template.rb index 99da101ee..df0dd4eba 100644 --- a/lib/fog/vcloud/terremark/ecloud/requests/instantiate_vapp_template.rb +++ b/lib/fog/vcloud/terremark/ecloud/requests/instantiate_vapp_template.rb @@ -109,7 +109,7 @@ module Fog if vdc = vdc_from_uri(options[:vdc_uri]) vapp_id = rand(1000) vapp_uri = Fog::Vcloud::Terremark::Ecloud::Mock.vapp_href(:id => vapp_id) - options.update(:id => vapp_id.to_s, :href => vapp_uri, :disks => catalog_item[:disks], :ip => random_ip_in_network(options[:network_uri])) + options.update(:id => vapp_id.to_s, :href => vapp_uri, :disks => catalog_item[:disks], :ip => random_ip_in_network(options[:network_uri]), :status => 2) vdc[:vms] << options xml = generate_instantiate_vapp_template_response(vdc[:href], options[:name], vapp_uri) diff --git a/spec/vcloud/terremark/ecloud/requests/get_vapp_spec.rb b/spec/vcloud/terremark/ecloud/requests/get_vapp_spec.rb index 9f87cfa94..cafdb78b0 100644 --- a/spec/vcloud/terremark/ecloud/requests/get_vapp_spec.rb +++ b/spec/vcloud/terremark/ecloud/requests/get_vapp_spec.rb @@ -26,8 +26,8 @@ if Fog.mocking? its(:href) { should == vm_data[:href] } its(:name) { should == vm_data[:name] } - its(:status) { should == "2" } - its(:size) { (25 * 1024).to_s } + its(:status) { should == vm_data[:status].to_s } + its(:size) { (vm_data[:disks].inject(0) {|s, d| s += d[:size] } * 1024).to_s } describe "Link" do subject { @vapp.body[:Link] } diff --git a/spec/vcloud/terremark/ecloud/requests/instantiate_vapp_template_spec.rb b/spec/vcloud/terremark/ecloud/requests/instantiate_vapp_template_spec.rb index 5529f852c..3a196612b 100644 --- a/spec/vcloud/terremark/ecloud/requests/instantiate_vapp_template_spec.rb +++ b/spec/vcloud/terremark/ecloud/requests/instantiate_vapp_template_spec.rb @@ -41,6 +41,7 @@ if Fog.mocking? it { should include :href } it { should include :disks } it { should include :ip } + its(:status) { should == 2 } its(:disks) { should == catalog_item_data[:disks] }