deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mar...@redhat.com
Subject [PATCH 3/3] CIMI: separates the CIMI mocking methods to a new file for cleanness
Date Thu, 15 Mar 2012 15:59:58 GMT
From: marios <marios@redhat.com>


Signed-off-by: marios <marios@redhat.com>
---
 server/lib/deltacloud/drivers/mock/mock_driver.rb  |   74 +--------------
 .../drivers/mock/mock_driver_cimi_methods.rb       |  101 ++++++++++++++++++++
 2 files changed, 102 insertions(+), 73 deletions(-)
 create mode 100644 server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb

diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb
index 83dae09..67b4990 100644
--- a/server/lib/deltacloud/drivers/mock/mock_driver.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb
@@ -20,6 +20,7 @@ require 'base64'
 require 'etc'
 require 'deltacloud/base_driver'
 require 'deltacloud/drivers/mock/mock_client'
+require 'deltacloud/drivers/mock/mock_driver_cimi_methods'
 
 module Deltacloud::Drivers::Mock
 
@@ -453,50 +454,6 @@ module Deltacloud::Drivers::Mock
       return false
     end
 
-    def networks(credentials, opts={})
-      check_credentials(credentials)
-      if opts[:id].nil?
-        networks = @client.load_all_cimi(:network).map{|net| CIMI::Model::Network.from_json(net)}
-        networks.map{|net|convert_cimi_mock_urls(:network, net ,opts[:env])}.flatten
-      else
-        network = CIMI::Model::Network.from_json(@client.load_cimi(:network, opts[:id]))
-        convert_cimi_mock_urls(:network, network, opts[:env])
-      end
-    end
-
-    def network_configurations(credentials, opts={})
-      check_credentials(credentials)
-      if opts[:id].nil?
-        network_configs = @client.load_all_cimi(:network_configuration).map{|net_config|
CIMI::Model::NetworkConfiguration.from_json(net_config)}
-        network_configs.map{|net_config|convert_cimi_mock_urls(:network_configuration, net_config,
opts[:env])}.flatten
-      else
-        network_config = CIMI::Model::NetworkConfiguration.from_json(@client.load_cimi(:network_configuration,
opts[:id]))
-        convert_cimi_mock_urls(:network_configuration, network_config, opts[:env])
-      end
-    end
-
-    def network_templates(credentials, opts={})
-      check_credentials(credentials)
-      if opts[:id].nil?
-        network_templates = @client.load_all_cimi(:network_template).map{|net_templ| CIMI::Model::NetworkTemplate.from_json(net_templ)}
-        network_templates.map{|net_templ|convert_cimi_mock_urls(:network_template, net_templ,
opts[:env])}.flatten
-      else
-        network_template = CIMI::Model::NetworkTemplate.from_json(@client.load_cimi(:network_template,
opts[:id]))
-        convert_cimi_mock_urls(:network_template, network_template, opts[:env])
-      end
-    end
-
-    def routing_groups(credentials, opts={})
-      check_credentials(credentials)
-      if opts[:id].nil?
-        routing_groups = @client.load_all_cimi(:routing_group).map{|rg| CIMI::Model::RoutingGroup.from_json(rg)}
-        routing_groups.map{|rg|convert_cimi_mock_urls(:routing_group, rg, opts[:env])}.flatten
-      else
-        routing_group = CIMI::Model::RoutingGroup.from_json(@client.load_cimi(:routing_group,
opts[:id]))
-        convert_cimi_mock_urls(:routing_group, routing_group, opts[:env])
-      end
-    end
-
     private
 
     def check_credentials(credentials)
@@ -533,35 +490,6 @@ module Deltacloud::Drivers::Mock
       StorageVolume.new(volume)
     end
 
-    def convert_cimi_mock_urls(model_name, cimi_object, context)
-      cimi_object.attribute_values.each do |k,v|
-        if ( v.is_a?(Struct) || ( v.is_a?(Array) && v.first.is_a?(Struct)))
-          case v
-            when Array
-              v.each do |item|
-                convert_struct_urls(item, k.to_s.singularize.to_sym, context)
-              end
-            else
-              convert_struct_urls(v, k, context)
-            end
-        end
-      end
-      object_url = context.send(:"#{model_name}_url", cimi_object.name)
-      cimi_object.id=object_url
-      cimi_object.operations.each{|op| op.href=object_url  }
-      cimi_object
-    end
-
-    def convert_struct_urls(struct, cimi_name, context)
-      return unless (struct.respond_to?(:href) && (not struct.href.nil?) &&
(not cimi_name == :operation ))
-      obj_name = struct.href.split("/").last
-      if cimi_name.to_s.end_with?("config")
-        struct.href = context.send(:"#{cimi_name}uration_url", obj_name)
-      else
-        struct.href = context.send(:"#{cimi_name}_url", obj_name)
-      end
-    end
-
     exceptions do
 
       on /AuthFailure/ do
