From: Tomas Sedovic <[email protected]>
---
src/spec/models/provider_spec.rb | 109 ++++++++++++++++++++------------------
1 files changed, 57 insertions(+), 52 deletions(-)
diff --git a/src/spec/models/provider_spec.rb b/src/spec/models/provider_spec.rb
index 3af6130..cf37ec1 100644
--- a/src/spec/models/provider_spec.rb
+++ b/src/spec/models/provider_spec.rb
@@ -1,73 +1,78 @@
require 'spec_helper'
describe Provider do
- before(:each) do
- @provider = Factory.create(:mock_provider)
- @client = mock('DeltaCloud', :null_object => true)
- @provider.stub!(:connect).and_return(@client)
- end
+ context "(using stubbed out connect method)" do
+ before(:each) do
+ @client = mock('DeltaCloud', :null_object => true)
+ @provider = Factory.build(:mock_provider)
+ @provider.stub!(:connect).and_return(@client)
+ end
- it "should return a client object" do
- @provider.send(:valid_framework?).should be_true
- end
+ it "should return a client object" do
+ @provider.send(:valid_framework?).should be_true
+ end
- it "should validate mock provider" do
- @provider.should be_valid
- end
+ it "should validate mock provider" do
+ @provider.should be_valid
+ end
- it "should require a valid name" do
- [nil, ""].each do |invalid_value|
- @provider.name = invalid_value
- @provider.should_not be_valid
+ it "should require a valid name" do
+ [nil, ""].each do |invalid_value|
+ @provider.name = invalid_value
+ @provider.should_not be_valid
+ end
end
- end
- it "should require a valid cloud_type" do
- [nil, ""].each do |invalid_value|
- @provider.cloud_type = invalid_value
- @provider.should_not be_valid
+ it "should require a valid cloud_type" do
+ [nil, ""].each do |invalid_value|
+ @provider.cloud_type = invalid_value
+ @provider.should_not be_valid
+ end
end
- end
- it "should require a valid url" do
- [nil, ""].each do |invalid_value|
- @provider.url = invalid_value
- @provider.should_not be_valid
+ it "should require a valid url" do
+ [nil, ""].each do |invalid_value|
+ @provider.url = invalid_value
+ @provider.should_not be_valid
+ end
end
- end
- it "should require unique name" do
- provider1 = Factory.create :mock_provider
- provider2 = Factory.create :mock_provider
- provider1.should be_valid
- provider2.should be_valid
+ it "should be able to connect to the specified framework" do
+ @provider.should be_valid
+ @provider.connect.should_not be_nil
- provider2.name = provider1.name
- provider2.should_not be_valid
- end
+ @provider.url = "http://invalid.provider/url"
+ @provider.stub(:connect).and_return(nil)
+ deltacloud = @provider.connect
+ @provider.should have(1).error_on(:url)
+ @provider.errors.on(:url).should eql("must be a valid provider url")
+ @provider.should_not be_valid
+ deltacloud.should be_nil
+ end
+
+ it "should require unique name" do
+ @provider.save!
+ provider2 = Factory.build :mock_provider
+ provider2.stub!(:connect).and_return(@client)
+ provider2.save!
+ provider2.should be_valid
- it "should be able to connect to the specified framework" do
- @provider.should be_valid
- @provider.connect.should_not be_nil
+ provider2.name = @provider.name
+ provider2.should_not be_valid
+ end
- @provider.url = "http://invalid.provider/url"
- @provider.stub(:connect).and_return(nil)
- deltacloud = @provider.connect
- @provider.should have(1).error_on(:url)
- @provider.errors.on(:url).should eql("must be a valid provider url")
- @provider.should_not be_valid
- deltacloud.should be_nil
end
- it "should log errors when connecting to invalid url" do
- @logger = mock('Logger', :null_object => true)
- @provider = Factory.create(:mock_provider)
- @provider.stub!(:logger).and_return(@logger)
+ context "(using original connect method)" do
+ it "should log errors when connecting to invalid url" do
+ @logger = mock('Logger', :null_object => true)
+ @provider = Factory.build(:mock_provider)
+ @provider.stub!(:logger).and_return(@logger)
- @provider.should be_valid
- @provider.logger.should_receive(:error).twice
- @provider.url = "http://invalid.provider/url"
- @provider.connect.should be_nil
+ @provider.logger.should_receive(:error).twice
+ @provider.url = "http://invalid.provider/url"
+ @provider.connect.should be_nil
+ end
end
end
--
1.6.6.1
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel