From 26b556975c75ce8c2ed0d112f421d1900963ab8d Mon Sep 17 00:00:00 2001 From: Wesley Beary Date: Sun, 20 Sep 2009 09:21:21 -0700 Subject: [PATCH] starting to add specs for ec2 models --- lib/fog/aws/ec2.rb | 5 ++ spec/aws/models/ec2/address_spec.rb | 84 +++++++++++++++++++++++++++++ spec/aws/models/s3/bucket_spec.rb | 1 - 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 spec/aws/models/ec2/address_spec.rb diff --git a/lib/fog/aws/ec2.rb b/lib/fog/aws/ec2.rb index a1da5c370..413a8f14c 100644 --- a/lib/fog/aws/ec2.rb +++ b/lib/fog/aws/ec2.rb @@ -20,10 +20,15 @@ module Fog end def self.reload + load "fog/collection.rb" load "fog/connection.rb" + load "fog/model.rb" load "fog/parser.rb" load "fog/response.rb" + load "fog/aws/models/ec2/address.rb" + load "fog/aws/models/ec2/addresses.rb" + load "fog/aws/parsers/ec2/allocate_address.rb" load "fog/aws/parsers/ec2/attach_volume.rb" load "fog/aws/parsers/ec2/basic.rb" diff --git a/spec/aws/models/ec2/address_spec.rb b/spec/aws/models/ec2/address_spec.rb new file mode 100644 index 000000000..8db2101de --- /dev/null +++ b/spec/aws/models/ec2/address_spec.rb @@ -0,0 +1,84 @@ +require File.dirname(__FILE__) + '/../../../spec_helper' + +describe 'Fog::AWS::EC2::Address' do + + describe "#initialize" do + + it "should remap attributes from parser" do + address = Fog::AWS::EC2::Address.new( + 'instanceId' => 'i-00000000', + 'publicIp' => '0.0.0.0' + ) + address.instance_id.should == 'i-00000000' + address.public_ip.should == '0.0.0.0' + end + + end + + describe "#addresses" do + + it "should return a Fog::AWS::EC2::Addresses" do + ec2.addresses.new.addresses.should be_a(Fog::AWS::EC2::Addresses) + end + + it "should be the addresses the address is related to" do + addresses = ec2.addresses + addresses.new.addresses.should == addresses + end + + end + + describe "#destroy" do + + it "should return true if the address is deleted" do + address = ec2.addresses.create + address.destroy.should be_true + end + + end + + describe "#reload" do + + before(:each) do + @address = ec2.addresses.create + @reloaded = @address.reload + end + + after(:each) do + @address.destroy + end + + it "should return a Fog::AWS::EC2::Address" do + @reloaded.should be_a(Fog::AWS::EC2::Address) + end + + it "should reset attributes to remote state" do + @address.attributes.should == @reloaded.attributes + end + + end + + describe "#save" do + + before(:each) do + @address = ec2.addresses.new + end + + it "should return true when it succeeds" do + @address.save.should be_true + @address.destroy + end + + it "should not exist in addresses before save" do + @address.addresses.all.map {|address| address.public_ip}.include?(@address.public_ip).should be_false + end + + it "should exist in buckets after save" do + @address.save + @address.addresses.all.map {|address| address.public_ip}.include?(@address.public_ip).should be_true + @address.destroy + end + + end + +end diff --git a/spec/aws/models/s3/bucket_spec.rb b/spec/aws/models/s3/bucket_spec.rb index 02c52a03b..1e0ed5123 100644 --- a/spec/aws/models/s3/bucket_spec.rb +++ b/spec/aws/models/s3/bucket_spec.rb @@ -98,7 +98,6 @@ describe 'Fog::AWS::S3::Bucket' do end it "should reset attributes to remote state" do - @bucket.creation_date = Time.now @bucket.attributes.should == @reloaded.attributes end