This patch looks to fix BZ#651353 so should be tested with PostGres :)

----- Original Message -----
From: [email protected]
To: [email protected]
Cc: "Martyn Taylor" <[email protected]>
Sent: Thursday, November 18, 2010 4:14:54 PM GMT +00:00 GMT Britain, Ireland, 
Portugal
Subject: [PATCH aeolus] BZ#654663/BZ#651353 Added Validation to Name field on 
Provider Model

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