From: Tomas Sedovic <[email protected]>
---
src/spec/models/provider_spec.rb | 57 ++++++++++++++++++++++++++++++++++---
1 files changed, 52 insertions(+), 5 deletions(-)
diff --git a/src/spec/models/provider_spec.rb b/src/spec/models/provider_spec.rb
index c57eb7d..daca748 100644
--- a/src/spec/models/provider_spec.rb
+++ b/src/spec/models/provider_spec.rb
@@ -2,12 +2,59 @@ require 'spec_helper'
describe Provider do
before(:each) do
- @valid_attributes = {
- }
end
- it "should create a new instance given valid attributes" do
- # pending
- # Provider.create!(@valid_attributes)
+ it "should validate mock provider" do
+ provider = Factory(:mock_provider)
+ provider.should be_valid
end
+
+ it "should require a valid name" do
+ provider = Factory.create(:mock_provider)
+ [nil, ""].each do |invalid_value|
+ provider.name = invalid_value
+ provider.should_not be_valid
+ end
+ end
+
+ it "should require a valid cloud_type" do
+ provider = Factory.create(:mock_provider)
+ [nil, ""].each do |invalid_value|
+ provider.cloud_type = invalid_value
+ provider.should_not be_valid
+ end
+ end
+
+ it "should require a valid url" do
+ provider = Factory.create(:mock_provider)
+ [nil, ""].each do |invalid_value|
+ provider.url = invalid_value
+ provider.should_not be_valid
+ end
+ end
+
+ it "should be able to connect to the specified framework" do
+ provider = Factory.create(:mock_provider)
+ deltacloud = provider.connect
+ provider.should be_valid
+ deltacloud.should_not be_nil
+
+ provider.url = "http://totally.not/there"
+ deltacloud = provider.connect
+ provider.should have(1).error_on(:url)
+ provider.should_not be_valid
+ deltacloud.should be_nil
+ 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
+
+ provider2.name = provider1.name
+ provider2.should_not be_valid
+ end
+
end
--
1.6.6.1
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel