diff --git a/lib/fog/aws/models/ec2/flavors.rb b/lib/fog/aws/models/ec2/flavors.rb index c465aaaab..00ddc0e9d 100644 --- a/lib/fog/aws/models/ec2/flavors.rb +++ b/lib/fog/aws/models/ec2/flavors.rb @@ -38,7 +38,7 @@ module Fog end def get(flavor_id) - all.detect {|flavor| flavor.id = flavor_id} + all.detect {|flavor| flavor.id == flavor_id} end end diff --git a/spec/aws/models/ec2/snapshot_spec.rb b/spec/aws/models/ec2/snapshot_spec.rb index 6ab862121..265c111ff 100644 --- a/spec/aws/models/ec2/snapshot_spec.rb +++ b/spec/aws/models/ec2/snapshot_spec.rb @@ -35,7 +35,7 @@ describe 'Fog::AWS::EC2::Snapshots' do it "should return true if the snapshot is deleted" do volume = AWS[:ec2].volumes.create(:availability_zone => 'us-east-1a', :size => 1, :device => 'dev/sdz1') snapshot = volume.snapshots.create - snapshot.wait_for { status == "completed" } + snapshot.wait_for { ready? } snapshot.destroy.should be_true volume.destroy end @@ -69,6 +69,7 @@ describe 'Fog::AWS::EC2::Snapshots' do before(:each) do @volume = AWS[:ec2].volumes.create(:availability_zone => 'us-east-1a', :size => 1, :device => 'dev/sdz1') + @volume.wait_for { ready? } @snapshot = @volume.snapshots.new end @@ -77,10 +78,9 @@ describe 'Fog::AWS::EC2::Snapshots' do end it "should return true when it succeeds" do - eventually do - @snapshot.save.should be_true - @snapshot.destroy - end + @snapshot.save.should be_true + @snapshot.wait_for { ready? } + @snapshot.destroy end it "should not exist in snapshots before save" do @@ -90,6 +90,7 @@ describe 'Fog::AWS::EC2::Snapshots' do it "should exist in snapshots after save" do @snapshot.save AWS[:ec2].snapshots.get(@snapshot.id).should_not be_nil + @snapshot.wait_for { ready? } @snapshot.destroy end diff --git a/spec/aws/models/ec2/snapshots_spec.rb b/spec/aws/models/ec2/snapshots_spec.rb index e822311d7..086d1c661 100644 --- a/spec/aws/models/ec2/snapshots_spec.rb +++ b/spec/aws/models/ec2/snapshots_spec.rb @@ -19,8 +19,11 @@ describe 'Fog::AWS::EC2::Snapshots' do it "should limit snapshots by volume if present" do @volume = AWS[:ec2].volumes.create(:availability_zone => 'us-east-1a', :size => 1, :device => 'dev/sdz1') @other_volume = AWS[:ec2].volumes.create(:availability_zone => 'us-east-1a', :size => 1, :device => 'dev/sdz1') - eventually { @snapshot = @volume.snapshots.create } + @volume.wait_for { ready?} + @snapshot = @volume.snapshots.create @other_volume.snapshots.all.map {|snapshot| snapshot.id}.should_not include(@snapshot.id) + + @snapshot.wait_for { ready? } @snapshot.destroy @other_volume.destroy @volume.destroy @@ -32,10 +35,12 @@ describe 'Fog::AWS::EC2::Snapshots' do before(:each) do @volume = AWS[:ec2].volumes.create(:availability_zone => 'us-east-1a', :size => 1, :device => 'dev/sdz1') + @volume.wait_for { ready? } @snapshot = @volume.snapshots.create end after(:each) do + @snapshot.wait_for { ready? } @snapshot.destroy @volume.destroy end @@ -55,8 +60,9 @@ describe 'Fog::AWS::EC2::Snapshots' do it "should return a Fog::AWS::EC2::Snapshot if a matching snapshot exists" do volume = AWS[:ec2].volumes.create(:availability_zone => 'us-east-1a', :size => 1, :device => 'dev/sdz1') snapshot = volume.snapshots.create + snapshot.wait_for { ready? } get = AWS[:ec2].snapshots.get(snapshot.id) - snapshot.attributes.reject {|key, value| [:progress, :status].include?(key)}.should == get.attributes.reject {|key, value| [:progress, :status].include?(key)} + snapshot.attributes.should == get.attributes snapshot.destroy end diff --git a/spec/aws/models/ec2/volume_spec.rb b/spec/aws/models/ec2/volume_spec.rb index 3f2b2124e..ec209d168 100644 --- a/spec/aws/models/ec2/volume_spec.rb +++ b/spec/aws/models/ec2/volume_spec.rb @@ -49,15 +49,15 @@ describe 'Fog::AWS::EC2::Volume' do before(:each) do @server = AWS[:ec2].servers.create(:image_id => GENTOO_AMI) @volume = AWS[:ec2].volumes.new(:availability_zone => @server.availability_zone, :size => 1, :device => '/dev/sdz1') - @server.wait_for { state == 'running' } + @server.wait_for { ready? } end after(:each) do @server.destroy if @volume.id - @volume.wait_for { status == 'attached' } + @volume.wait_for { state == 'attached' } @volume.server = nil - @volume.wait_for { status == 'available' } + @volume.wait_for { ready? } @volume.destroy end end diff --git a/spec/aws/models/ec2/volumes_spec.rb b/spec/aws/models/ec2/volumes_spec.rb index 8b17a0fd1..c82c306b0 100644 --- a/spec/aws/models/ec2/volumes_spec.rb +++ b/spec/aws/models/ec2/volumes_spec.rb @@ -40,8 +40,9 @@ describe 'Fog::AWS::EC2::Volumes' do it "should return a Fog::AWS::EC2::Volume if a matching volume exists" do volume = AWS[:ec2].volumes.create(:availability_zone => 'us-east-1a', :size => 1, :device => 'dev/sdz1') + volume.wait_for { ready? } get = AWS[:ec2].volumes.get(volume.id) - volume.attributes.reject { |key, value| [:device, :status].include?(key) }.should == get.attributes.reject { |key, value| [:device, :status].include?(key) } + volume.attributes.should == get.attributes volume.destroy end diff --git a/spec/aws/models/s3/directories_spec.rb b/spec/aws/models/s3/directories_spec.rb index cdae807e3..b4444c491 100644 --- a/spec/aws/models/s3/directories_spec.rb +++ b/spec/aws/models/s3/directories_spec.rb @@ -32,7 +32,7 @@ describe 'Fog::AWS::S3::Directories' do end it "should return nil if no matching directory exists" do - AWS[:s3].directories.get('fogdirectoryname').should be_nil + AWS[:s3].directories.get('fognotadirectory').should be_nil end end