composer 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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