heirloom 0.2.0 → 0.3.0.rc1

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.
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