In particular, make sure we always fill in the "actions"
part of the hash so that we properly create the action
links when fetching an individual instance.

Signed-off-by: Chris Lalancette <[email protected]>
---
 server/lib/deltacloud/drivers/mock/mock_driver.rb |   24 +++++++-------------
 1 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb 
b/server/lib/deltacloud/drivers/mock/mock_driver.rb
index 94f3c75..1d83beb 100644
--- a/server/lib/deltacloud/drivers/mock/mock_driver.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb
@@ -185,34 +185,28 @@ class MockDriver < Deltacloud::BaseDriver
     Instance.new( instance )
   end
 
-  def start_instance(credentials, id)
+  def update_instance_state(credentials, id, state)
     instance_file = "#...@storage_root}/instances/#{id}.yml"
     instance_yml  = YAML.load( File.read( instance_file ) )
+    instance_yml[:id] = id
     instance_yml[:state] = 'RUNNING'
+    instance_yml[:actions] = instance_actions_for( instance_yml[:state] )
     File.open( instance_file, 'w' ) do |f|
       f << YAML.dump( instance_yml )
     end
     Instance.new( instance_yml )
   end
 
+  def start_instance(credentials, id)
+    update_instance_state(credentials, id, 'RUNNING')
+  end
+
   def reboot_instance(credentials, id)
-    instance_file = "#...@storage_root}/instances/#{id}.yml"
-    instance_yml  = YAML.load( File.read( instance_file ) )
-    instance_yml[:state] = 'RUNNING'
-    File.open( instance_file, 'w' ) do |f|
-      f << YAML.dump( instance_yml )
-    end
-    Instance.new( instance_yml )
+    update_instance_state(credentials, id, 'RUNNING')
   end
 
   def stop_instance(credentials, id)
-    instance_file = "#...@storage_root}/instances/#{id}.yml"
-    instance_yml  = YAML.load( File.read( instance_file ) )
-    instance_yml[:state] = 'STOPPED'
-    File.open( instance_file, 'w' ) do |f|
-      f << YAML.dump( instance_yml )
-    end
-    Instance.new( instance_yml )
+    update_instance_state(credentials, id, 'STOPPED')
   end
 
 
-- 
1.7.2.2

Reply via email to