spec/beaker/hypervisor/vcloud_pooled_spec.rb in beaker-1.2.0 vs spec/beaker/hypervisor/vcloud_pooled_spec.rb in beaker-1.3.0

- old
+ new

@@ -13,9 +13,35 @@ arg end Socket.stub( :getaddrinfo ).and_return( true ) end + describe '#get_template_url' do + + it 'works returns the valid url when passed valid pooling_api and template name' do + vcloud = Beaker::VcloudPooled.new( make_hosts, make_opts ) + uri = vcloud.get_template_url("http://pooling.com", "template") + expect( uri ).to be === "http://pooling.com/vm/template" + end + + it 'adds a missing scheme to a given URL' do + vcloud = Beaker::VcloudPooled.new( make_hosts, make_opts ) + uri = vcloud.get_template_url("pooling.com", "template") + expect( URI.parse(uri).scheme ).to_not be === nil + end + + it 'raises an error on an invalid pooling api url' do + vcloud = Beaker::VcloudPooled.new( make_hosts, make_opts ) + expect{ vcloud.get_template_url("pooling### ", "template")}.to raise_error ArgumentError + end + + it 'raises an error on an invalide template name' do + vcloud = Beaker::VcloudPooled.new( make_hosts, make_opts ) + expect{ vcloud.get_template_url("pooling.com", "t!e&m*p(l\\a/t e")}.to raise_error ArgumentError + end + + end + describe "#provision" do it 'provisions hosts from the pool' do vcloud = Beaker::VcloudPooled.new( make_hosts, make_opts )