paratrooper 2.4.1 → 3.0.0.beta1

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.
@@ -45,76 +45,46 @@ describe Paratrooper::HerokuWrapper do
45
45
 
46
46
  describe '#app_restart' do
47
47
  it "calls down to heroku api" do
48
- heroku_api.should_receive(:post_ps_restart).with(app_name)
48
+ expect(heroku_api).to receive(:post_ps_restart).with(app_name)
49
49
  wrapper.app_restart
50
50
  end
51
51
  end
52
52
 
53
53
  describe '#app_maintenance_off' do
54
54
  it "calls down to heroku api" do
55
- heroku_api.should_receive(:post_app_maintenance).with(app_name, '0')
55
+ expect(heroku_api).to receive(:post_app_maintenance).with(app_name, '0')
56
56
  wrapper.app_maintenance_off
57
57
  end
58
58
  end
59
59
 
60
60
  describe '#app_maintenance_on' do
61
61
  it "calls down to heroku api" do
62
- heroku_api.should_receive(:post_app_maintenance).with(app_name, '1')
62
+ expect(heroku_api).to receive(:post_app_maintenance).with(app_name, '1')
63
63
  wrapper.app_maintenance_on
64
64
  end
65
65
  end
66
66
 
67
67
  describe '#run_migrations' do
68
68
  it 'calls into the heroku api' do
69
- heroku_api.should_receive(:post_ps).with(app_name, 'rake db:migrate', attach: 'true').and_return(double(body: ''))
69
+ expect(heroku_api).to receive(:post_ps).with(app_name, 'rake db:migrate', attach: 'true').and_return(double(body: ''))
70
70
  wrapper.run_migrations
71
71
  end
72
72
 
73
73
  it 'uses waits for db migrations to run using rendezvous' do
74
74
  data = { 'rendezvous_url' => 'the_url' }
75
- heroku_api.stub_chain(:post_ps, :body).and_return(data)
76
- rendezvous.should_receive(:start).with(:url => data['rendezvous_url'])
75
+ allow(heroku_api).to receive_message_chain(:post_ps, :body).and_return(data)
76
+ expect(rendezvous).to receive(:start).with(:url => data['rendezvous_url'])
77
77
  wrapper.run_migrations
78
78
  end
79
79
  end
80
80
 
81
- describe '#app_url' do
82
- context 'when custom domains are available' do
83
- let(:response) { double(:response, body: [{'domain' => 'APP_URL'}]) }
84
-
85
- it "calls down to heroku api" do
86
- heroku_api.should_receive(:get_domains).with(app_name).and_return(response)
87
- wrapper.app_url
88
- end
89
- end
90
-
91
- context 'when custom urls are not available' do
92
- let(:response) do
93
- double(:response, body: { 'domain_name' => { 'domain' => 'APP_URL' } })
94
- end
95
-
96
- let(:domain_response) do
97
- double(:domain_response, body: [])
98
- end
99
-
100
- before do
101
- heroku_api.stub(:get_domains).and_return(domain_response)
102
- end
103
-
104
- it "makes call to get default heroku app url" do
105
- heroku_api.should_receive(:get_app).with(app_name).and_return(response)
106
- expect(wrapper.app_url).to eq('APP_URL')
107
- end
108
- end
109
- end
110
-
111
81
  describe "#last_deploy_commit" do
112
82
  context "when deploy data is returned" do
113
83
  let(:response) do
114
84
  double(:response, body: [{ 'commit' => 'SHA' }])
115
85
  end
116
86
  it "returns string of last deployed commit" do
117
- heroku_api.should_receive(:get_releases).with(app_name)
87
+ expect(heroku_api).to receive(:get_releases).with(app_name)
118
88
  .and_return(response)
119
89
  expect(wrapper.last_deploy_commit).to eq('SHA')
120
90
  end
@@ -126,7 +96,7 @@ describe Paratrooper::HerokuWrapper do
126
96
  end
127
97
 
128
98
  it "returns nil" do
129
- heroku_api.should_receive(:get_releases).with(app_name)
99
+ expect(heroku_api).to receive(:get_releases).with(app_name)
130
100
  .and_return(response)
131
101
  expect(wrapper.last_deploy_commit).to eq(nil)
132
102
  end
@@ -33,7 +33,7 @@ describe Paratrooper::LocalApiKeyExtractor do
33
33
 
34
34
  context 'when environment variable is set' do
