You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by ma...@redhat.com on 2011/12/23 17:31:24 UTC

[PATCH 6/6] CIMI Adds attach/detach to Volumes cucumber tests

From: marios <ma...@redhat.com>


Signed-off-by: marios <ma...@redhat.com>
---
 .../features/step_definitions/volumes_steps.rb     |   38 ++++++++++++++++++++
 server/tests/cimi/features/volumes.feature         |   14 +++++++
 2 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/server/tests/cimi/features/step_definitions/volumes_steps.rb b/server/tests/cimi/features/step_definitions/volumes_steps.rb
index 922cb04..a5abc9d 100644
--- a/server/tests/cimi/features/step_definitions/volumes_steps.rb
+++ b/server/tests/cimi/features/step_definitions/volumes_steps.rb
@@ -63,6 +63,44 @@ Then /^client should verify that this Volume was created correctly$/ do |capacit
   @@retrieved_volume.capacity[:quantity].should == capacity.raw[0][1]
 end
 
+When /^client specifies a running Machine using$/ do |machine|
+  @machine_id = machine.raw[0][1]
+  authorize 'mockuser', 'mockpassword'
+  header 'Content-Type', 'application/xml'
+  get "/cimi/machines/#{@machine_id}?format=xml"
+  last_response.status.should==200
+  @@machine = Machine.from_xml(last_response.body)
+  @@machine.name.should == @machine_id
+  @@machine.state.should == "STARTED"
+end
+
+When /^client specifies the new Volume with attachment point using$/ do |attach|
+  @builder = Nokogiri::XML::Builder.new do |xml|
+    xml.VolumeAttach {
+      xml.volume( :href => @@created_volume.uri, :attachmentPoint=>attach.raw[0][1])
+    }
+  end
+end
+
+Then /^client should be able to attach the new volume to the Machine$/ do
+  authorize 'mockuser', 'mockpassword'
+  header 'Content-Type', 'application/CIMI-Machine+xml'
+  put "/cimi/machines/#{@@machine.name}/attach_volume?format=xml", @builder.to_xml
+  last_response.status.should == 200
+end
+
+When /^client should be able to detach the volume$/ do
+  authorize 'mockuser', 'mockpassword'
+  header 'Content-Type', 'application/CIMI-Machine+xml'
+  @builder = Nokogiri::XML::Builder.new do |xml|
+    xml.VolumeDetach {
+      xml.volume(:href => @@created_volume.uri)
+    }
+  end
+  put "/cimi/machines/#{@@machine.name}/detach_volume", @builder.to_xml
+  last_response.status.should == 200
+end
+
 When /^client deletes the newly created Volume$/ do
   authorize 'mockuser', 'mockpassword'
   delete "/cimi/volumes/#{@@created_volume.name}"
diff --git a/server/tests/cimi/features/volumes.feature b/server/tests/cimi/features/volumes.feature
index c8d5282..7835e2a 100644
--- a/server/tests/cimi/features/volumes.feature
+++ b/server/tests/cimi/features/volumes.feature
@@ -25,6 +25,20 @@ Scenario: Query the newly created Volume
   Then client should verify that this Volume was created correctly
     | capacity | 2 |
 
+Scenario: Attach the newly created Volume to a Machine
+  Given Cloud Entry Point URL is provided
+  And client retrieve the Cloud Entry Point
+  When client specifies a running Machine using
+    | name | inst0 |
+  And client specifies the new Volume with attachment point using
+    | attachment_point | /dev/sdc |
+  Then client should be able to attach the new volume to the Machine
+
+Scenario: Detach the newly created Volume from the Machine
+  Given Cloud Entry Point URL is provided
+  And client retrieve the Cloud Entry Point
+  Then client should be able to detach the volume
+
 Scenario: Delete the newly created Volume
   Given Cloud Entry Point URL is provided
   And client retrieve the Cloud Entry Point
-- 
1.7.6.4