From: David Lutterkort <[email protected]>

---
 server/lib/cimi/models/machine_configuration.rb |    2 +-
 server/lib/cimi/models/network_configuration.rb |    2 +-
 server/lib/cimi/models/volume_configuration.rb  |    2 +-
 server/lib/cimi/models/vsp_configuration.rb     |    2 +-
 tests/cimi/cep_test.rb                          |   24 +++++++++++++++++++++++
 5 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/server/lib/cimi/models/machine_configuration.rb 
b/server/lib/cimi/models/machine_configuration.rb
index 41a140c..36ebcf7 100644
--- a/server/lib/cimi/models/machine_configuration.rb
+++ b/server/lib/cimi/models/machine_configuration.rb
@@ -15,7 +15,7 @@
 
 class CIMI::Model::MachineConfiguration < CIMI::Model::Base
 
-  acts_as_root_entity
+  acts_as_root_entity :as => "machineConfigs"
 
   text :memory
   text :cpu
diff --git a/server/lib/cimi/models/network_configuration.rb 
b/server/lib/cimi/models/network_configuration.rb
index 76a2b36..4315f45 100644
--- a/server/lib/cimi/models/network_configuration.rb
+++ b/server/lib/cimi/models/network_configuration.rb
@@ -15,7 +15,7 @@
 
 class CIMI::Model::NetworkConfiguration < CIMI::Model::Base
 
-  acts_as_root_entity
+  acts_as_root_entity :as => "networkConfigs"
 
   text :access
 
diff --git a/server/lib/cimi/models/volume_configuration.rb 
b/server/lib/cimi/models/volume_configuration.rb
index 55f3d3a..9721a3c 100644
--- a/server/lib/cimi/models/volume_configuration.rb
+++ b/server/lib/cimi/models/volume_configuration.rb
@@ -15,7 +15,7 @@
 
 class CIMI::Model::VolumeConfiguration < CIMI::Model::Base
 
-  acts_as_root_entity
+  acts_as_root_entity :as => "volumeConfigs"
 
   text :format
   struct :capacity do
diff --git a/server/lib/cimi/models/vsp_configuration.rb 
b/server/lib/cimi/models/vsp_configuration.rb
index 270ea1d..127fbc8 100644
--- a/server/lib/cimi/models/vsp_configuration.rb
+++ b/server/lib/cimi/models/vsp_configuration.rb
@@ -15,7 +15,7 @@
 
 class CIMI::Model::VSPConfiguration < CIMI::Model::Base
 
-  acts_as_root_entity
+  acts_as_root_entity :as => "VSPConfigs"
 
   text :bandwidth_reservation
 
diff --git a/tests/cimi/cep_test.rb b/tests/cimi/cep_test.rb
index fcce068..56a41fd 100644
--- a/tests/cimi/cep_test.rb
+++ b/tests/cimi/cep_test.rb
@@ -19,6 +19,17 @@ $:.unshift File.join(File.dirname(__FILE__))
 require "test_helper.rb"
 
 describe "CIMI Entry Point Behavior" do
+  ROOTS = [ "resourceMetadata", "systems", "systemTemplates",
+            "machines" , "machineTemplates", "machineConfigs",
+            "machineImages", "credentials", "credentialTemplates",
+            "volumes", "volumeTemplates", "volumeConfigs", "volumeImages",
+            "networks", "networkTemplates", "networkConfigs", "networkPorts",
+            "networkPortTemplates", "networkPortConfigs",
+            "addresses", "addressTemplates", "forwardingGroups",
+            "forwardingGroupTemplates",
+            "jobs", "meters", "meterTemplates", "meterConfigs",
+            "eventLogs", "eventLogTemplates" ]
+
   # We'd like to call this :cep, but there's already a method by that name
   model :subject, CIMI::Model::CloudEntryPoint, :cache => true do |fmt|
     cep(:accept => fmt)
@@ -35,4 +46,17 @@ describe "CIMI Entry Point Behavior" do
   it "should have a name" do
     subject.name.wont_be_empty
   end
+
+  it "should have root collections" do
+    ROOTS.each do |root|
+      r = root.underscore.to_sym
+      if subject.respond_to?(r)
+        coll = subject.send(r)
+        coll.must_respond_to :href, "#{root} collection"
+        unless coll.href.nil?
+          coll.href.must_be_uri "#{root} collection"
+        end
+      end
+    end
+  end
 end
-- 
1.7.7.6

Reply via email to