35
35
  before do
36
- ENV.stub(:[]).with('HEROKU_API_KEY').and_return('ENV_API_KEY')
36
+ allow(ENV).to receive(:[]).with('HEROKU_API_KEY').and_return('ENV_API_KEY')
37
37
  end
38
38
 
39
39
  it 'returns credentials' do
@@ -43,8 +43,7 @@ describe Paratrooper::LocalApiKeyExtractor do
43
43
 
44
44
  context 'when environment variable is not set' do
45
45
  before do
46
- ENV.stub(:[])
47
- ENV.stub(:[]).with('HEROKU_API_KEY').and_return(nil)
46
+ allow(ENV).to receive(:[]).with('HEROKU_API_KEY').and_return(nil)
48
47
  end
49
48
 
50
49
  it 'returns credentials from local file' do
@@ -5,7 +5,7 @@ describe Paratrooper::Notifier do
5
5
  let(:notifier) { described_class.new }
6
6
  describe '#notify' do
7
7
  it 'sends correct method options' do
8
- notifier.should_receive(:update_repo_tag).with(test: 'blah')
8
+ expect(notifier).to receive(:update_repo_tag).with(test: 'blah')
9
9
  notifier.notify(:update_repo_tag, test: 'blah')
10
10
  end
11
11
  end
@@ -16,22 +16,29 @@ describe Paratrooper::PendingMigrationCheck do
16
16
  let(:last_deployed_commit) { "LAST_DEPLOYED_COMMIT" }
17
17
 
18
18
  it "calls out to heroku for latest deploy's commit" do
19
- system_caller.stub(:execute).and_return("")
20
- heroku_wrapper.should_receive(:last_deploy_commit)
19
+ allow(system_caller).to receive(:execute).and_return("")
20
+ expect(heroku_wrapper).to receive(:last_deploy_commit)
21
21
  migration_check.migrations_waiting?
22
22
  end
23
23
 
24
24
  it "memoizes the git diff" do
25
- system_caller.should_receive(:execute).exactly(1).times.and_return("DIFF")
25
+ expect(system_caller).to receive(:execute).exactly(1).times.and_return("DIFF")
26
+ migration_check.migrations_waiting?
27
+ migration_check.migrations_waiting?
28
+ end
29
+
30
+ it "memoizes the git diff when empty" do
31
+ expect(system_caller).to receive(:execute).exactly(1).times.and_return("")
32
+ migration_check.migrations_waiting?
26
33
  migration_check.migrations_waiting?
27
34
  end
28
35
 
29
36
  context "and migrations are in diff" do
30
37
  it "returns true" do
31
38
  expected_call = %Q[git diff --shortstat LAST_DEPLOYED_COMMIT MATCH -- db/migrate]
32
- system_caller.should_receive(:execute).with(expected_call)
39
+ expect(system_caller).to receive(:execute).with(expected_call)
33
40
  .and_return("DIFF")
34
- expect(migration_check.migrations_waiting?).to be_true
41
+ expect(migration_check.migrations_waiting?).to be(true)
35
42
  end
36
43
  end
37
44
 
@@ -41,9 +48,9 @@ describe Paratrooper::PendingMigrationCheck do
41
48
 
42
49
  it "returns false" do
43
50
  expected_call = %Q[git diff --shortstat LAST_DEPLOYED_COMMIT master -- db/migrate]
44
- system_caller.should_receive(:execute).with(expected_call)
51
+ expect(system_caller).to receive(:execute).with(expected_call)
45
52
  .and_return("")
46
- expect(migration_check.migrations_waiting?).to be_false
53
+ expect(migration_check.migrations_waiting?).to be(false)
47
54
  end
48
55
  end
49
56
  end
