requires "spec fixes and updates" patch to be applied first
---
 src/app/models/provider.rb                         |    1 -
 .../hardware_profiles_controller_spec.rb           |   19 +++++++++++++++
 .../controllers/portal_pool_controller_spec.rb     |   10 ++++++++
 src/spec/controllers/provider_controller_spec.rb   |   12 +++++++++-
 src/spec/factories/hardware_profile.rb             |   24 ++++++++++++++++++++
 src/spec/factories/portal_pool.rb                  |    1 +
 src/spec/factories/provider.rb                     |    3 +-
 7 files changed, 67 insertions(+), 3 deletions(-)
 create mode 100644 src/spec/controllers/hardware_profiles_controller_spec.rb
 create mode 100644 src/spec/factories/hardware_profile.rb

diff --git a/src/app/models/provider.rb b/src/app/models/provider.rb
index 1170488..70051e5 100644
--- a/src/app/models/provider.rb
+++ b/src/app/models/provider.rb
@@ -79,7 +79,6 @@ class Provider < ActiveRecord::Base
   def validate
     if !nil_or_empty(url)
       errors.add("url", "must be a valid provider url") unless valid_framework?
-      puts errors.inspect
     end
   end
 
diff --git a/src/spec/controllers/hardware_profiles_controller_spec.rb 
b/src/spec/controllers/hardware_profiles_controller_spec.rb
new file mode 100644
index 0000000..e4b837d
--- /dev/null
+++ b/src/spec/controllers/hardware_profiles_controller_spec.rb
@@ -0,0 +1,19 @@
+require 'spec_helper'
+
+describe HardwareProfilesController do
+
+  before(:each) do
+    @admin_permission = Factory :admin_permission
+    @admin = @admin_permission.user
+    activate_authlogic
+  end
+
+  it "should provide ui to view all hardware profiles" do
+     UserSession.create(@admin)
+     get :index
+     response.should be_success
+     assigns[:hardware_profiles].size.should == HardwareProfile.count
+     response.should render_template("index")
+  end
+
+end
diff --git a/src/spec/controllers/portal_pool_controller_spec.rb 
b/src/spec/controllers/portal_pool_controller_spec.rb
index bc01a31..512127d 100644
--- a/src/spec/controllers/portal_pool_controller_spec.rb
+++ b/src/spec/controllers/portal_pool_controller_spec.rb
@@ -29,5 +29,15 @@ describe PortalPoolController do
      response.should redirect_to("http://test.host/portal_pool/show/#{id}";)
   end
 
+  it "should provide ui to view hardware profiles" do
+     UserSession.create(@admin)
+     pool = Factory :tpool
+
+     get :hardware_profiles, :id => pool.id
+     response.should be_success
+     assigns[:hardware_profiles].size.should == pool.hardware_profiles.size
+     response.should render_template("hardware_profiles")
+  end
+
 
 end
diff --git a/src/spec/controllers/provider_controller_spec.rb 
b/src/spec/controllers/provider_controller_spec.rb
index 9015a00..ed0036f 100644
--- a/src/spec/controllers/provider_controller_spec.rb
+++ b/src/spec/controllers/provider_controller_spec.rb
@@ -9,7 +9,6 @@ describe ProviderController do
     activate_authlogic
   end
 
-
   it "should provide ui to view accounts" do
      UserSession.create(@admin)
      get :accounts, :id => @provider.id
@@ -32,4 +31,15 @@ describe ProviderController do
      response.should_not be_success
   end
 
+  it "should provide ui to view hardware profiles" do
+     UserSession.create(@admin)
+     provider = @admin_permission.permission_object
+
+     get :hardware_profiles, :id => provider.id
+     response.should be_success
+     assigns[:hardware_profiles].size.should == provider.hardware_profiles.size
+     response.should render_template("hardware_profiles")
+  end
+
+
 end
diff --git a/src/spec/factories/hardware_profile.rb 
b/src/spec/factories/hardware_profile.rb
new file mode 100644
index 0000000..752adac
--- /dev/null
+++ b/src/spec/factories/hardware_profile.rb
@@ -0,0 +1,24 @@
+Factory.define :hardware_profile do |p|
+  p.sequence(:name) { |n| "hardware_profile#{n}" }
+end
+
+Factory.define :mock_hwp1, :parent => :hardware_profile do |p|
+  p.memory 1024
+  p.storage 100
+  p.external_key 'mock_hwp1_key'
+  p.architecture 'i686'
+end
+
+Factory.define :mock_hwp2, :parent => :hardware_profile do |p|
+  p.memory 2048
+  p.storage 400
+  p.external_key 'mock_hwp2_key'
+  p.architecture 'x86_64'
+end
+
+Factory.define :pool_hwp1, :parent => :hardware_profile do |p|
+  p.memory 2048
+  p.storage 400
+  p.external_key 'pool_hwp1_key'
+  p.architecture 'x86_64'
+end
diff --git a/src/spec/factories/portal_pool.rb 
b/src/spec/factories/portal_pool.rb
index 0b20647..d0a8e52 100644
--- a/src/spec/factories/portal_pool.rb
+++ b/src/spec/factories/portal_pool.rb
@@ -5,4 +5,5 @@ end
 
 Factory.define :tpool, :parent => :portal_pool do |p|
   p.name 'tpool'
+  p.hardware_profiles { |hp| [hp.association(:pool_hwp1)] }
 end
diff --git a/src/spec/factories/provider.rb b/src/spec/factories/provider.rb
index 921d54b..f349be3 100644
--- a/src/spec/factories/provider.rb
+++ b/src/spec/factories/provider.rb
@@ -1,8 +1,9 @@
 Factory.define :provider do |p|
+  p.sequence(:name) { |n| "provider#{n}" }
 end
 
 Factory.define :mock_provider, :parent => :provider do |p|
-  p.name 'mock1'
   p.cloud_type 'mock'
   p.url 'http://localhost:3001/api'
+  p.hardware_profiles { |hp| [hp.association(:mock_hwp1), 
hp.association(:mock_hwp2)] }
 end
-- 
1.6.2.5

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

Reply via email to