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