@@ -0,0 +1,233 @@
1
+ require 'spec_helper'
2
+ require 'paratrooper/configuration'
3
+ require 'paratrooper/source_control'
4
+
5
+ describe Paratrooper::SourceControl do
6
+ describe "remote" do
7
+ it "returns string of git representing remote repo" do
8
+ config = instance_double(Paratrooper::Configuration,
9
+ deployment_host: 'HOST', app_name: 'APP'
10
+ )
11
+ source_control = described_class.new(config)
12
+
13
+ expect(source_control.remote).to eq("git@HOST:APP.git")
14
+ end
15
+ end
16
+
17
+ describe "force_flag" do
18
+ context "when force_push is truthy" do
19
+ it "returns string representing a force flag in git" do
20
+ config = instance_double(Paratrooper::Configuration, force_push: true)
21
+ source_control = described_class.new(config)
22
+
23
+ expect(source_control.force_flag).to eq("-f ")
24
+ end
25
+ end
26
+
27
+ context "when force_push is falsey" do
28
+ it "returns nil" do
29
+ config = instance_double(Paratrooper::Configuration, force_push: false)
30
+ source_control = described_class.new(config)
31
+
32
+ expect(source_control.force_flag).to be_nil
33
+ end
34
+ end
35
+ end
36
+
37
+ describe "branch_name" do
38
+ context "when branch name is available" do
39
+ context "and is the symbol :head" do
40
+ it "returns string representing HEAD" do
41
+ config = instance_double(Paratrooper::Configuration,
42
+ branch_name?: true, branch_name: :head
43
+ )
44
+ source_control = described_class.new(config)
45
+
46
+ expect(source_control.branch_name).to eq("HEAD")
47
+ end
48
+ end
49
+
50
+ context "and is the string head" do
51
+ it "returns string representing HEAD" do
52
+ config = instance_double(Paratrooper::Configuration,
53
+ branch_name?: true, branch_name: 'head'
54
+ )
55
+ source_control = described_class.new(config)
56
+
57
+ expect(source_control.branch_name).to eq("HEAD")
58
+ end
59
+ end
60
+
61
+ context "and contains any string name" do
62
+ it "returns string representing fully qualified branch path" do
63
+ config = instance_double(Paratrooper::Configuration,
64
+ branch_name?: true, branch_name: 'BRANCH_NAME'
65
+ )
66
+ source_control = described_class.new(config)
67
+
68
+ expect(source_control.branch_name).to eq("refs/heads/BRANCH_NAME")
69
+ end
70
+ end
71
+ end
72
+
73
+ context "when branch name is not available" do
74
+ it "returns nil" do
75
+ config = instance_double(Paratrooper::Configuration,
76
+ branch_name?: false
77
+ )
78
+ source_control = described_class.new(config)
79
+
80
+ expect(source_control.branch_name).to be_nil
81
+ end
82
+ end
83
+ end
84
+
85
+ describe "deployment_sha" do
86
+ it "returns sha" do
87
+ system_caller = double(:system_caller)
88
+ allow(system_caller).to receive(:execute).and_return("SHA\n")
89
+ config = instance_double(Paratrooper::Configuration,
90
+ branch_name?: false, system_caller: system_caller
91
+ )
92
+ source_control = described_class.new(config)
93
+ expect(source_control.deployment_sha).to eq("SHA")
94
+ end
95
+
96
+ context "when branch_name is available" do
97
+ it "requests git to find sha from branch" do
98
+ system_caller = double(:system_caller)
99
+ allow(system_caller).to receive(:execute).and_return("SHA\n")
100
+ config = instance_double(Paratrooper::Configuration,
101
+ branch_name?: true, branch_name: "BRANCH_NAME",
102
+ system_caller: system_caller
103
+ )
104
+ source_control = described_class.new(config)
105
+
106
+ source_control.deployment_sha
107
+ expected_cmd = ["git rev-parse refs/heads/BRANCH_NAME", false]
108
+ expect(system_caller).to have_received(:execute).with(*expected_cmd)
109
+ end
110
+ end
111
+
112
+ context "when branch_name is unavailable" do
113
+ it "requests git to find sha from branch" do
114
+ system_caller = double(:system_caller)
115
+ allow(system_caller).to receive(:execute).and_return("SHA\n")
116
+ config = instance_double(Paratrooper::Configuration,
117
+ branch_name?: false, system_caller: system_caller
118
+ )
119
+ source_control = described_class.new(config)
120
+
121
+ source_control.deployment_sha
122
+ expected_cmd = ["git rev-parse HEAD", false]
123
+ expect(system_caller).to have_received(:execute).with(*expected_cmd)
124
+ end
125
+ end
126
+ end
127
+
128
+ describe "push_to_deploy" do
129
+ let(:system_caller) { double(:system_caller) }
130
+
131
+ before do
132
+ allow(system_caller).to receive(:execute)
133
+ end
134
+
135
+ context "when branch_name is a string" do
136
+ it 'pushes branch_name' do
137
+ config = instance_double(Paratrooper::Configuration, force_push: false,
138
+ deployment_host: "HOST", app_name: "APP", branch_name?: true,
139
+ branch_name: "BRANCH_NAME", system_caller: system_caller
140
+ )
141
+ source_control = described_class.new(config)
142
+ source_control.push_to_deploy
143
+
144
+ expected_cmd = ['git push git@HOST:APP.git refs/heads/BRANCH_NAME:refs/heads/master', :exit_code]
145
+ expect(system_caller).to have_received(:execute).with(*expected_cmd)
146
+ end
147
+ end
148
+
149
+ context "when branch_name is a symbol" do
150
+ it 'pushes branch_name' do
151
+ config = instance_double(Paratrooper::Configuration, force_push: false,
152
+ deployment_host: "HOST", app_name: "APP", branch_name?: true,
153
+ branch_name: :BRANCH_NAME, system_caller: system_caller
154
+ )
155
+ source_control = described_class.new(config)
156
+ source_control.push_to_deploy
157
+
158
+ expected_cmd = ['git push git@HOST:APP.git refs/heads/BRANCH_NAME:refs/heads/master', :exit_code]
159
+ expect(system_caller).to have_received(:execute).with(*expected_cmd)
160
+ end
161
+ end
162
+
163
+ context "when branch_name is :head" do
164
+ it 'pushes HEAD' do
165
+ config = instance_double(Paratrooper::Configuration, force_push: false,
166
+ deployment_host: "HOST", app_name: "APP", branch_name?: true,
167
+ branch_name: :head, system_caller: system_caller
168
+ )
169
+ source_control = described_class.new(config)
170
+ source_control.push_to_deploy
171
+
172
+ expected_cmd = ['git push git@HOST:APP.git HEAD:refs/heads/master', :exit_code]
173
+ expect(system_caller).to have_received(:execute).with(*expected_cmd)
174
+ end
175
+ end
176
+
177
+ context "when branch_name is the string HEAD" do
178
+ it 'pushes HEAD' do
179
+ config = instance_double(Paratrooper::Configuration, force_push: false,
180
+ deployment_host: "HOST", app_name: "APP", branch_name?: true,
181
+ branch_name: "HEAD", system_caller: system_caller
182
+ )
183
+ source_control = described_class.new(config)
184
+ source_control.push_to_deploy
185
+
186
+ expected_cmd = ['git push git@HOST:APP.git HEAD:refs/heads/master', :exit_code]
187
+ expect(system_caller).to have_received(:execute).with(*expected_cmd)
188
+ end
189
+ end
190
+
191
+ context "when choosing to force push" do
192
+ it "issues command to forcefully push to remote" do
193
+ config = instance_double(Paratrooper::Configuration,
194
+ system_caller: system_caller, force_push: true,
195
+ deployment_host: 'HOST', app_name: 'APP', branch_name?: false
196
+ )
197
+ source_control = described_class.new(config)
198
+ source_control.push_to_deploy
199
+
200
+ expected_cmd = ["git push -f git@HOST:APP.git HEAD:refs/heads/master", :exit_code]
201
+ expect(config.system_caller).to have_received(:execute).with(*expected_cmd)
202
+ end
203
+ end
204
+
205
+ context "when branch_name is available" do
206
+ it "pushes branch_name" do
207
+ config = instance_double(Paratrooper::Configuration, force_push: false,
208
+ deployment_host: "HOST", app_name: "APP", branch_name?: true,
209
+ branch_name: "BRANCH_NAME", system_caller: system_caller
210
+ )
211
+ source_control = described_class.new(config)
212
+ source_control.push_to_deploy
213
+
214
+ expected_cmd = ['git push git@HOST:APP.git refs/heads/BRANCH_NAME:refs/heads/master', :exit_code]
215
+ expect(system_caller).to have_received(:execute).with(*expected_cmd)
216
+ end
217
+ end
218
+
219
+ context "when no reference is defined" do
220
+ it "pushes HEAD" do
221
+ config = instance_double(Paratrooper::Configuration, force_push: false,
222
+ deployment_host: "HOST", app_name: "APP", branch_name?: false,
223
+ system_caller: system_caller
224
+ )
225
+ source_control = described_class.new(config)
226
+ source_control.push_to_deploy
227
+
228
+ expected_cmd = ['git push git@HOST:APP.git HEAD:refs/heads/master', :exit_code]
229
+ expect(system_caller).to have_received(:execute).with(*expected_cmd)
230
+ end
231
+ end
232
+ end
233
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paratrooper
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.1
4
+ version: 3.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Polito
@@ -9,104 +9,104 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-07-10 00:00:00.000000000 Z
12
+ date: 2014-12-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rspec
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '2.12'
34
+ version: '3.0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '2.12'
41
+ version: '3.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: pry
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: heroku-api
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ~>
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0.3'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0.3'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rendezvous
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ~>
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 0.0.1
76
+ version: '0.1'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 0.0.1
83
+ version: '0.1'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: netrc
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ~>
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0.7'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ~>
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0.7'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: excon
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '>='
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  description: Library to create task for deployment to Heroku
@@ -117,10 +117,7 @@ executables: []
117
117
  extensions: []
