You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by lu...@apache.org on 2012/11/08 18:13:51 UTC

[15/15] git commit: CIMI Tests: factor collection tests into test_helper and use w/ machine_colln

CIMI Tests: factor collection tests into test_helper and use w/ machine_colln

These tests only perform basic collection sanity checks, and are therefore
applicable for most collections


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/90200d32
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/90200d32
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/90200d32

Branch: refs/heads/master
Commit: 90200d320127be9e690580b5f821eafda0adaff6
Parents: bd498ee
Author: David Lutterkort <lu...@redhat.com>
Authored: Tue Nov 6 16:45:36 2012 -0800
Committer: David Lutterkort <lu...@redhat.com>
Committed: Thu Nov 8 09:11:01 2012 -0800

----------------------------------------------------------------------
 tests/cimi/machine_collection_test.rb |    4 +++-
 tests/cimi/network_collection_test.rb |   15 +--------------
 tests/cimi/test_helper.rb             |   21 +++++++++++++++++++++
 3 files changed, 25 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/90200d32/tests/cimi/machine_collection_test.rb
----------------------------------------------------------------------
diff --git a/tests/cimi/machine_collection_test.rb b/tests/cimi/machine_collection_test.rb
index c390b5b..a5ad3f4 100644
--- a/tests/cimi/machine_collection_test.rb
+++ b/tests/cimi/machine_collection_test.rb
@@ -24,9 +24,11 @@ class MachineCollectionBehavior < CIMI::Test::Spec
 
   model :machines, CIMI::Model::MachineCollection do |fmt|
     mcoll_uri = cep(:accept => :json).json["machines"]["href"]
-    get(mcoll_uri, :accept => :json)
+    get(mcoll_uri, :accept => fmt)
   end
 
+  check_collection :machines, CIMI::Model::Machine
+
   it "should have the correct resourceURI", :only => :json do
     machines.wont_be_nil      # Make sure we talk to the server
     last_response.json["resourceURI"].must_equal RESOURCE_URI

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/90200d32/tests/cimi/network_collection_test.rb
----------------------------------------------------------------------
diff --git a/tests/cimi/network_collection_test.rb b/tests/cimi/network_collection_test.rb
index 3e8872b..cd01583 100644
--- a/tests/cimi/network_collection_test.rb
+++ b/tests/cimi/network_collection_test.rb
@@ -27,18 +27,5 @@ class NetworkCollectionBehavior < CIMI::Test::Spec
     get(coll_uri, :accept => fmt)
   end
 
-  it "must have the \"id\" and \"count\" attributes" do
-    networks.count.wont_be_nil
-    networks.count.to_i.must_equal networks.entries.size
-    networks.id.must_be_uri
-  end
-
-  it "must have a valid id and name for each member" do
-    networks.entries.each do |entry|
-      entry.id.must_be_uri
-      member = fetch(entry.id, CIMI::Model::Network)
-      member.id.must_equal entry.id
-      member.name.must_equal entry.name
-    end
-  end
+  check_collection :networks, CIMI::Model::Network
 end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/90200d32/tests/cimi/test_helper.rb
----------------------------------------------------------------------
diff --git a/tests/cimi/test_helper.rb b/tests/cimi/test_helper.rb
index e264af3..303cce0 100644
--- a/tests/cimi/test_helper.rb
+++ b/tests/cimi/test_helper.rb
@@ -122,6 +122,27 @@ module CIMI::Test::Methods
         end
       end
     end
+
+    # Perform basic collection checks; +model_name+ is the name of the
+    # method returning the collection model; +member_class+ is the class
+    # for the model of individual entries
+    def check_collection(model_name, member_class)
+      it "must have the \"id\" and \"count\" attributes" do
+        coll = self.send(model_name)
+        coll.count.wont_be_nil
+        coll.count.to_i.must_equal coll.entries.size
+        coll.id.must_be_uri
+      end
+
+      it "must have a valid id and name for each member" do
+        self.send(model_name).entries.each do |entry|
+          entry.id.must_be_uri
+          member = fetch(entry.id, member_class)
+          member.id.must_equal entry.id
+          member.name.must_equal entry.name
+        end
+      end
+    end
   end
 
   def self.included(base)