You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by mf...@redhat.com on 2012/08/08 14:54:39 UTC
[PATCH core 6/6] Client: Converted RSpec tests to Minitest
From: Michal Fojtik <mf...@redhat.com>
Signed-off-by: Michal fojtik <mf...@redhat.com>
---
client/tests/buckets_test.rb | 104 ++++++++--------
client/tests/client_test.rb | 34 +++---
client/tests/content_negotiation_tests.rb | 57 ++++-----
client/tests/errors_test.rb | 17 +--
client/tests/hardware_profiles_test.rb | 36 +++---
client/tests/images_test.rb | 74 ++++++------
client/tests/instance_states_test.rb | 57 ++++-----
client/tests/instances_test.rb | 184 ++++++++++++++---------------
client/tests/keys_tests.rb | 44 ++++---
client/tests/realms_test.rb | 53 +++++----
client/tests/storage_snapshot_test.rb | 58 ++++-----
client/tests/storage_volume_test.rb | 70 +++++------
client/tests/test_helper.rb | 17 +++
13 files changed, 400 insertions(+), 405 deletions(-)
create mode 100644 client/tests/test_helper.rb
diff --git a/client/tests/buckets_test.rb b/client/tests/buckets_test.rb
index b897e0c..32037cd 100644
--- a/client/tests/buckets_test.rb
+++ b/client/tests/buckets_test.rb
@@ -16,22 +16,23 @@
# License for the specific language governing permissions and limitations
# under the License.
-require 'specs/spec_helper'
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-describe "buckets" do
+require_relative './test_helper.rb'
- it_should_behave_like "all resources"
+describe "Buckets" do
it "should allow retrieval of all buckets" do
[API_URL, API_URL_REDIRECT].each do |entry_point|
DeltaCloud.new( API_NAME, API_PASSWORD, entry_point ) do |client|
buckets = client.buckets
- buckets.should_not be_empty
+ buckets.wont_be_empty
buckets.each do |bucket|
- bucket.uri.should_not be_nil
- bucket.uri.should be_a( String )
- bucket.name.should_not be_nil
- bucket.name.should be_a(String)
+ bucket.uri.wont_be_nil
+ bucket.uri.must_be_kind_of String
+ bucket.name.wont_be_nil
+ bucket.name.must_be_kind_of String
end
end
end
@@ -40,13 +41,13 @@ describe "buckets" do
it "should allow retrieval of a named bucket" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
bucket = client.bucket("bucket1")
- bucket.should_not be_nil
- bucket.uri.should eql(API_URL + "/buckets/bucket1")
- bucket.size.should eql(3.0)
- bucket.name.should_not be_nil
- bucket.name.should be_a(String)
+ bucket.wont_be_nil
+ bucket.uri.must_equal API_URL + "/buckets/bucket1"
+ bucket.size.must_equal 3.0
+ bucket.name.wont_be_nil
+ bucket.name.must_be_kind_of String
blob_list = bucket.blob_list.split(", ")
- blob_list.size.should eql(bucket.size.to_i)
+ blob_list.size.must_equal bucket.size.to_i
end
end
@@ -57,30 +58,28 @@ describe "Operations on buckets" do
it "should allow creation of a new bucket" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
new_bucket = client.create_bucket({'id' => "my_new_bucket"})
- new_bucket.should_not be_nil
- new_bucket.uri.should eql(API_URL + "/buckets/my_new_bucket")
- new_bucket.name.should_not be_nil
- new_bucket.name.should be_a(String)
- new_bucket.name.should eql("my_new_bucket")
+ new_bucket.wont_be_nil
+ new_bucket.uri.must_equal API_URL + "/buckets/my_new_bucket"
+ new_bucket.name.wont_be_nil
+ new_bucket.name.must_be_kind_of String
+ new_bucket.name.must_equal "my_new_bucket"
end
end
it "should allow deletion of an existing bucket" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
new_bucket = client.bucket("my_new_bucket")
- new_bucket.should_not be_nil
- new_bucket.name.should eql("my_new_bucket")
- lambda{
- client.destroy_bucket({'id' => "my_new_bucket"})
- }.should_not raise_error
+ new_bucket.wont_be_nil
+ new_bucket.name.must_equal "my_new_bucket"
+ client.destroy_bucket('id' => "my_new_bucket").must_be_nil
end
end
it "should throw error if you delete a non existing bucket" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
- lambda{
- client.destroy_bucket({'id' => "i_dont_exist"})
- }.should raise_error
+ lambda {
+ client.destroy_bucket({'id' => "i_dont_exist"}).must_be_nil
+ }.must_raise DeltaCloud::HTTPError::DeltacloudError
end
end
@@ -91,21 +90,20 @@ describe "Blobs" do
it "should allow retrieval of a bucket's blobs" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
bucket = client.bucket("bucket1")
- bucket.should_not be_nil
+ bucket.wont_be_nil
blob_list = bucket.blob_list.split(", ")
- blob_list.size.should eql(bucket.size.to_i)
+ blob_list.size.must_equal bucket.size.to_i
blob_list.each do |b_id|
- blob = client.blob({"bucket" => bucket.name, :id => b_id})
- puts blob.inspect
- blob.bucket.should_not be_nil
- blob.bucket.should be_a(String)
- blob.bucket.should eql(bucket.name)
- blob.content_length.should_not be_nil
- blob.content_length.should be_a(Float)
- blob.content_length.should >= 0
- blob_data = client.blob_data({"bucket" => bucket.name, :id => b_id})
- blob_data.size.to_f.should == blob.content_length
- blob.last_modified.should_not be_nil
+ blob = client.blob("bucket" => bucket.name, :id => b_id)
+ blob.bucket.wont_be_nil
+ blob.bucket.must_be_kind_of String
+ blob.bucket.must_equal bucket.name
+ blob.content_length.wont_be_nil
+ blob.content_length.must_be_kind_of Float
+ blob.content_length.must_be :'>=', 0
+ blob_data = client.blob_data("bucket" => bucket.name, :id => b_id)
+ blob_data.size.to_f.must_equal blob.content_length
+ blob.last_modified.wont_be_nil
end
end
end
@@ -117,32 +115,32 @@ describe "Operations on blobs" do
it "should successfully create a new blob" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
blob_data = File.new("./blob_data_file", "w+")
-
blob_data.write("this is some blob data \n")
blob_data.rewind
- some_new_blob = client.create_blob({:id => "some_new_blob",
- 'bucket' => "bucket1",
- 'file_path' => blob_data.path})
- some_new_blob.should_not be_nil
- some_new_blob.content_length.should_not be_nil
- some_new_blob.content_length.should eql(24.0)
+ some_new_blob = client.create_blob(
+ :id => "some_new_blob",
+ 'bucket' => "bucket1",
+ 'file_path' => blob_data.path
+ )
+ some_new_blob.wont_be_nil
+ some_new_blob.content_length.wont_be_nil
+ some_new_blob.content_length.must_equal 24.0
File.delete(blob_data.path)
end
end
it "should allow deletion of an existing blob" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
- lambda{
- client.destroy_blob({:id=>"some_new_blob", 'bucket'=>"bucket1"})
- }.should_not raise_error
+ client.destroy_blob(:id=>"some_new_blob", 'bucket'=>"bucket1").must_be_nil
end
end
it "should throw error if you delete a non existing blob" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
- lambda{
- client.destroy_blob({:id=>"no_such_blob", 'bucket'=>"bucket1"})
- }.should raise_error
+ lambda {
+ client.destroy_blob(:id=>"no_such_blob", 'bucket'=>"bucket1").must_be_nil
+ }.must_raise DeltaCloud::HTTPError::DeltacloudError
end
end
+
end
diff --git a/client/tests/client_test.rb b/client/tests/client_test.rb
index b4c1a75..29fab42 100644
--- a/client/tests/client_test.rb
+++ b/client/tests/client_test.rb
@@ -16,48 +16,48 @@
# License for the specific language governing permissions and limitations
# under the License.
-require 'specs/spec_helper'
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
+
+require_relative './test_helper.rb'
describe "initializing the client" do
it "should parse valid API URIs" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
- client.api_host.should eql( API_HOST )
- client.api_port.should eql( API_PORT.to_i )
- client.api_path.should eql( API_PATH )
+ client.api_host.must_equal API_HOST
+ client.api_port.must_equal API_PORT.to_i
+ client.api_path.must_equal API_PATH
end
it "should discover entry points upon connection" do
[API_URL, API_URL_REDIRECT].each do |entry_point|
DeltaCloud.new( "name", "password", entry_point ) do |client|
- client.entry_points[:hardware_profiles].should eql( "#{API_URL}/hardware_profiles" )
- client.entry_points[:images].should eql( "#{API_URL}/images" )
- client.entry_points[:instances].should eql( "#{API_URL}/instances" )
- client.entry_points[:storage_volumes].should eql( "#{API_URL}/storage_volumes" )
- client.entry_points[:storage_snapshots].should eql( "#{API_URL}/storage_snapshots" )
- client.entry_points[:buckets].should eql( "#{API_URL}/buckets")
- client.entry_points[:keys].should eql( "#{API_URL}/keys")
+ client.entry_points[:hardware_profiles].must_equal "#{API_URL}/hardware_profiles"
+ client.entry_points[:images].must_equal "#{API_URL}/images"
+ client.entry_points[:instances].must_equal "#{API_URL}/instances"
+ client.entry_points[:storage_volumes].must_equal "#{API_URL}/storage_volumes"
+ client.entry_points[:storage_snapshots].must_equal "#{API_URL}/storage_snapshots"
+ client.entry_points[:buckets].must_equal "#{API_URL}/buckets"
+ client.entry_points[:keys].must_equal "#{API_URL}/keys"
end
end
end
it "should provide the current driver name via client" do
DeltaCloud.new( "name", "password", API_URL ) do |client|
- client.driver_name.should eql( 'mock' )
+ client.driver_name.must_equal 'mock'
end
end
it "should provide the current driver name without client" do
- DeltaCloud.driver_name( API_URL ).should eql( 'mock' )
+ DeltaCloud.driver_name( API_URL ).must_equal 'mock'
end
describe "without a block" do
- before( :each ) do
- reload_fixtures
- end
it "should connect without a block" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
- client.images.should_not be_nil
+ client.images.wont_be_nil
end
end
diff --git a/client/tests/content_negotiation_tests.rb b/client/tests/content_negotiation_tests.rb
index ffd222c..d963027 100644
--- a/client/tests/content_negotiation_tests.rb
+++ b/client/tests/content_negotiation_tests.rb
@@ -16,11 +16,12 @@
# License for the specific language governing permissions and limitations
# under the License.
-require 'specs/spec_helper'
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-def client
- RestClient::Resource.new(API_URL)
-end
+require_relative './test_helper.rb'
+
+def client; RestClient::Resource.new(API_URL); end
def headers(header)
encoded_credentials = ["#{API_NAME}:#{API_PASSWORD}"].pack("m0").gsub(/\n/,'')
@@ -38,8 +39,8 @@ describe "return JSON" do
'Accept' => "application/json"
}
client.get(header_hash) do |response, request, &block|
- response.code.should == 200
- response.headers[:content_type].should =~ /^application\/json/
+ response.code.must_equal 200
+ response.headers[:content_type].must_match /^application\/json/
end
end
@@ -48,8 +49,8 @@ describe "return JSON" do
'Accept' => "application/json"
}
client.get(header_hash) do |response, request, &block|
- response.code.should == 200
- response.headers[:content_type].should =~ /^application\/json/
+ response.code.must_equal 200
+ response.headers[:content_type].must_match /^application\/json/
end
end
@@ -59,49 +60,41 @@ describe "return HTML in different browsers" do
it "wants XML using format parameter" do
client.get(:params => { 'format' => 'xml' }, 'Accept' => 'application/xhtml+xml') do |response, request, &block|
- response.code.should == 200
- response.headers[:content_type].should =~ /^application\/xml/
+ response.code.must_equal 200
+ response.headers[:content_type].must_match /^application\/xml/
end
end
it "raise 406 error on wrong accept" do
client['hardware_profiles'].get('Accept' => 'image/png;q=1') do |response, request, &block|
- response.code.should == 406
+ response.code.must_equal 406
end
end
it "wants HTML using format parameter and accept set to XML" do
client.get(:params => { 'format' => 'html'}, 'Accept' => 'application/xml') do |response, request, &block|
- response.code.should == 200
- response.headers[:content_type].should =~ /^text\/html/
+ response.code.must_equal 200
+ response.headers[:content_type].must_match /^text\/html/
end
end
-# FIXME: This return 406 for some reason on GIT sinatra
-# it "wants a PNG image" do
-# client['instance_states'].get('Accept' => 'image/png') do |response, request, &block|
-# response.code.should == 200
-# response.headers[:content_type].should =~ /^image\/png/
-# end
-# end
-
it "doesn't have accept header" do
client.get('Accept' => '') do |response, request, &block|
- response.code.should == 200
- response.headers[:content_type].should =~ /^application\/xml/
+ response.code.must_equal 200
+ response.headers[:content_type].must_match /^application\/xml/
end
end
it "can handle unknown formats" do
client.get('Accept' => 'format/unknown') do |response, request, &block|
- response.code.should == 406
+ response.code.must_equal 406
end
end
it "wants explicitly XML" do
client.get('Accept' => 'application/xml') do |response, request, &block|
- response.code.should == 200
- response.headers[:content_type].should =~ /^application\/xml/
+ response.code.must_equal 200
+ response.headers[:content_type].must_match /^application\/xml/
end
end
@@ -111,15 +104,15 @@ describe "return HTML in different browsers" do
'User-agent' => "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)"
}
client.get(header_hash) do |response, request, &block|
- response.code.should == 200
- response.headers[:content_type].should =~ /^text\/html/
+ response.code.must_equal 200
+ response.headers[:content_type].must_match /^text\/html/
end
end
it "Mozilla Firefox" do
client.get('Accept' => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") do |response, request, &block|
- response.code.should == 200
- response.headers[:content_type].should =~ /^text\/html/
+ response.code.must_equal 200
+ response.headers[:content_type].must_match /^text\/html/
end
end
@@ -129,8 +122,8 @@ describe "return HTML in different browsers" do
'User-agent' => "Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11"
}
client.get(header_hash) do |response, request, &block|
- response.code.should == 200
- response.headers[:content_type].should =~ /^text\/html/
+ response.code.must_equal 200
+ response.headers[:content_type].must_match /^text\/html/
end
end
diff --git a/client/tests/errors_test.rb b/client/tests/errors_test.rb
index 031e3b7..12c6c21 100644
--- a/client/tests/errors_test.rb
+++ b/client/tests/errors_test.rb
@@ -16,33 +16,34 @@
# License for the specific language governing permissions and limitations
# under the License.
-require 'specs/spec_helper'
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-describe "server error handler" do
+require_relative './test_helper.rb'
- it_should_behave_like "all resources"
+describe "server error handler" do
it 'should capture HTTP 500 error as DeltacloudError' do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
- expect { client.realm('500') }.should raise_error(DeltaCloud::HTTPError::DeltacloudError)
+ lambda { client.realm('500') }.must_raise DeltaCloud::HTTPError::DeltacloudError
end
end
it 'should capture HTTP 502 error as ProviderError' do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
- expect { client.realm('502') }.should raise_error(DeltaCloud::HTTPError::ProviderError)
+ lambda { client.realm('502') }.must_raise DeltaCloud::HTTPError::ProviderError
end
end
it 'should capture HTTP 501 error as NotImplemented' do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
- expect { client.realm('501') }.should raise_error(DeltaCloud::HTTPError::NotImplemented)
+ lambda { client.realm('501') }.must_raise DeltaCloud::HTTPError::NotImplemented
end
end
it 'should capture HTTP 504 error as ProviderTimeout' do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
- expect { client.realm('504') }.should raise_error(DeltaCloud::HTTPError::ProviderTimeout)
+ lambda { client.realm('504') }.must_raise DeltaCloud::HTTPError::ProviderTimeout
end
end
@@ -52,7 +53,7 @@ describe "client error handler" do
it 'should capture HTTP 404 error as NotFound' do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
- expect { client.realm('non-existing-realm') }.should raise_error(DeltaCloud::HTTPError::NotFound)
+ lambda { client.realm('non-existing-realm') }.must_raise DeltaCloud::HTTPError::NotFound
end
end
diff --git a/client/tests/hardware_profiles_test.rb b/client/tests/hardware_profiles_test.rb
index 59bfae0..1201e56 100644
--- a/client/tests/hardware_profiles_test.rb
+++ b/client/tests/hardware_profiles_test.rb
@@ -16,28 +16,28 @@
# License for the specific language governing permissions and limitations
# under the License.
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-require 'specs/spec_helper'
+require_relative './test_helper.rb'
def prop_check(prop, value_class)
if prop.present?
- prop.value.should_not be_nil
- prop.value.should be_a(value_class)
+ prop.value.wont_be_nil
+ prop.value.must_be_kind_of value_class
end
end
-describe "hardware_profiles" do
-
- it_should_behave_like "all resources"
+describe "Hardware Profiles" do
it "should allow retrieval of all hardware profiles" do
[API_URL, API_URL_REDIRECT].each do |entry_point|
DeltaCloud.new( API_NAME, API_PASSWORD, entry_point ) do |client|
hardware_profiles = client.hardware_profiles
- hardware_profiles.should_not be_empty
+ hardware_profiles.wont_be_empty
hardware_profiles.each do |hwp|
- hwp.uri.should_not be_nil
- hwp.uri.should be_a(String)
+ hwp.uri.wont_be_nil
+ hwp.uri.must_be_kind_of String
prop_check(hwp.architecture, String) unless hwp.name.eql?("opaque")
end
end
@@ -47,17 +47,17 @@ describe "hardware_profiles" do
it "should allow filtering of hardware_profiles by architecture" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
hardware_profiles = client.hardware_profiles( :architecture=>'i386' )
- hardware_profiles.should_not be_empty
- hardware_profiles.size.should eql( 2 )
- hardware_profiles.first.architecture.value.should eql( 'i386' )
+ hardware_profiles.wont_be_empty
+ hardware_profiles.size.must_equal 2
+ hardware_profiles.first.architecture.value.must_equal 'i386'
end
end
it "should allow fetching a hardware_profile by id" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
hwp = client.hardware_profile( 'm1-small' )
- hwp.should_not be_nil
- hwp.id.should eql( 'm1-small' )
+ hwp.wont_be_nil
+ hwp.id.must_equal 'm1-small'
end
end
@@ -65,15 +65,15 @@ describe "hardware_profiles" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
hwp1 = client.hardware_profile( 'm1-small' )
hwp2 = client.hardware_profile( 'm1-large' )
- hwp1.storage.value.should_not eql(hwp2.storage.value)
- hwp1.memory.value.should_not eql(hwp2.memory.value)
+ hwp1.storage.value.wont_equal hwp2.storage.value
+ hwp1.memory.value.wont_equal hwp2.memory.value
end
it "should allow fetching a hardware_profile by URI" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
hwp = client.fetch_hardware_profile( API_URL + '/hardware_profiles/m1-small' )
- hwp.should_not be_nil
- hwp.id.should eql( 'm1-small' )
+ hwp.wont_be_nil
+ hwp.id.must_equal 'm1-small'
end
end
diff --git a/client/tests/images_test.rb b/client/tests/images_test.rb
index 3b209cd..b9b1492 100644
--- a/client/tests/images_test.rb
+++ b/client/tests/images_test.rb
@@ -16,28 +16,28 @@
# License for the specific language governing permissions and limitations
# under the License.
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-require 'specs/spec_helper'
+require_relative './test_helper.rb'
-describe "images" do
-
- it_should_behave_like "all resources"
+describe "Images" do
it "should allow retrieval of all images" do
[API_URL, API_URL_REDIRECT].each do |entry_point|
DeltaCloud.new( API_NAME, API_PASSWORD, entry_point ) do |client|
images = client.images
- images.should_not be_empty
- images.size.should eql( 3 )
+ images.wont_be_empty
+ images.size.must_equal 3
images.each do |image|
- image.uri.should_not be_nil
- image.uri.should be_a(String)
- image.description.should_not be_nil
- image.description.should be_a(String)
- image.architecture.should_not be_nil
- image.architecture.should be_a(String)
- image.owner_id.should_not be_nil
- image.owner_id.should be_a(String)
+ image.uri.wont_be_nil
+ image.uri.must_be_kind_of String
+ image.description.wont_be_nil
+ image.description.must_be_kind_of String
+ image.architecture.wont_be_nil
+ image.architecture.must_be_kind_of String
+ image.owner_id.wont_be_nil
+ image.owner_id.must_be_kind_of String
end
end
end
@@ -46,17 +46,17 @@ describe "images" do
it "should allow retrieval of my own images" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
images = client.images( :owner_id=>:self )
- images.should_not be_empty
- images.size.should eql( 1 )
+ images.wont_be_empty
+ images.size.must_equal 1
images.each do |image|
- image.uri.should_not be_nil
- image.uri.should be_a(String)
- image.description.should_not be_nil
- image.description.should be_a(String)
- image.architecture.should_not be_nil
- image.architecture.should be_a(String)
- image.owner_id.should_not be_nil
- image.owner_id.should be_a(String)
+ image.uri.wont_be_nil
+ image.uri.must_be_kind_of String
+ image.description.wont_be_nil
+ image.description.must_be_kind_of String
+ image.architecture.wont_be_nil
+ image.architecture.must_be_kind_of String
+ image.owner_id.wont_be_nil
+ image.owner_id.must_be_kind_of String
end
end
end
@@ -64,20 +64,20 @@ describe "images" do
it "should allow retrieval of a single image by ID" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
image = client.image( 'img1' )
- image.should_not be_nil
- image.uri.should eql( API_URL + '/images/img1' )
- image.id.should eql( 'img1' )
- image.architecture.should eql( 'x86_64' )
+ image.wont_be_nil
+ image.uri.must_equal API_URL + '/images/img1'
+ image.id.must_equal 'img1'
+ image.architecture.must_equal 'x86_64'
end
end
it "should allow retrieval of a single image by URI" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
image = client.fetch_image( API_URL + '/images/img1' )
- image.should_not be_nil
- image.uri.should eql( API_URL + '/images/img1' )
- image.id.should eql( 'img1' )
- image.architecture.should eql( 'x86_64' )
+ image.wont_be_nil
+ image.uri.must_equal API_URL + '/images/img1'
+ image.id.must_equal 'img1'
+ image.architecture.must_equal 'x86_64'
end
end
@@ -85,14 +85,14 @@ describe "images" do
it "return matching images" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
images = client.images( :architecture=>'x86_64' )
- images.should_not be_empty
+ images.wont_be_empty
images.each do |image|
- image.architecture.should eql( 'x86_64' )
+ image.architecture.must_equal 'x86_64'
end
images = client.images( :architecture=>'i386' )
- images.should_not be_empty
+ images.wont_be_empty
images.each do |image|
- image.architecture.should eql( 'i386' )
+ image.architecture.must_equal 'i386'
end
end
end
@@ -100,7 +100,7 @@ describe "images" do
it "should return an empty array for no matches" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
images = client.images( :architecture=>'8088' )
- images.should be_empty
+ images.must_be_empty
end
end
end
diff --git a/client/tests/instance_states_test.rb b/client/tests/instance_states_test.rb
index c79c273..2981e98 100644
--- a/client/tests/instance_states_test.rb
+++ b/client/tests/instance_states_test.rb
@@ -16,41 +16,32 @@
# License for the specific language governing permissions and limitations
# under the License.
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-require 'specs/spec_helper'
+require_relative './test_helper.rb'
-=begin
-Spec::Matchers.define :include_transition do |action,to|
- match do |transitions|
- found = transitions.find{|e| e.action.to_s == action.to_s && e.to.to_s == to.to_s }
- ! found.nil?
- end
-end
-=end
-
-describe "instance-states" do
-
- it_should_behave_like "all resources"
+describe "Instance States" do
it "should allow retrieval of instance-state information" do
[API_URL, API_URL_REDIRECT].each do |entry_point|
DeltaCloud.new( API_NAME, API_PASSWORD, entry_point ) do |client|
instance_states = client.instance_states
- instance_states.should_not be_nil
- instance_states.should_not be_empty
+ instance_states.wont_be_nil
+ instance_states.wont_be_empty
- instance_states[0].name.should eql( 'start' )
- instance_states[0].transitions.size.should eql( 1 )
- instance_states[0].transitions[0].should_not be_auto
+ instance_states[0].name.must_equal 'start'
+ instance_states[0].transitions.size.must_equal 1
+ instance_states[0].transitions[0].wont_equal :auto
- instance_states[1].name.should eql( 'pending' )
- instance_states[1].transitions.size.should eql( 1 )
- instance_states[1].transitions[0].should be_auto
+ instance_states[1].name.must_equal 'pending'
+ instance_states[1].transitions.size.must_equal 1
+ instance_states[1].transitions[0].wont_equal :auto
- instance_states[2].name.should eql( 'running' )
- instance_states[2].transitions.size.should eql( 2 )
- includes_transition( instance_states[2].transitions, :reboot, :running ).should be_true
- includes_transition( instance_states[2].transitions, :stop, :stopped ).should be_true
+ instance_states[2].name.must_equal 'running'
+ instance_states[2].transitions.size.must_equal 2
+ includes_transition( instance_states[2].transitions, :reboot, :running ).must_equal true
+ includes_transition( instance_states[2].transitions, :stop, :stopped ).must_equal true
end
end
end
@@ -58,16 +49,16 @@ describe "instance-states" do
it "should allow retrieval of a single instance-state blob" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance_state = client.instance_state( :pending )
- instance_state.should_not be_nil
- instance_state.name.should eql( 'pending' )
- instance_state.transitions.size.should eql( 1 )
- instance_state.transitions[0].should be_auto
+ instance_state.wont_be_nil
+ instance_state.name.must_equal 'pending'
+ instance_state.transitions.size.must_equal 1
+ instance_state.transitions[0].wont_equal :auto
instance_state = client.instance_state( :running )
- instance_state.name.should eql( 'running' )
- instance_state.transitions.size.should eql( 2 )
- includes_transition( instance_state.transitions, :reboot, :running ).should be_true
- includes_transition( instance_state.transitions, :stop, :stopped ).should be_true
+ instance_state.name.must_equal 'running'
+ instance_state.transitions.size.must_equal 2
+ includes_transition( instance_state.transitions, :reboot, :running ).must_equal true
+ includes_transition( instance_state.transitions, :stop, :stopped ).must_equal true
end
end
diff --git a/client/tests/instances_test.rb b/client/tests/instances_test.rb
index f7fc7e7..bff1a7f 100644
--- a/client/tests/instances_test.rb
+++ b/client/tests/instances_test.rb
@@ -16,35 +16,35 @@
# License for the specific language governing permissions and limitations
# under the License.
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-require 'specs/spec_helper'
+require_relative './test_helper.rb'
-describe "instances" do
-
- it_should_behave_like "all resources"
+describe "Instances" do
it "should allow retrieval of all instances" do
[API_URL, API_URL_REDIRECT].each do |entry_point|
DeltaCloud.new( API_NAME, API_PASSWORD, entry_point ) do |client|
instances = client.instances
- instances.should_not be_empty
+ instances.wont_be_empty
instances.each do |instance|
- instance.uri.should_not be_nil
- instance.uri.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.to_s.should match(/DeltaCloud::API::.*::Image/)
- instance.hardware_profile.should_not be_nil
- instance.hardware_profile.should be_a( DeltaCloud::API::Base::HardwareProfile )
- instance.state.should_not be_nil
- instance.state.should be_a( String )
- instance.public_addresses.should_not be_nil
- instance.public_addresses.should_not be_empty
- instance.public_addresses.should be_a( Array )
- instance.private_addresses.should_not be_nil
- instance.private_addresses.should_not be_empty
- instance.private_addresses.should be_a( Array )
+ instance.uri.wont_be_nil
+ instance.uri.must_be_kind_of String
+ instance.owner_id.wont_be_nil
+ instance.owner_id.must_be_kind_of String
+ instance.image.wont_be_nil
+ instance.image.to_s.must_match /DeltaCloud::API::.*::Image/
+ instance.hardware_profile.wont_be_nil
+ instance.hardware_profile.must_be_kind_of DeltaCloud::API::Base::HardwareProfile
+ instance.state.wont_be_nil
+ instance.state.must_be_kind_of String
+ instance.public_addresses.wont_be_nil
+ instance.public_addresses.wont_be_empty
+ instance.public_addresses.must_be_kind_of Array
+ instance.private_addresses.wont_be_nil
+ instance.private_addresses.wont_be_empty
+ instance.private_addresses.must_be_kind_of Array
end
end
end
@@ -53,60 +53,60 @@ describe "instances" do
it "should allow navigation from instance to image" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instances = client.instances
- instances.should_not be_empty
+ instances.wont_be_empty
instance = instances.first
- instance.image.should_not be_nil
- instance.image.description.should_not be_nil
- instance.image.description.should be_a(String)
+ instance.image.wont_be_nil
+ instance.image.description.wont_be_nil
+ instance.image.description.must_be_kind_of String
end
end
it "should allow retrieval of a single instance" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.instance( "inst0" )
- instance.should_not be_nil
- instance.name.should_not be_nil
- instance.name.should eql( 'Mock Instance With Profile Change' )
- instance.uri.should_not be_nil
- instance.uri.should be_a( String )
- instance.owner_id.should eql( "mockuser" )
- instance.public_addresses.first.class.should eql(Hash)
- instance.public_addresses.first[:type].should eql('hostname')
- instance.public_addresses.first[:address].should eql('img1.inst0.public.com')
- instance.image.should_not be_nil
- instance.image.uri.should eql( API_URL + "/images/img1" )
- instance.hardware_profile.should_not be_nil
- instance.hardware_profile.should_not be_nil
- instance.hardware_profile.uri.should eql( API_URL + "/hardware_profiles/m1-large" )
- instance.hardware_profile.memory.value.should eql('10240')
- instance.hardware_profile.storage.value.should eql('850')
- instance.state.should eql( "RUNNING" )
- instance.actions.should_not be_nil
+ instance.wont_be_nil
+ instance.name.wont_be_nil
+ instance.name.must_equal 'Mock Instance With Profile Change'
+ instance.uri.wont_be_nil
+ instance.uri.must_be_kind_of String
+ instance.owner_id.must_equal "mockuser"
+ instance.public_addresses.first.class.must_equal Hash
+ instance.public_addresses.first[:type].must_equal 'hostname'
+ instance.public_addresses.first[:address].must_equal 'img1.inst0.public.com'
+ instance.image.wont_be_nil
+ instance.image.uri.must_equal API_URL + "/images/img1"
+ instance.hardware_profile.wont_be_nil
+ instance.hardware_profile.wont_be_nil
+ instance.hardware_profile.uri.must_equal API_URL + "/hardware_profiles/m1-large"
+ instance.hardware_profile.memory.value.must_equal '10240'
+ instance.hardware_profile.storage.value.must_equal '850'
+ instance.state.must_equal "RUNNING"
+ instance.actions.wont_be_nil
end
end
it "should allow creation of new instances with reasonable defaults" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.create_instance( 'img1', :name=>'TestInstance', :hardware_profile => 'm1-large' )
- instance.should_not be_nil
- instance.uri.should match( %r{#{API_URL}/instances/inst[0-9]+} )
- instance.id.should match( /inst[0-9]+/ )
- instance.name.should eql( 'TestInstance' )
- instance.image.id.should eql( 'img1' )
- instance.hardware_profile.id.should eql( 'm1-large' )
- instance.realm.id.should eql( 'us' )
+ instance.wont_be_nil
+ instance.uri.must_match %r{#{API_URL}/instances/inst[0-9]+}
+ instance.id.must_match /inst[0-9]+/
+ instance.name.must_equal 'TestInstance'
+ instance.image.id.must_equal 'img1'
+ instance.hardware_profile.id.must_equal 'm1-large'
+ instance.realm.id.must_equal 'us'
end
end
it "should allow creation of new instances with specific realm" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.create_instance( 'img1', :realm=>'eu', :hardware_profile => 'm1-large' )
- instance.should_not be_nil
- instance.uri.should match( %r{#{API_URL}/instances/inst[0-9]+} )
- instance.id.should match( /inst[0-9]+/ )
- instance.image.id.should eql( 'img1' )
- instance.hardware_profile.id.should eql( 'm1-large' )
- instance.realm.id.should eql( 'eu' )
+ instance.wont_be_nil
+ instance.uri.must_match %r{#{API_URL}/instances/inst[0-9]+}
+ instance.id.must_match /inst[0-9]+/
+ instance.image.id.must_equal 'img1'
+ instance.hardware_profile.id.must_equal 'm1-large'
+ instance.realm.id.must_equal 'eu'
end
end
@@ -114,12 +114,12 @@ describe "instances" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.create_instance( 'img1',
:hardware_profile=>'m1-xlarge' )
- instance.should_not be_nil
- instance.uri.should match( %r{#{API_URL}/instances/inst[0-9]+} )
- instance.id.should match( /inst[0-9]+/ )
- instance.image.id.should eql( 'img1' )
- instance.hardware_profile.id.should eql( 'm1-xlarge' )
- instance.realm.id.should eql( 'us' )
+ instance.wont_be_nil
+ instance.uri.must_match %r{#{API_URL}/instances/inst[0-9]+}
+ instance.id.must_match /inst[0-9]+/
+ instance.image.id.must_equal 'img1'
+ instance.hardware_profile.id.must_equal 'm1-xlarge'
+ instance.realm.id.must_equal 'us'
end
end
@@ -127,13 +127,13 @@ describe "instances" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
hwp = { :id => 'm1-xlarge', :memory => 32768 }
instance = client.create_instance( 'img1', :hardware_profile=> hwp )
- instance.should_not be_nil
- instance.uri.should match( %r{#{API_URL}/instances/inst[0-9]+} )
- instance.id.should match( /inst[0-9]+/ )
- instance.image.id.should eql( 'img1' )
- instance.hardware_profile.id.should eql( 'm1-xlarge' )
- instance.hardware_profile.memory.value.should eql('12288')
- instance.realm.id.should eql( 'us' )
+ instance.wont_be_nil
+ instance.uri.must_match %r{#{API_URL}/instances/inst[0-9]+}
+ instance.id.must_match /inst[0-9]+/
+ instance.image.id.must_equal 'img1'
+ instance.hardware_profile.id.must_equal 'm1-xlarge'
+ instance.hardware_profile.memory.value.must_equal'12288'
+ instance.realm.id.must_equal 'us'
end
end
@@ -141,30 +141,30 @@ describe "instances" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.create_instance( 'img1', :realm=>'eu',
:hardware_profile=>'m1-xlarge' )
- instance.should_not be_nil
- instance.uri.should match( %r{#{API_URL}/instances/inst[0-9]+} )
- instance.id.should match( /inst[0-9]+/ )
- instance.image.id.should eql( 'img1' )
- instance.hardware_profile.id.should eql( 'm1-xlarge' )
- instance.realm.id.should eql( 'eu' )
+ instance.wont_be_nil
+ instance.uri.must_match %r{#{API_URL}/instances/inst[0-9]+}
+ instance.id.must_match /inst[0-9]+/
+ instance.image.id.must_equal 'img1'
+ instance.hardware_profile.id.must_equal 'm1-xlarge'
+ instance.realm.id.must_equal 'eu'
end
end
it "should allow fetching of instances by id" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.instance( 'inst1' )
- instance.should_not be_nil
- instance.uri.should_not be_nil
- instance.uri.should be_a( String )
+ instance.wont_be_nil
+ instance.uri.wont_be_nil
+ instance.uri.must_be_kind_of String
end
end
it "should allow fetching of instances by URI" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.fetch_instance( API_URL + '/instances/inst1' )
- instance.should_not be_nil
- instance.uri.should eql( API_URL + '/instances/inst1' )
- instance.id.should eql( 'inst1' )
+ instance.wont_be_nil
+ instance.uri.must_equal API_URL + '/instances/inst1'
+ instance.id.must_equal 'inst1'
end
end
@@ -172,26 +172,26 @@ describe "instances" do
it "should allow actions that are valid" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.instance( 'inst1' )
- instance.should_not be_nil
- instance.state.should eql( "RUNNING" )
- instance.uri.should eql( API_URL + '/instances/inst1' )
- instance.id.should eql( 'inst1' )
+ instance.wont_be_nil
+ instance.state.must_equal "RUNNING"
+ instance.uri.must_equal API_URL + '/instances/inst1'
+ instance.id.must_equal 'inst1'
instance.stop!
- instance.state.should eql( "STOPPED" )
+ instance.state.must_equal "STOPPED"
instance.start!
- instance.state.should eql( "RUNNING" )
+ instance.state.must_equal "RUNNING"
end
end
it "should not allow actions that are invalid" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.instance( 'inst1' )
- instance.should_not be_nil
+ instance.wont_be_nil
unless instance.state.eql?("RUNNING")
instance.start!
end
- instance.state.should eql( "RUNNING" )
- lambda{instance.start!}.should raise_error
+ instance.state.must_equal "RUNNING"
+ lambda{instance.start!}.must_raise NoMethodError
end
end
@@ -201,9 +201,7 @@ describe "instances" do
:name=>'TestDestroyInstance',
:hardware_profile => 'm1-xlarge' )
instance.stop!
- lambda {
- instance.destroy!
- }.should_not raise_error
+ instance.destroy!.must_be_nil
end
end
end
diff --git a/client/tests/keys_tests.rb b/client/tests/keys_tests.rb
index fa2ff54..ecd661a 100644
--- a/client/tests/keys_tests.rb
+++ b/client/tests/keys_tests.rb
@@ -16,20 +16,23 @@
# License for the specific language governing permissions and limitations
# under the License.
-require 'specs/spec_helper'
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
+
+require_relative './test_helper.rb'
def check_key(the_key, key_name = "")
- the_key.should_not be_nil
- the_key.id.should be_a(String)
- the_key.id.should eql(key_name)
- the_key.actions.should_not be_nil
- the_key.actions.size.should eql(1)
- the_key.actions.first[0].should eql("destroy")
- the_key.actions.first[1].should eql("#{API_URL}/keys/#{key_name}")
- the_key.fingerprint.should_not be_nil
- the_key.fingerprint.should be_a(String)
- the_key.pem.should_not be_nil
- the_key.pem.first.should be_a(String)
+ the_key.wont_be_nil
+ the_key.id.must_be_kind_of String
+ the_key.id.must_equal key_name
+ the_key.actions.wont_be_nil
+ the_key.actions.size.must_equal 1
+ the_key.actions.first[0].must_equal "destroy"
+ the_key.actions.first[1].must_equal "#{API_URL}/keys/#{key_name}"
+ the_key.fingerprint.wont_be_nil
+ the_key.fingerprint.must_be_kind_of String
+ the_key.pem.wont_be_nil
+ the_key.pem.must_be_kind_of String
end
def create_key_if_necessary(client, key_name)
@@ -40,22 +43,17 @@ def create_key_if_necessary(client, key_name)
end
-describe "keys" do
-
- it_should_behave_like "all resources"
-
+describe "Keys" do
it "should allow retrieval of all keys" do
[API_URL, API_URL_REDIRECT].each do |entry_point|
DeltaCloud.new( API_NAME, API_PASSWORD, entry_point ) do |client|
- lambda{
- client.keys
- }.should_not raise_error
+ client.keys.wont_be_empty
end
end
end
end
-describe "operations on keys" do
+describe "Operations on Keys" do
it "should allow successful creation of a new key" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
@@ -79,7 +77,7 @@ describe "operations on keys" do
create_key_if_necessary(client, name)
lambda{
client.create_key({:name => name})
- }.should raise_error
+ }.must_raise DeltaCloud::HTTPError::Forbidden
end
end
@@ -88,9 +86,7 @@ describe "operations on keys" do
name = "my_new_key"
create_key_if_necessary(client, name)
the_key = client.key(name)
- lambda{
- the_key.destroy!
- }.should_not raise_error
+ the_key.destroy!.must_be_nil
end
end
diff --git a/client/tests/realms_test.rb b/client/tests/realms_test.rb
index 241fb5c..d01a825 100644
--- a/client/tests/realms_test.rb
+++ b/client/tests/realms_test.rb
@@ -16,26 +16,27 @@
# License for the specific language governing permissions and limitations
# under the License.
-require 'specs/spec_helper'
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-describe "realms" do
+require_relative './test_helper.rb'
- it_should_behave_like "all resources"
+describe "Realms" do
+
+ before do
+ @client = DeltaCloud.new(API_NAME, API_PASSWORD, API_URL)
+ end
it "should allow retrieval of all realms" do
- [API_URL, API_URL_REDIRECT].each do |entry_point|
- DeltaCloud.new( API_NAME, API_PASSWORD, entry_point ) do |client|
- realms = client.realms
- realms.should_not be_empty
- realms.each do |realm|
- realm.uri.should_not be_nil
- realm.uri.should be_a(String)
- realm.id.should_not be_nil
- realm.id.should be_a(String)
- realm.name.should_not be_nil
- realm.name.should be_a(String)
- end
- end
+ realms = @client.realms
+ realms.wont_be_empty
+ realms.each do |realm|
+ realm.uri.wont_be_nil
+ realm.uri.must_be_kind_of String
+ realm.id.wont_be_nil
+ realm.id.must_be_kind_of String
+ realm.name.wont_be_nil
+ realm.name.must_be_kind_of String
end
end
@@ -43,23 +44,23 @@ describe "realms" do
it "should allow fetching a realm by id" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
realm = client.realm( 'us' )
- realm.should_not be_nil
- realm.id.should eql( 'us' )
- realm.name.should eql( 'United States' )
- realm.state.should eql( 'AVAILABLE' )
+ realm.wont_be_nil
+ realm.id.must_equal 'us'
+ realm.name.must_equal 'United States'
+ realm.state.must_equal 'AVAILABLE'
realm = client.realm( 'eu' )
- realm.should_not be_nil
- realm.id.should eql( 'eu' )
- realm.name.should eql( 'Europe' )
- realm.state.should eql( 'AVAILABLE' )
+ realm.wont_be_nil
+ realm.id.must_equal 'eu'
+ realm.name.must_equal 'Europe'
+ realm.state.must_equal 'AVAILABLE'
end
end
it "should allow fetching a realm by URI" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
realm = client.fetch_realm( API_URL + '/realms/us' )
- realm.should_not be_nil
- realm.id.should eql( 'us' )
+ realm.wont_be_nil
+ realm.id.must_equal 'us'
end
end
diff --git a/client/tests/storage_snapshot_test.rb b/client/tests/storage_snapshot_test.rb
index 94f149c..b26454b 100644
--- a/client/tests/storage_snapshot_test.rb
+++ b/client/tests/storage_snapshot_test.rb
@@ -16,66 +16,66 @@
# License for the specific language governing permissions and limitations
# under the License.
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-require 'specs/spec_helper'
+require_relative './test_helper.rb'
-describe "storage snapshot" do
-
- it_should_behave_like "all resources"
+describe "Storage Snapshot" do
it "allow retrieval of all storage volumes owned by the current user" do
[API_URL, API_URL_REDIRECT].each do |entry_point|
client = DeltaCloud.new( API_NAME, API_PASSWORD, entry_point )
- client.connect do |client|
- storage_snapshots = client.storage_snapshots
- storage_snapshots.should_not be_nil
- storage_snapshots.should_not be_empty
+ client.connect do |c|
+ storage_snapshots = c.storage_snapshots
+ storage_snapshots.wont_be_nil
+ storage_snapshots.wont_be_empty
ids = storage_snapshots.collect{|e| e.id}
- ids.size.should eql( 3 )
- ids.should include( 'snap2' )
- ids.should include( 'snap3' )
+ ids.size.must_equal 3
+ ids.must_include 'snap2'
+ ids.must_include 'snap3'
end
end
end
it "should allow fetching of storage volume by id" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
- client.connect do |client|
- storage_snapshot = client.storage_snapshot( 'snap2' )
- storage_snapshot.should_not be_nil
- storage_snapshot.id.should eql( 'snap2' )
- storage_snapshot.storage_volume.capacity.should eql( 1.0 )
- storage_snapshot.storage_volume.id.should eql( 'vol2' )
+ client.connect do |c|
+ storage_snapshot = c.storage_snapshot( 'snap2' )
+ storage_snapshot.wont_be_nil
+ storage_snapshot.id.must_equal 'snap2'
+ storage_snapshot.storage_volume.capacity.must_equal 1.0
+ storage_snapshot.storage_volume.id.must_equal 'vol2'
end
end
it "should allow fetching of storage volume by URI" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
- client.connect do |client|
- storage_snapshot = client.fetch_storage_snapshot( API_URL + '/storage_snapshots/snap2' )
- storage_snapshot.should_not be_nil
- storage_snapshot.id.should eql( 'snap2' )
- storage_snapshot.storage_volume.capacity.should eql( 1.0 )
- storage_snapshot.storage_volume.id.should eql( 'vol2' )
+ client.connect do |c|
+ storage_snapshot = c.fetch_storage_snapshot( API_URL + '/storage_snapshots/snap2' )
+ storage_snapshot.wont_be_nil
+ storage_snapshot.id.must_equal 'snap2'
+ storage_snapshot.storage_volume.capacity.must_equal 1.0
+ storage_snapshot.storage_volume.id.must_equal 'vol2'
end
end
it "should return nil for unknown storage volume by ID" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
lambda {
- client.connect do |client|
- client.storage_snapshot( "bogus" )
+ client.connect do |c|
+ c.storage_snapshot( "bogus" )
end
- }.should raise_error(DeltaCloud::HTTPError::NotFound)
+ }.must_raise DeltaCloud::HTTPError::NotFound
end
it "should return nil for unknown storage volume by URI" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
lambda {
- client.connect do |client|
- client.fetch_storage_snapshot( API_URL + '/storage_snapshots/bogus' )
+ client.connect do |c|
+ c.fetch_storage_snapshot( API_URL + '/storage_snapshots/bogus' )
end
- }.should raise_error(DeltaCloud::HTTPError::NotFound)
+ }.must_raise DeltaCloud::HTTPError::NotFound
end
end
diff --git a/client/tests/storage_volume_test.rb b/client/tests/storage_volume_test.rb
index 8fb153e..1d6bd8d 100644
--- a/client/tests/storage_volume_test.rb
+++ b/client/tests/storage_volume_test.rb
@@ -16,75 +16,75 @@
# License for the specific language governing permissions and limitations
# under the License.
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
-require 'specs/spec_helper'
+require_relative './test_helper.rb'
-describe "storage volumes" do
-
- it_should_behave_like "all resources"
+describe "Storage Volumes" do
it "allow retrieval of all storage volumes owned by the current user" do
[API_URL, API_URL_REDIRECT].each do |entry_point|
client = DeltaCloud.new( API_NAME, API_PASSWORD, entry_point )
- client.connect do |client|
- storage_volumes = client.storage_volumes
- storage_volumes.should_not be_nil
- storage_volumes.should_not be_empty
+ client.connect do |c|
+ storage_volumes = c.storage_volumes
+ storage_volumes.wont_be_nil
+ storage_volumes.wont_be_nil
ids = storage_volumes.collect{|e| e.id}
- ids.size.should eql( 3 )
- ids.should include( 'vol2' )
- ids.should include( 'vol3' )
+ ids.size.must_equal 3
+ ids.must_include 'vol1'
+ ids.must_include 'vol3'
end
end
end
it "should allow fetching of storage volume by id" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
- client.connect do |client|
- storage_volume = client.storage_volume( 'vol3' )
- storage_volume.id.should eql( 'vol3' )
- storage_volume.uri.should eql( API_URL + '/storage_volumes/vol3' )
- storage_volume.capacity.should eql( 1.0 )
- storage_volume.device.should eql( '/dev/sda1' )
- storage_volume.instance.should_not be_nil
- storage_volume.instance.id.should eql( 'inst1' )
+ client.connect do |c|
+ storage_volume = c.storage_volume( 'vol3' )
+ storage_volume.id.must_equal 'vol3'
+ storage_volume.uri.must_equal API_URL + '/storage_volumes/vol3'
+ storage_volume.capacity.must_equal 1.0
+ storage_volume.device.must_equal '/dev/sda1'
+ storage_volume.instance.wont_be_nil
+ storage_volume.instance.id.must_equal 'inst1'
ip = storage_volume.instance
- ip.hardware_profile.architecture.value.should eql( 'i386' )
+ ip.hardware_profile.architecture.value.must_equal 'i386'
end
end
it "should allow fetching of storage volume by URI" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
- client.connect do |client|
- storage_volume = client.fetch_storage_volume( API_URL + '/storage_volumes/vol3' )
- storage_volume.should_not be_nil
- storage_volume.id.should eql( 'vol3' )
- storage_volume.uri.should eql( API_URL + '/storage_volumes/vol3' )
- storage_volume.capacity.should eql( 1.0 )
- storage_volume.device.should eql( '/dev/sda1' )
- storage_volume.instance.should_not be_nil
- storage_volume.instance.id.should eql( 'inst1' )
+ client.connect do |c|
+ storage_volume = c.fetch_storage_volume( API_URL + '/storage_volumes/vol3' )
+ storage_volume.wont_be_nil
+ storage_volume.id.must_equal 'vol3'
+ storage_volume.uri.must_equal API_URL + '/storage_volumes/vol3'
+ storage_volume.capacity.must_equal 1.0
+ storage_volume.device.must_equal '/dev/sda1'
+ storage_volume.instance.wont_be_nil
+ storage_volume.instance.id.must_equal 'inst1'
ip = storage_volume.instance
- ip.hardware_profile.architecture.value.should eql( 'i386' )
+ ip.hardware_profile.architecture.value.must_equal 'i386'
end
end
it "should raise exception for unknown storage volume by ID" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
lambda {
- client.connect do |client|
- client.storage_volume( 'bogus' )
+ client.connect do |c|
+ c.storage_volume( 'bogus' )
end
- }.should raise_error(DeltaCloud::HTTPError::NotFound)
+ }.must_raise DeltaCloud::HTTPError::NotFound
end
it "should raise exception for unknown storage volume by URI" do
client = DeltaCloud.new( API_NAME, API_PASSWORD, API_URL )
lambda {
- client.connect do |client|
+ client.connect do |c|
client.fetch_storage_volume( API_URL + '/storage_volumes/bogus' )
end
- }.should raise_error(DeltaCloud::HTTPError::NotFound)
+ }.must_raise DeltaCloud::HTTPError::NotFound
end
diff --git a/client/tests/test_helper.rb b/client/tests/test_helper.rb
new file mode 100644
index 0000000..40a2c02
--- /dev/null
+++ b/client/tests/test_helper.rb
@@ -0,0 +1,17 @@
+require 'rubygems'
+require 'require_relative' if RUBY_VERSION =~ /^1\.8/
+require 'minitest/autorun'
+
+require_relative '../lib/deltacloud.rb'
+
+# Configuration:
+
+API_HOST = 'localhost'
+API_PORT = '3001'
+API_PATH = '/api'
+
+API_NAME = 'mockuser'
+API_PASSWORD = 'mockpassword'
+
+API_URL_REDIRECT = "http://#{API_HOST}:#{API_PORT}"
+API_URL = "#{API_URL_REDIRECT}#{API_PATH}"
--
1.7.10.2