From: marios <[email protected]>

Signed-off-by: marios <[email protected]>
---
 server/lib/deltacloud/drivers/mock/mock_client.rb  |    4 +-
 .../drivers/mock/mock_driver_cimi_methods.rb       |   28 ++++++++++++++++++-
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/server/lib/deltacloud/drivers/mock/mock_client.rb 
b/server/lib/deltacloud/drivers/mock/mock_client.rb
index 7d446db..3de8254 100644
--- a/server/lib/deltacloud/drivers/mock/mock_client.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_client.rb
@@ -92,8 +92,8 @@ module Deltacloud::Drivers::Mock
     end
 
     def store_cimi(collection, obj)
-      raise "Why no obj[\"name\"] ?" unless obj["name"]
-      File::open(cimi_file(collection, obj["name"]), "w") { |f| 
f.write(JSON.generate(obj)) }
+      raise "Why no obj.name?" unless obj.name
+      File::open(cimi_file(collection, obj.name), "w") { |f| 
f.write(obj.to_json) }
     end
 
     def destroy_cimi(collection, id)
diff --git a/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb 
b/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
index 8ffaa23..81f13c2 100644
--- a/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
@@ -35,7 +35,7 @@ module Deltacloud::Drivers::Mock
     def create_network(credentials, opts={})
       check_credentials(credentials)
       id = "#{opts[:env].send("networks_url")}/#{opts[:name]}"
-      network = { "id"=> id,
+      net_hsh = { "id"=> id,
                   "name" => opts[:name],
                   "description" => opts[:description],
                   "created" => Time.now,
@@ -49,8 +49,10 @@ module Deltacloud::Drivers::Mock
                   "routingGroup"=> { "href" => opts[:routing_group].id },
                   "operations" => [{"rel"=>"edit", "href"=> id},
                                    {"rel"=>"delete", "href"=> id}]    }
+      network = CIMI::Model::Network.from_json(JSON.generate(net_hsh))
+
       @client.store_cimi(:network, network)
-      CIMI::Model::Network.from_json(@client.load_cimi(:network, opts[:name]))
+      network
     end
 
     def delete_network(credentials, id)
@@ -58,6 +60,21 @@ module Deltacloud::Drivers::Mock
       @client.destroy_cimi(:network, id)
     end
 
+    def start_network(credentials, id)
+      check_credentials(credentials)
+      update_network_state(id, "STARTED")
+    end
+
+    def stop_network(credentials, id)
+      check_credentials(credentials)
+      update_network_state(id, "STOPPED")
+    end
+
+    def suspend_network(credentials, id)
+      check_credentials(credentials)
+      update_network_state(id, "SUSPENDED")
+    end
+
     def network_configurations(credentials, opts={})
       check_credentials(credentials)
       if opts[:id].nil?
@@ -166,6 +183,13 @@ module Deltacloud::Drivers::Mock
       end
     end
 
+    def update_network_state(id, new_state)
+      network = CIMI::Model::Network.from_json(@client.load_cimi(:network, id))
+      network.state = new_state
+      @client.store_cimi(:network, network)
+      network
+    end
+
   end
 
 end
-- 
1.7.6.5

Reply via email to