You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by lu...@apache.org on 2010/07/09 01:16:58 UTC

svn commit: r962013 - in /incubator/deltacloud/trunk/client-ruby: .gitignore credentials.yml lib/deltacloud.rb specs/images_spec.rb specs/instances_spec.rb

Author: lutter
Date: Thu Jul  8 23:16:58 2010
New Revision: 962013

URL: http://svn.apache.org/viewvc?rev=962013&view=rev
Log:
Wire up and test instances.

Added:
    incubator/deltacloud/trunk/client-ruby/credentials.yml
    incubator/deltacloud/trunk/client-ruby/specs/instances_spec.rb
Modified:
    incubator/deltacloud/trunk/client-ruby/.gitignore
    incubator/deltacloud/trunk/client-ruby/lib/deltacloud.rb
    incubator/deltacloud/trunk/client-ruby/specs/images_spec.rb

Modified: incubator/deltacloud/trunk/client-ruby/.gitignore
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/client-ruby/.gitignore?rev=962013&r1=962012&r2=962013&view=diff
==============================================================================
--- incubator/deltacloud/trunk/client-ruby/.gitignore (original)
+++ incubator/deltacloud/trunk/client-ruby/.gitignore Thu Jul  8 23:16:58 2010
@@ -1,2 +1 @@
 *.swp
-credentials.yml

Added: incubator/deltacloud/trunk/client-ruby/credentials.yml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/client-ruby/credentials.yml?rev=962013&view=auto
==============================================================================
--- incubator/deltacloud/trunk/client-ruby/credentials.yml (added)
+++ incubator/deltacloud/trunk/client-ruby/credentials.yml Thu Jul  8 23:16:58 2010
@@ -0,0 +1,2 @@
+name: mockuser
+password: mockpassword

Modified: incubator/deltacloud/trunk/client-ruby/lib/deltacloud.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/client-ruby/lib/deltacloud.rb?rev=962013&r1=962012&r2=962013&view=diff
==============================================================================
--- incubator/deltacloud/trunk/client-ruby/lib/deltacloud.rb (original)
+++ incubator/deltacloud/trunk/client-ruby/lib/deltacloud.rb Thu Jul  8 23:16:58 2010
@@ -54,6 +54,19 @@ class DeltaCloud
     images
   end
 
+  def instances(opts={})
+    instances = []
+    request( entry_points[:instances] ) do |response|
+      if ( response.is_a?( Net::HTTPSuccess ) )
+        doc = REXML::Document.new( response.body )
+        doc.get_elements( 'instances/instance' ).each do |instance|
+          instances << convert( :instance, instance )
+        end
+      end
+    end
+    instances
+  end
+
   def api_host
     @api_uri.host
   end
@@ -80,7 +93,7 @@ class DeltaCloud
   def convert(type, elem)
     hash = {}
     elem.elements.each do |element|
-      key = element.name.to_sym
+      key = element.name.gsub( /-/, '_' ).to_sym
       value = element.text
       conversions = CONVERSIONS[type]
       ( conversion = conversions[key] ) if conversions

Modified: incubator/deltacloud/trunk/client-ruby/specs/images_spec.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/client-ruby/specs/images_spec.rb?rev=962013&r1=962012&r2=962013&view=diff
==============================================================================
--- incubator/deltacloud/trunk/client-ruby/specs/images_spec.rb (original)
+++ incubator/deltacloud/trunk/client-ruby/specs/images_spec.rb Thu Jul  8 23:16:58 2010
@@ -7,7 +7,7 @@ describe "images" do
     DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
       images = client.images
       images.should_not be_empty
-      images.size.should be > 100
+      images.size.should eql( 3 )
       images.each do |image|
         image[:id].should_not be_nil
         image[:id].should be_a(String)
@@ -25,7 +25,7 @@ describe "images" do
     DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
       images = client.images( :owner=>:self )
       images.should_not be_empty
-      images.size.should be < 100
+      images.size.should eql( 1 )
       images.each do |image|
         image[:id].should_not be_nil
         image[:id].should be_a(String)

Added: incubator/deltacloud/trunk/client-ruby/specs/instances_spec.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/client-ruby/specs/instances_spec.rb?rev=962013&view=auto
==============================================================================
--- incubator/deltacloud/trunk/client-ruby/specs/instances_spec.rb (added)
+++ incubator/deltacloud/trunk/client-ruby/specs/instances_spec.rb Thu Jul  8 23:16:58 2010
@@ -0,0 +1,28 @@
+
+require 'specs/spec_helper'
+
+describe "images" do
+
+  it "should allow retrieval of all instances" do
+    DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
+      instances = client.instances
+      instances.should_not be_empty
+      instances.each do |instance|
+        instance[:id].should_not be_nil
+        instance[:id].should be_a( String )
+        instance[:owner_id].should_not be_nil
+        instance[:owner_id].should be_a( String )
+        instance[:image].should_not be_nil
+        instance[:image].should be_a( String )
+        instance[:flavor].should_not be_nil
+        instance[:flavor].should be_a( String )
+        instance[:state].should_not be_nil
+        instance[:state].should be_a( String )
+        instance[:public_address].should_not be_nil
+        instance[:public_address].should be_a( String )
+        instance[:private_address].should_not be_nil
+        instance[:private_address].should be_a( String )
+      end
+    end
+  end 
+end