118
118
  extra_rdoc_files: []
119
119
  files:
120
- - .bundle/config
121
- - .gitignore
122
- - .rspec
123
- - .ruby-version
120
+ - ".gitignore"
124
121
  - CHANGELOG.md
125
122
  - Gemfile
126
123
  - LICENSE.txt
@@ -128,19 +125,23 @@ files:
128
125
  - Rakefile
129
126
  - lib/paratrooper.rb
130
127
  - lib/paratrooper/callbacks.rb
128
+ - lib/paratrooper/configuration.rb
131
129
  - lib/paratrooper/deploy.rb
130
+ - lib/paratrooper/error.rb
132
131
  - lib/paratrooper/heroku_wrapper.rb
133
132
  - lib/paratrooper/http_client_wrapper.rb
134
133
  - lib/paratrooper/local_api_key_extractor.rb
135
134
  - lib/paratrooper/notifier.rb
136
135
  - lib/paratrooper/notifiers/screen_notifier.rb
137
136
  - lib/paratrooper/pending_migration_check.rb
137
+ - lib/paratrooper/source_control.rb
138
138
  - lib/paratrooper/system_caller.rb
139
139
  - lib/paratrooper/version.rb
140
140
  - paratrooper.gemspec
141
141
  - script/bootstrap
142
142
  - script/test
