composer 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ ## 0.0.7:
2
+
3
+ * Catch and re-raise ec2 errors
4
+ * Ensure key is included in arguments
5
+
1
6
  ## 0.0.6:
2
7
 
3
8
  * Added proxy support through https_proxy variable
@@ -9,6 +9,8 @@ module Composer
9
9
 
10
10
  def key_pairs
11
11
  ec2.regions[@region].key_pairs
12
+ rescue ::AWS::EC2::Errors::AuthFailure => e
13
+ raise Composer::AwsEc2Error.new e.message
12
14
  end
13
15
 
14
16
  private
@@ -38,7 +38,7 @@ module Composer
38
38
  end
39
39
 
40
40
  def validate_options
41
- required_keys = [:key, :name, :region]
41
+ required_keys = [:key, :name, :region, :secret]
42
42
  missing_keys = required_keys - @opts.keys
43
43
 
44
44
  unless missing_keys.empty?
@@ -34,4 +34,7 @@ module Composer
34
34
  class SimpleDeployConfigExists < ComposerException
35
35
  end
36
36
 
37
+ class AwsEc2Error < ComposerException
38
+ end
39
+
37
40
  end
@@ -1,3 +1,3 @@
1
1
  module Composer
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Composer::AWS::EC2 do
4
+ before do
5
+ @us_west_1_mock = mock 'region'
6
+ @ec2_stub = stub 'ec2', :regions => { 'us-west-1' => @us_west_1_mock }
7
+ @logger_stub = stub 'logger'
8
+ @config_stub = stub 'config', :logger => @logger_stub,
9
+ :region => 'us-west-1'
10
+ ::AWS::EC2.stub :new => @ec2_stub
11
+ end
12
+
13
+ it "should call key pairs on the given region" do
14
+ @us_west_1_mock.stub :key_pairs => ['test-key']
15
+ ec2 = Composer::AWS::EC2.new :config => @config_stub
16
+ ec2.key_pairs.should == ['test-key']
17
+ end
18
+
19
+ it "should reraise ec2 errors as composer errors" do
20
+ exception = ::AWS::EC2::Errors::AuthFailure.new 'test msg'
21
+ @us_west_1_mock.should_receive(:key_pairs).
22
+ and_raise exception
23
+ ec2 = Composer::AWS::EC2.new :config => @config_stub
24
+ lambda { ec2.key_pairs }.should raise_error Composer::AwsEc2Error
25
+ end
26
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: composer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-28 00:00:00.000000000 Z
12
+ date: 2013-01-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70095561528160 !ruby/object:Gem::Requirement
16
+ requirement: &70214088611600 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70095561528160
24
+ version_requirements: *70214088611600
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70095561527580 !ruby/object:Gem::Requirement
27
+ requirement: &70214088610860 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70095561527580
35
+ version_requirements: *70214088610860
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: aws-sdk
38
- requirement: &70095561526320 !ruby/object:Gem::Requirement
38
+ requirement: &70214088610280 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - =
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 1.7.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70095561526320
46
+ version_requirements: *70214088610280
47
47
  description: I deploy and manage AWS resources.
48
48
  email:
49
49
  - brett@weav.net
@@ -85,6 +85,7 @@ files:
85
85
  - lib/composer/verify/ruby.rb
86
86
  - lib/composer/verify/secret.rb
87
87
  - lib/composer/version.rb
88
+ - spec/aws/ec2_spec.rb
88
89
  - spec/compose_spec.rb
89
90
  - spec/config_spec.rb
90
91
  - spec/spec_helper.rb
@@ -102,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
102
103
  version: '0'
103
104
  segments:
104
105
  - 0
105
- hash: 2440372189325897542
106
+ hash: 1399452483979458246
106
107
  required_rubygems_version: !ruby/object:Gem::Requirement
107
108
  none: false
108
109
  requirements:
@@ -111,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
112
  version: '0'
112
113
  segments:
113
114
  - 0
114
- hash: 2440372189325897542
115
+ hash: 1399452483979458246
115
116
  requirements: []
116
117
  rubyforge_project:
117
118
  rubygems_version: 1.8.16
@@ -119,6 +120,7 @@ signing_key:
119
120
  specification_version: 3
120
121
  summary: I deploy and manage AWS resources.
121
122
  test_files:
123
+ - spec/aws/ec2_spec.rb
122
124
  - spec/compose_spec.rb
123
125
  - spec/config_spec.rb
124
126
  - spec/spec_helper.rb