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