143
143
  - spec/fixtures/netrc
144
+ - spec/paratrooper/configuration_spec.rb
144
145
  - spec/paratrooper/deploy_spec.rb
145
146
  - spec/paratrooper/heroku_wrapper_spec.rb
146
147
  - spec/paratrooper/http_client_wrapper_spec.rb
@@ -148,6 +149,7 @@ files:
148
149
  - spec/paratrooper/notifier_spec.rb
149
150
  - spec/paratrooper/notifiers/screen_notifier_spec.rb
150
151
  - spec/paratrooper/pending_migration_check_spec.rb
152
+ - spec/paratrooper/source_control_spec.rb
151
153
  - spec/spec_helper.rb
152
154
  homepage: http://github.com/mattpolito/paratrooper
153
155
  licenses:
@@ -159,22 +161,23 @@ require_paths:
159
161
  - lib
160
162
  required_ruby_version: !ruby/object:Gem::Requirement
161
163
  requirements:
162
- - - '>='
164
+ - - ">="
163
165
  - !ruby/object:Gem::Version
164
166
  version: 1.9.2
165
167
  required_rubygems_version: !ruby/object:Gem::Requirement
166
168
  requirements:
167
- - - '>='
169
+ - - ">"
168
170
  - !ruby/object:Gem::Version
169
- version: '0'
171
+ version: 1.3.1
170
172
  requirements: []
171
173
  rubyforge_project:
172
- rubygems_version: 2.1.11
174
+ rubygems_version: 2.2.2
173
175
  signing_key:
174
176
  specification_version: 4
175
177
  summary: Library to create task for deployment to Heroku
176
178
  test_files:
177
179
  - spec/fixtures/netrc
180
+ - spec/paratrooper/configuration_spec.rb
178
181
  - spec/paratrooper/deploy_spec.rb
179
182
  - spec/paratrooper/heroku_wrapper_spec.rb
180
183
  - spec/paratrooper/http_client_wrapper_spec.rb
@@ -182,4 +185,5 @@ test_files:
182
185
  - spec/paratrooper/notifier_spec.rb
183
186
  - spec/paratrooper/notifiers/screen_notifier_spec.rb
184
187
  - spec/paratrooper/pending_migration_check_spec.rb
188
+ - spec/paratrooper/source_control_spec.rb
185
189
  - spec/spec_helper.rb