requires "spec fixes and updates" patch to be applied first
---
 .../controllers/portal_pool_controller_spec.rb     |    9 +++++++++
 src/spec/controllers/provider_controller_spec.rb   |   10 ++++++++++
 src/spec/controllers/realms_controller_spec.rb     |   19 +++++++++++++++++++
 src/spec/factories/provider.rb                     |    8 ++++++++
 src/spec/factories/realm.rb                        |   13 +++++++++++++
 src/spec/models/portal_pool_spec.rb                |   18 ++++++++++++++++++
 6 files changed, 77 insertions(+), 0 deletions(-)
 create mode 100644 src/spec/controllers/realms_controller_spec.rb
 create mode 100644 src/spec/factories/realm.rb
 create mode 100644 src/spec/models/portal_pool_spec.rb

diff --git a/src/spec/controllers/portal_pool_controller_spec.rb 
b/src/spec/controllers/portal_pool_controller_spec.rb
index bc01a31..c19470f 100644
--- a/src/spec/controllers/portal_pool_controller_spec.rb
+++ b/src/spec/controllers/portal_pool_controller_spec.rb
@@ -29,5 +29,14 @@ describe PortalPoolController do
      response.should redirect_to("http://test.host/portal_pool/show/#{id}";)
   end
 
+  it "should provide ui to view realms" do
+     UserSession.create(@admin)
+     pool = Factory :tpool
+
+     get :realms, :id => pool.id
+     response.should be_success
+     assigns[:realms].size.should == pool.providers.collect { |pr| pr.realms 
}.flatten.size
+     response.should render_template("realms")
+  end
 
 end
diff --git a/src/spec/controllers/provider_controller_spec.rb 
b/src/spec/controllers/provider_controller_spec.rb
index 9015a00..6cfb193 100644
--- a/src/spec/controllers/provider_controller_spec.rb
+++ b/src/spec/controllers/provider_controller_spec.rb
@@ -32,4 +32,14 @@ describe ProviderController do
      response.should_not be_success
   end
 
+  it "should provide ui to view realms" do
+     UserSession.create(@admin)
+     provider = @admin_permission.permission_object
+
+     get :realms, :id => provider.id
+     response.should be_success
+     assigns[:realms].size.should == provider.realms.size
+     response.should render_template("realms")
+  end
+
 end
diff --git a/src/spec/controllers/realms_controller_spec.rb 
b/src/spec/controllers/realms_controller_spec.rb
new file mode 100644
index 0000000..8cd9e44
--- /dev/null
+++ b/src/spec/controllers/realms_controller_spec.rb
@@ -0,0 +1,19 @@
+require 'spec_helper'
+
+describe RealmsController do
+
+  before(:each) do
+    @admin_permission = Factory :admin_permission
+    @admin = @admin_permission.user
+    activate_authlogic
+  end
+
+  it "should provide ui to view all realms" do
+     UserSession.create(@admin)
+     get :index
+     response.should be_success
+     assigns[:realms].size.should == Realm.count
+     response.should render_template("index")
+  end
+
+end
diff --git a/src/spec/factories/provider.rb b/src/spec/factories/provider.rb
index 921d54b..7c25677 100644
--- a/src/spec/factories/provider.rb
+++ b/src/spec/factories/provider.rb
@@ -5,4 +5,12 @@ Factory.define :mock_provider, :parent => :provider do |p|
   p.name 'mock1'
   p.cloud_type 'mock'
   p.url 'http://localhost:3001/api'
+  p.after_create { |p| p.realms << Factory(:realm1, :provider => p) << 
Factory(:realm2, :provider => p) }
+end
+
+Factory.define :mock_provider2, :parent => :provider do |p|
+  p.name 'mock2'
+  p.cloud_type 'mock'
+  p.url 'http://localhost:3001/api'
+  p.after_create { |p| p.realms << Factory(:realm3, :provider => p) }
 end
diff --git a/src/spec/factories/realm.rb b/src/spec/factories/realm.rb
new file mode 100644
index 0000000..93a6516
--- /dev/null
+++ b/src/spec/factories/realm.rb
@@ -0,0 +1,13 @@
+Factory.define :realm do |r|
+  r.sequence(:name) { |n| "realm#{n}" }
+  r.sequence(:external_key) { |n| "key#{n}" }
+end
+
+Factory.define :realm1, :parent => :realm do |r|
+end
+
+Factory.define :realm2, :parent => :realm do |r|
+end
+
+Factory.define :realm3, :parent => :realm do |r|
+end
diff --git a/src/spec/models/portal_pool_spec.rb 
b/src/spec/models/portal_pool_spec.rb
new file mode 100644
index 0000000..104064b
--- /dev/null
+++ b/src/spec/models/portal_pool_spec.rb
@@ -0,0 +1,18 @@
+require 'spec_helper'
+
+describe PortalPool do
+  before(:each) do
+  end
+
+  it "should return all associated providers" do
+    provider1, provider2 = Factory(:mock_provider), Factory(:mock_provider2)
+
+    pool = PortalPool.new
+    pool.cloud_accounts << CloudAccount.new(:provider => provider1)
+    pool.cloud_accounts << CloudAccount.new(:provider => provider2)
+
+    providers = pool.providers
+    providers.include?(provider1).should be_true
+    providers.include?(provider2).should be_true
+  end
+end
-- 
1.6.2.5

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

Reply via email to