diff --git a/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb b/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
new file mode 100644
index 0000000..1e7b3c2
--- /dev/null
+++ b/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
@@ -0,0 +1,101 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+#Definition of CIMI methods for the mock driver - seperation from deltacloud
+#API mock driver methods
+
+module Deltacloud::Drivers::Mock
+
+  class MockDriver < Deltacloud::BaseDriver
+
+    def networks(credentials, opts={})
+      check_credentials(credentials)
+      if opts[:id].nil?
+        networks = @client.load_all_cimi(:network).map{|net| CIMI::Model::Network.from_json(net)}
+        networks.map{|net|convert_cimi_mock_urls(:network, net ,opts[:env])}.flatten
+      else
+        network = CIMI::Model::Network.from_json(@client.load_cimi(:network, opts[:id]))
+        convert_cimi_mock_urls(:network, network, opts[:env])
+      end
+    end
+
+    def network_configurations(credentials, opts={})
+      check_credentials(credentials)
+      if opts[:id].nil?
+        network_configs = @client.load_all_cimi(:network_configuration).map{|net_config|
CIMI::Model::NetworkConfiguration.from_json(net_config)}
+        network_configs.map{|net_config|convert_cimi_mock_urls(:network_configuration, net_config,
opts[:env])}.flatten
+      else
+        network_config = CIMI::Model::NetworkConfiguration.from_json(@client.load_cimi(:network_configuration,
opts[:id]))
+        convert_cimi_mock_urls(:network_configuration, network_config, opts[:env])
+      end
+    end
+
+    def network_templates(credentials, opts={})
+      check_credentials(credentials)
+      if opts[:id].nil?
+        network_templates = @client.load_all_cimi(:network_template).map{|net_templ| CIMI::Model::NetworkTemplate.from_json(net_templ)}
+        network_templates.map{|net_templ|convert_cimi_mock_urls(:network_template, net_templ,
opts[:env])}.flatten
+      else
+        network_template = CIMI::Model::NetworkTemplate.from_json(@client.load_cimi(:network_template,
opts[:id]))
+        convert_cimi_mock_urls(:network_template, network_template, opts[:env])
+      end
+    end
+
+    def routing_groups(credentials, opts={})
+      check_credentials(credentials)
+      if opts[:id].nil?
+        routing_groups = @client.load_all_cimi(:routing_group).map{|rg| CIMI::Model::RoutingGroup.from_json(rg)}
+        routing_groups.map{|rg|convert_cimi_mock_urls(:routing_group, rg, opts[:env])}.flatten
+      else
+        routing_group = CIMI::Model::RoutingGroup.from_json(@client.load_cimi(:routing_group,
opts[:id]))
+        convert_cimi_mock_urls(:routing_group, routing_group, opts[:env])
+      end
+    end
+
+    private
+
+    def convert_cimi_mock_urls(model_name, cimi_object, context)
+      cimi_object.attribute_values.each do |k,v|
+        if ( v.is_a?(Struct) || ( v.is_a?(Array) && v.first.is_a?(Struct)))
+          case v
+            when Array
+              v.each do |item|
+                convert_struct_urls(item, k.to_s.singularize.to_sym, context)
+              end
+            else
+              convert_struct_urls(v, k, context)
+            end
+        end
+      end
+      object_url = context.send(:"#{model_name}_url", cimi_object.name)
+      cimi_object.id=object_url
+      cimi_object.operations.each{|op| op.href=object_url  }
+      cimi_object
+    end
+
+    def convert_struct_urls(struct, cimi_name, context)
+      return unless (struct.respond_to?(:href) && (not struct.href.nil?) &&
(not cimi_name == :operation ))
+      obj_name = struct.href.split("/").last
+      if cimi_name.to_s.end_with?("config")
+        struct.href = context.send(:"#{cimi_name}uration_url", obj_name)
+      else
+        struct.href = context.send(:"#{cimi_name}_url", obj_name)
+      end
+    end
+
+  end
+
+end
-- 
1.7.6.5


Mime
View raw message