heirloom 0.2.0 → 0.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/CHANGELOG +10 -0
  2. data/README.md +17 -15
  3. data/lib/heirloom/acl/s3.rb +3 -2
  4. data/lib/heirloom/archive/authorizer.rb +8 -4
  5. data/lib/heirloom/archive/builder.rb +8 -8
  6. data/lib/heirloom/archive/destroyer.rb +4 -2
  7. data/lib/heirloom/archive/reader.rb +15 -3
  8. data/lib/heirloom/archive/uploader.rb +2 -1
  9. data/lib/heirloom/archive/verifier.rb +2 -1
  10. data/lib/heirloom/archive.rb +18 -13
  11. data/lib/heirloom/cli/authorize.rb +52 -0
  12. data/lib/heirloom/cli/build.rb +25 -17
  13. data/lib/heirloom/cli/destroy.rb +6 -3
  14. data/lib/heirloom/cli/download.rb +8 -4
  15. data/lib/heirloom/cli/list.rb +6 -3
  16. data/lib/heirloom/cli/shared.rb +31 -0
  17. data/lib/heirloom/cli/show.rb +10 -7
  18. data/lib/heirloom/cli/update.rb +12 -7
  19. data/lib/heirloom/cli.rb +9 -2
  20. data/lib/heirloom/config.rb +4 -10
  21. data/lib/heirloom/directory/git_directory.rb +2 -2
  22. data/lib/heirloom/logger.rb +18 -30
  23. data/lib/heirloom/version.rb +1 -1
  24. data/script/ci_setup +4 -4
  25. data/spec/acl/s3_spec.rb +2 -3
  26. data/spec/{heirloom → archive}/authorizer_spec.rb +5 -5
  27. data/spec/{heirloom → archive}/builder_spec.rb +0 -0
  28. data/spec/{heirloom → archive}/destroyer_spec.rb +1 -2
  29. data/spec/{heirloom → archive}/downloader_spec.rb +0 -0
  30. data/spec/{heirloom → archive}/lister_spec.rb +0 -0
  31. data/spec/{heirloom → archive}/reader_spec.rb +20 -4
  32. data/spec/archive/updater_spec.rb +26 -0
  33. data/spec/archive/uploader_spec.rb +40 -0
  34. data/spec/{heirloom → archive}/verifier_spec.rb +6 -6
  35. data/spec/archive_spec.rb +195 -0
  36. data/spec/cli/shared_spec.rb +45 -0
  37. data/spec/config_spec.rb +11 -22
  38. data/spec/logger_spec.rb +3 -9
  39. metadata +42 -41
  40. data/spec/heirloom/updater_spec.rb +0 -16
  41. data/spec/heirloom/uploader_spec.rb +0 -16
  42. data/spec/heirloom_spec.rb +0 -74
data/spec/config_spec.rb CHANGED
@@ -4,12 +4,9 @@ describe Heirloom do
4
4
 
5
5
  before do
