paratrooper 2.4.1 → 3.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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