From: Martyn Taylor <[email protected]>

---
 src/app/models/provider.rb       |    3 +++
 src/spec/models/provider_spec.rb |    5 ++++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/app/models/provider.rb b/src/app/models/provider.rb
index 6ec3cc3..c203d1f 100644
--- a/src/app/models/provider.rb
+++ b/src/app/models/provider.rb
@@ -34,6 +34,9 @@ class Provider < ActiveRecord::Base
   validates_presence_of :cloud_type
   validates_presence_of :url
 
+  validates_format_of :name, :with => /^[\w -]*$/n, :message => "must only 
contain: numbers, letters, spaces, '_' and '-'"
+  validates_length_of :name,  :maximum => 255
+
   has_many :permissions, :as => :permission_object, :dependent => :destroy,
            :include => [:role],
            :order => "permissions.id ASC"
diff --git a/src/spec/models/provider_spec.rb b/src/spec/models/provider_spec.rb
index fcec747..1b86f92 100644
--- a/src/spec/models/provider_spec.rb
+++ b/src/spec/models/provider_spec.rb
@@ -17,7 +17,10 @@ describe Provider do
     end
 
     it "should require a valid name" do
-      [nil, ""].each do |invalid_value|
+      long_name = ""
+      256.times { long_name << 'a' }
+
+      [nil, "", "£*(&", long_name].each do |invalid_value|
         @provider.name = invalid_value
         @provider.should_not be_valid
       end
-- 
1.7.2.3

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to