From: Martyn Taylor mtaylor@redhat.com
--- 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