6
6
  @config = { 'aws' =>
7
- { 'access_key' => 'key',
8
- 'secret_key' => 'secret',
9
- 'regions' => ['us-west-1', 'us-west-2'],
10
- 'bucket_prefix' => 'prefix',
11
- 'simpledb' => true,
12
- 'authorized_aws_accounts' => [ 'test1 @acct.com', 'test2@acct.com' ]
7
+ { 'access_key' => 'key',
8
+ 'secret_key' => 'secret',
9
+ 'primary_region' => 'us-west-2'
13
10
  }
14
11
  }
15
12
  end
@@ -19,11 +16,7 @@ describe Heirloom do
19
16
  :logger => 'da-logger'
20
17
  config.access_key.should == @config['aws']['access_key']
21
18
  config.secret_key.should == @config['aws']['secret_key']
22
- config.regions.should == @config['aws']['regions']
23
- config.primary_region.should == 'us-west-1'
24
- config.bucket_prefix.should == @config['aws']['bucket_prefix']
25
- config.authorized_aws_accounts.should == @config['aws']['authorized_aws_accounts']
26
- config.simpledb.should == true
19
+ config.primary_region.should == @config['aws']['primary_region']
27
20
  config.logger.should == 'da-logger'
28
21
  end
29
22
 
@@ -33,19 +26,15 @@ describe Heirloom do
33
26
  config = Heirloom::Config.new
34
27
  config.access_key.should == @config['aws']['access_key']
35
28
  config.secret_key.should == @config['aws']['secret_key']
36
- config.regions.should == @config['aws']['regions']
37
- config.primary_region.should == 'us-west-1'
38
- config.bucket_prefix.should == @config['aws']['bucket_prefix']
39
- config.simpledb.should == true
40
- config.authorized_aws_accounts.should == @config['aws']['authorized_aws_accounts']
29
+ config.primary_region.should == @config['aws']['primary_region']
41
30
  end
42
31
 
43
- it "should set simpledb to true by default" do
44
- @config['aws']['simpledb'] = nil
45
- File.should_receive(:open).with("#{ENV['HOME']}/.heirloom.yml").
46
- and_return(@config.to_yaml)
47
- config = Heirloom::Config.new
48
- config.simpledb.should == true
32
+ it "should set the primary region to us-west-1 if not present in config" do
33
+ @config['aws'] = {}
34
+ config = Heirloom::Config.new :config => @config,
35
+ :logger => 'da-logger'
36
+ config.primary_region.should == 'us-west-1'
49
37
  end
50
38
 
39
+
51
40
  end
data/spec/logger_spec.rb CHANGED
@@ -5,7 +5,6 @@ describe Heirloom do
5
5
  it "should create a new logger object from the hash passed as :logger" do
6
6
  logger_mock = mock 'logger'
7
7
  logger_mock.should_receive(:info).with 'a message'
8
- logger_mock.should_receive(:level=).with Logger::INFO
9
8
  logger = Heirloom::HeirloomLogger.new :logger => logger_mock
10
9
  logger.info 'a message'
11
10
  end
@@ -14,16 +13,11 @@ describe Heirloom do
14
13
  logger_mock = mock 'logger'
15
14
  Logger.should_receive(:new).with(STDOUT).and_return logger_mock
16
15
  logger_mock.should_receive(:info).with 'a message'
17
- logger_mock.should_receive(:level=).with Logger::INFO
16
+ logger_mock.should_receive(:datetime_format=).with '%Y-%m-%dT%H:%M:%S%z'
17
+ logger_mock.should_receive(:formatter=)
18
+ logger_mock.should_receive(:level=).with 1
18
19
  logger = Heirloom::HeirloomLogger.new
19
20
  logger.info 'a message'
20
21
  end
21
22
 
22
- it "should set the log level to debug when passed in as log_level" do
23
- logger_mock = mock 'logger'
24
- Logger.should_receive(:new).with(STDOUT).and_return logger_mock
25
- logger_mock.should_receive(:level=).with Logger::DEBUG
26
- logger = Heirloom::HeirloomLogger.new :log_level => 'debug'
27
- end
28
-
29
23
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heirloom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
5
- prerelease:
4
+ version: 0.3.0.rc1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Brett Weaver
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-19 00:00:00.000000000 Z
12
+ date: 2012-07-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70152737644500 !ruby/object:Gem::Requirement
16
+ requirement: &70145117661200 !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: *70152737644500
24
+ version_requirements: *70145117661200
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: fog
27
- requirement: &70152737643400 !ruby/object:Gem::Requirement
27
+ requirement: &70145117660720 !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: :runtime
34
34
  prerelease: false
35
- version_requirements: *70152737643400
35
+ version_requirements: *70145117660720
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: grit
38
- requirement: &70152737657440 !ruby/object:Gem::Requirement
38
+ requirement: &70145117660280 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70152737657440
46
+ version_requirements: *70145117660280
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: logger
49
- requirement: &70152737654800 !ruby/object:Gem::Requirement
49
+ requirement: &70145117659840 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70152737654800
57
+ version_requirements: *70145117659840
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: minitar
60
- requirement: &70152737651940 !ruby/object:Gem::Requirement
60
+ requirement: &70145117659380 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70152737651940
68
+ version_requirements: *70145117659380
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: trollop
71
- requirement: &70152737666040 !ruby/object:Gem::Requirement
71
+ requirement: &70145117658940 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70152737666040
79
+ version_requirements: *70145117658940
80
80
  description: I help build and manage building tar.gz files and deploying them into
81
81
  the cloud
82
82
  email:
@@ -112,10 +112,12 @@ files:
112
112
  - lib/heirloom/aws/s3.rb
113
113
  - lib/heirloom/aws/simpledb.rb
114
114
  - lib/heirloom/cli.rb
115
+ - lib/heirloom/cli/authorize.rb
115
116
  - lib/heirloom/cli/build.rb
116
117
  - lib/heirloom/cli/destroy.rb
117
118
  - lib/heirloom/cli/download.rb
118
119
  - lib/heirloom/cli/list.rb
120
+ - lib/heirloom/cli/shared.rb
119
121
  - lib/heirloom/cli/show.rb
120
122
  - lib/heirloom/cli/update.rb
121
123
  - lib/heirloom/config.rb
@@ -132,23 +134,24 @@ files:
132
134
  - lib/heirloom/version.rb
133
135
  - script/ci_setup
134
136
  - spec/acl/s3_spec.rb
137
+ - spec/archive/authorizer_spec.rb
138
+ - spec/archive/builder_spec.rb
139
+ - spec/archive/destroyer_spec.rb
140
+ - spec/archive/downloader_spec.rb
141
+ - spec/archive/lister_spec.rb
142
+ - spec/archive/reader_spec.rb
143
+ - spec/archive/updater_spec.rb
144
+ - spec/archive/uploader_spec.rb
145
+ - spec/archive/verifier_spec.rb
146
+ - spec/archive_spec.rb
135
147
  - spec/aws/s3_spec.rb
136
148
  - spec/aws/simpledb_spec.rb
149
+ - spec/cli/shared_spec.rb
137
150
  - spec/config_spec.rb
138
151
  - spec/destroyer/s3_spec.rb
139
152
  - spec/directory/directory_spec.rb
140
153
  - spec/directory/git_directory_spec.rb
141
154
  - spec/downloader/s3_spec.rb
142
- - spec/heirloom/authorizer_spec.rb
143
- - spec/heirloom/builder_spec.rb
144
- - spec/heirloom/destroyer_spec.rb
145
- - spec/heirloom/downloader_spec.rb
146
- - spec/heirloom/lister_spec.rb
147
- - spec/heirloom/reader_spec.rb
148
- - spec/heirloom/updater_spec.rb
149
- - spec/heirloom/uploader_spec.rb
150
- - spec/heirloom/verifier_spec.rb
151
- - spec/heirloom_spec.rb
152
155
  - spec/logger_spec.rb
153
156
  - spec/spec_helper.rb
154
157
  homepage: ''
@@ -165,16 +168,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
168
  version: '0'
166
169
  segments:
167
170
  - 0
168
- hash: 2218051288322910577
171
+ hash: 3441427779404670971
169
172
  required_rubygems_version: !ruby/object:Gem::Requirement
170
173
  none: false
171
174
  requirements:
172
- - - ! '>='
175
+ - - ! '>'
173
176
  - !ruby/object:Gem::Version
174
- version: '0'
175
- segments:
176
- - 0
177
- hash: 2218051288322910577
177
+ version: 1.3.1
178
178
  requirements: []
179
179
  rubyforge_project: heirloom
180
180
  rubygems_version: 1.8.16
@@ -183,22 +183,23 @@ specification_version: 3
183
183
  summary: I help with deploying code into the cloud
184
184
  test_files:
185
185
  - spec/acl/s3_spec.rb
186
+ - spec/archive/authorizer_spec.rb
187
+ - spec/archive/builder_spec.rb
188
+ - spec/archive/destroyer_spec.rb
189
+ - spec/archive/downloader_spec.rb
190
+ - spec/archive/lister_spec.rb
191
+ - spec/archive/reader_spec.rb
192
+ - spec/archive/updater_spec.rb
193
+ - spec/archive/uploader_spec.rb
194
+ - spec/archive/verifier_spec.rb
195
+ - spec/archive_spec.rb
186
196
  - spec/aws/s3_spec.rb
187
197
  - spec/aws/simpledb_spec.rb
198
+ - spec/cli/shared_spec.rb
188
199
  - spec/config_spec.rb
189
200
  - spec/destroyer/s3_spec.rb
190
201
  - spec/directory/directory_spec.rb
191
202
  - spec/directory/git_directory_spec.rb
192
203
  - spec/downloader/s3_spec.rb
193
- - spec/heirloom/authorizer_spec.rb
194
- - spec/heirloom/builder_spec.rb
195
- - spec/heirloom/destroyer_spec.rb
196
- - spec/heirloom/downloader_spec.rb
197
- - spec/heirloom/lister_spec.rb
198
- - spec/heirloom/reader_spec.rb
199
- - spec/heirloom/updater_spec.rb
200
- - spec/heirloom/uploader_spec.rb
201
- - spec/heirloom/verifier_spec.rb
202
- - spec/heirloom_spec.rb
203
204
  - spec/logger_spec.rb
204
205
  - spec/spec_helper.rb
@@ -1,16 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Heirloom do
4
-
5
- before do
6
- @config_mock = double 'config'
7
- @logger_mock = double 'logger'
8
- @config_mock.should_receive(:logger).and_return(@logger_mock)
9
- @reader = Heirloom::Updater.new :config => @config_mock,
10
- :name => 'tim',
11
- :id => '123'
12
- end
13
-
14
- it "should test the archive updater methods"
15
-
16
- end
@@ -1,16 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Heirloom do
4
-
5
- before do
6
- @config_mock = double 'config'
7
- @logger_mock = double 'logger'
8
- @config_mock.should_receive(:logger).and_return(@logger_mock)
9
- @reader = Heirloom::Uploader.new :config => @config_mock,
10
- :name => 'tim',
11
- :id => '123'
12
- end
13
-
14
- it "should test the archive uploader methods"
15
-
16
- end
@@ -1,74 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Heirloom do
4
-
5
- before do
6
- Heirloom::Config.should_receive(:new).and_return('config')
7
- @heirloom = Heirloom::Archive.new :logger => 'logger',
8
- :name => 'tim',
9
- :id => '123'
10
- end
11
-
12
-
13
- context "test public methods" do
14
- before do
15
- @mock = double('Mock')
16
- end
17
-
18
- it "should call build method with given args" do
19
- @heirloom.should_receive(:builder).and_return(@mock)
20
- @mock.should_receive(:build).with('args')
21
- @heirloom.build('args')
22
- end
23
-
24
- it "should call download method with given args" do
25
- @heirloom.should_receive(:downloader).and_return(@mock)
26
- @mock.should_receive(:download).with('args')
27
- @heirloom.download('args')
28
- end
29
-
30
- it "should call update heirloom method with given args" do
31
- @heirloom.should_receive(:updater).and_return(@mock)
32
- @mock.should_receive(:update).with('args')
33
- @heirloom.update('args')
34
- end
35
-
36
- it "should call upload heirloom method with given args" do
37
- @heirloom.should_receive(:uploader).and_return(@mock)
38
- @mock.should_receive(:upload).with('args')
39
- @heirloom.upload('args')
40
- end
41
-
42
- it "should call authorize method" do
43
- @heirloom.should_receive(:authorizer).and_return(@mock)
44
- @mock.should_receive(:authorize)
45
- @heirloom.authorize
46
- end
47
-
48
- it "should call heirloom exists method" do
49
- @heirloom.should_receive(:reader).and_return(@mock)
50
- @mock.should_receive(:exists?)
51
- @heirloom.exists?
52
- end
53
-
54
- it "should call show method" do
55
- @heirloom.should_receive(:reader).and_return(@mock)
56
- @mock.should_receive(:show)
57
- @heirloom.show
58
- end
59
-
60
- it "should call list method" do
61
- @heirloom.should_receive(:lister).and_return(@mock)
62
- @mock.should_receive(:list)
63
- @heirloom.list
64
- end
65
-
66
- it "should call cleanup method" do
67
- @heirloom.should_receive(:builder).and_return(@mock)
68
- @mock.should_receive(:cleanup)
69
- @heirloom.cleanup
70
- end
71
-
72
- end
73
-
74
- end