engineyard 3.1.2 → 3.1.3
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.
- checksums.yaml +4 -4
- data/lib/engineyard/version.rb +2 -2
- data/spec/engineyard/cli/api_spec.rb +6 -6
- data/spec/engineyard/cli_spec.rb +5 -5
- data/spec/engineyard/config_spec.rb +7 -7
- data/spec/engineyard/deploy_config_spec.rb +39 -39
- data/spec/engineyard/eyrc_spec.rb +13 -13
- data/spec/engineyard/repo_spec.rb +8 -8
- data/spec/engineyard_spec.rb +1 -1
- data/spec/ey/deploy_spec.rb +64 -64
- data/spec/ey/ey_spec.rb +3 -3
- data/spec/ey/list_environments_spec.rb +28 -28
- data/spec/ey/login_spec.rb +5 -5
- data/spec/ey/logout_spec.rb +5 -5
- data/spec/ey/logs_spec.rb +5 -5
- data/spec/ey/rebuild_spec.rb +1 -1
- data/spec/ey/recipes/apply_spec.rb +2 -2
- data/spec/ey/recipes/download_spec.rb +3 -3
- data/spec/ey/recipes/upload_spec.rb +8 -8
- data/spec/ey/rollback_spec.rb +13 -13
- data/spec/ey/scp_spec.rb +6 -6
- data/spec/ey/servers_spec.rb +49 -49
- data/spec/ey/ssh_spec.rb +14 -14
- data/spec/ey/status_spec.rb +21 -21
- data/spec/ey/timeout_deploy_spec.rb +3 -3
- data/spec/ey/web/disable_spec.rb +1 -1
- data/spec/ey/web/enable_spec.rb +2 -2
- data/spec/ey/web/restart_spec.rb +1 -1
- data/spec/ey/whoami_spec.rb +5 -5
- data/spec/support/shared_behavior.rb +30 -30
- metadata +9 -9
data/spec/engineyard_spec.rb
CHANGED
data/spec/ey/deploy_spec.rb
CHANGED
@@ -11,18 +11,18 @@ describe "ey deploy without an eyrc file" do
|
|
11
11
|
input.puts(scenario_password)
|
12
12
|
end
|
13
13
|
|
14
|
-
@out.
|
15
|
-
@out.
|
16
|
-
@out.
|
17
|
-
@ssh_commands.
|
14
|
+
expect(@out).to include("We need to fetch your API token; please log in.")
|
15
|
+
expect(@out).to include("Email:")
|
16
|
+
expect(@out).to include("Password:")
|
17
|
+
expect(@ssh_commands).not_to be_empty
|
18
18
|
|
19
|
-
read_eyrc.
|
19
|
+
expect(read_eyrc).to eq({"api_token" => scenario_api_token})
|
20
20
|
end
|
21
21
|
|
22
22
|
it "uses the token on the command line" do
|
23
23
|
api_scenario "one app, one environment"
|
24
24
|
ey(%w[deploy --no-migrate --api-token] + [scenario_api_token])
|
25
|
-
@ssh_commands.
|
25
|
+
expect(@ssh_commands).not_to be_empty
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -44,11 +44,11 @@ describe "ey deploy" do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def verify_ran(scenario)
|
47
|
-
@out.
|
48
|
-
@out.
|
49
|
-
@out.
|
50
|
-
@out.
|
51
|
-
@ssh_commands.
|
47
|
+
expect(@out).to match(/Beginning deploy.../)
|
48
|
+
expect(@out).to match(/Application:\s+#{scenario[:application]}/)
|
49
|
+
expect(@out).to match(/Environment:\s+#{scenario[:environment]}/)
|
50
|
+
expect(@out).to match(/deployment recorded/i)
|
51
|
+
expect(@ssh_commands).to have_command_like(/engineyard-serverside.*deploy.*--app #{scenario[:application]}/)
|
52
52
|
end
|
53
53
|
|
54
54
|
# common behavior
|
@@ -62,7 +62,7 @@ describe "ey deploy" do
|
|
62
62
|
context "without ssh keys (with ssh enabled)" do
|
63
63
|
before do
|
64
64
|
ENV.delete('NO_SSH')
|
65
|
-
Net::SSH.
|
65
|
+
allow(Net::SSH).to receive(:start).and_raise(Net::SSH::AuthenticationFailed.new("no key"))
|
66
66
|
end
|
67
67
|
|
68
68
|
after do
|
@@ -72,7 +72,7 @@ describe "ey deploy" do
|
|
72
72
|
it "tells you that you need to add an appropriate ssh key (even with --quiet)" do
|
73
73
|
login_scenario "one app, one environment"
|
74
74
|
fast_failing_ey %w[deploy --no-migrate --quiet]
|
75
|
-
@err.
|
75
|
+
expect(@err).to include("Authentication Failed")
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
@@ -80,26 +80,26 @@ describe "ey deploy" do
|
|
80
80
|
it "complains when there is no app" do
|
81
81
|
login_scenario "empty"
|
82
82
|
fast_failing_ey ["deploy"]
|
83
|
-
@err.
|
83
|
+
expect(@err).to include(%|No application found|)
|
84
84
|
end
|
85
85
|
|
86
86
|
it "complains when the specified environment does not contain the app" do
|
87
87
|
login_scenario "one app, one environment, not linked"
|
88
88
|
fast_failing_ey %w[deploy -e giblets -r master]
|
89
|
-
@err.
|
89
|
+
expect(@err).to match(/Application "rails232app" and environment "giblets" are not associated./)
|
90
90
|
end
|
91
91
|
|
92
92
|
it "complains when environment is not specified and app is in >1 environment" do
|
93
93
|
login_scenario "one app, many environments"
|
94
94
|
fast_failing_ey %w[deploy --ref master --no-migrate]
|
95
|
-
@err.
|
95
|
+
expect(@err).to match(/Multiple application environments possible/i)
|
96
96
|
end
|
97
97
|
|
98
98
|
it "complains when the app master is in a non-running state" do
|
99
99
|
login_scenario "one app, one environment, app master red"
|
100
100
|
fast_failing_ey %w[deploy --environment giblets --ref master --no-migrate]
|
101
|
-
@err.
|
102
|
-
@err.
|
101
|
+
expect(@err).not_to match(/No running instances/i)
|
102
|
+
expect(@err).to match(/running.*\(green\)/)
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
@@ -119,26 +119,26 @@ describe "ey deploy" do
|
|
119
119
|
|
120
120
|
it "tells you to run ey init" do
|
121
121
|
fast_failing_ey %w[deploy]
|
122
|
-
@err.
|
123
|
-
@ssh_commands.
|
122
|
+
expect(@err).to match(/ey init/)
|
123
|
+
expect(@ssh_commands).to be_empty
|
124
124
|
end
|
125
125
|
|
126
126
|
it "tells you to run ey init" do
|
127
127
|
fast_failing_ey %w[deploy --migrate]
|
128
|
-
@err.
|
129
|
-
@ssh_commands.
|
128
|
+
expect(@err).to match(/ey init/)
|
129
|
+
expect(@ssh_commands).to be_empty
|
130
130
|
end
|
131
131
|
end
|
132
132
|
|
133
133
|
it "can be disabled with --no-migrate" do
|
134
134
|
fast_ey %w[deploy --no-migrate]
|
135
|
-
@ssh_commands.last.
|
136
|
-
@ssh_commands.last.
|
135
|
+
expect(@ssh_commands.last).to match(/engineyard-serverside.*deploy/)
|
136
|
+
expect(@ssh_commands.last).not_to match(/--migrate/)
|
137
137
|
end
|
138
138
|
|
139
139
|
it "runs the migrate command when one is given" do
|
140
140
|
fast_ey ['deploy', '--migrate', 'thor fancy:migrate']
|
141
|
-
@ssh_commands.last.
|
141
|
+
expect(@ssh_commands.last).to match(/--migrate 'thor fancy:migrate'/)
|
142
142
|
end
|
143
143
|
|
144
144
|
context "ey.yml migrate only" do
|
@@ -147,7 +147,7 @@ describe "ey deploy" do
|
|
147
147
|
|
148
148
|
it "tells you to run ey init" do
|
149
149
|
fast_failing_ey %w[deploy]
|
150
|
-
@err.
|
150
|
+
expect(@err).to match(/ey init/)
|
151
151
|
end
|
152
152
|
end
|
153
153
|
|
@@ -157,7 +157,7 @@ describe "ey deploy" do
|
|
157
157
|
|
158
158
|
it "tells you to run ey init" do
|
159
159
|
fast_failing_ey %w[deploy]
|
160
|
-
@err.
|
160
|
+
expect(@err).to match(/ey init/)
|
161
161
|
end
|
162
162
|
end
|
163
163
|
|
@@ -172,7 +172,7 @@ describe "ey deploy" do
|
|
172
172
|
|
173
173
|
it "migrates with the custom command" do
|
174
174
|
fast_ey %w[deploy]
|
175
|
-
@ssh_commands.last.
|
175
|
+
expect(@ssh_commands.last).to match(/--migrate 'thor fancy:migrate'/)
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
@@ -182,18 +182,18 @@ describe "ey deploy" do
|
|
182
182
|
|
183
183
|
it "does not migrate by default" do
|
184
184
|
fast_ey %w[deploy]
|
185
|
-
@ssh_commands.last.
|
186
|
-
@ssh_commands.last.
|
185
|
+
expect(@ssh_commands.last).to match(/engineyard-serverside.*deploy/)
|
186
|
+
expect(@ssh_commands.last).not_to match(/--migrate/)
|
187
187
|
end
|
188
188
|
|
189
189
|
it "can be turned back on with --migrate" do
|
190
190
|
fast_ey ["deploy", "--migrate", "rake fancy:migrate"]
|
191
|
-
@ssh_commands.last.
|
191
|
+
expect(@ssh_commands.last).to match(/--migrate 'rake fancy:migrate'/)
|
192
192
|
end
|
193
193
|
|
194
194
|
it "tells you to initialize ey.yml when --migrate is specified with no value" do
|
195
195
|
fast_failing_ey %w[deploy --migrate]
|
196
|
-
@err.
|
196
|
+
expect(@err).to match(/ey init/)
|
197
197
|
end
|
198
198
|
end
|
199
199
|
|
@@ -203,12 +203,12 @@ describe "ey deploy" do
|
|
203
203
|
|
204
204
|
it "does not migrate by default" do
|
205
205
|
fast_ey %w[deploy]
|
206
|
-
@ssh_commands.last.
|
206
|
+
expect(@ssh_commands.last).not_to match(/--migrate/)
|
207
207
|
end
|
208
208
|
|
209
209
|
it "migrates with the custom command when --migrate is specified with no value" do
|
210
210
|
fast_ey %w[deploy --migrate]
|
211
|
-
@ssh_commands.last.
|
211
|
+
expect(@ssh_commands.last).to match(/--migrate 'thor fancy:migrate'/)
|
212
212
|
end
|
213
213
|
end
|
214
214
|
end
|
@@ -220,7 +220,7 @@ describe "ey deploy" do
|
|
220
220
|
|
221
221
|
it "passes the framework environment" do
|
222
222
|
fast_ey %w[deploy --no-migrate]
|
223
|
-
@ssh_commands.last.
|
223
|
+
expect(@ssh_commands.last).to match(/--framework-env production/)
|
224
224
|
end
|
225
225
|
end
|
226
226
|
|
@@ -234,27 +234,27 @@ describe "ey deploy" do
|
|
234
234
|
context "without a configured default branch" do
|
235
235
|
it "defaults to the checked-out local branch" do
|
236
236
|
fast_ey %w[deploy --no-migrate]
|
237
|
-
@ssh_commands.last.
|
237
|
+
expect(@ssh_commands.last).to match(/--ref resolved-current-branch/)
|
238
238
|
end
|
239
239
|
|
240
240
|
it "deploys another branch if given" do
|
241
241
|
fast_ey %w[deploy --ref master --no-migrate]
|
242
|
-
@ssh_commands.last.
|
242
|
+
expect(@ssh_commands.last).to match(/--ref resolved-master/)
|
243
243
|
end
|
244
244
|
|
245
245
|
it "deploys a tag if given" do
|
246
246
|
fast_ey %w[deploy --ref v1 --no-migrate]
|
247
|
-
@ssh_commands.last.
|
247
|
+
expect(@ssh_commands.last).to match(/--ref resolved-v1/)
|
248
248
|
end
|
249
249
|
|
250
250
|
it "allows using --branch to specify a branch" do
|
251
251
|
fast_ey %w[deploy --branch master --no-migrate]
|
252
|
-
@ssh_commands.last.
|
252
|
+
expect(@ssh_commands.last).to match(/--ref resolved-master/)
|
253
253
|
end
|
254
254
|
|
255
255
|
it "allows using --tag to specify the tag" do
|
256
256
|
fast_ey %w[deploy --tag v1 --no-migrate]
|
257
|
-
@ssh_commands.last.
|
257
|
+
expect(@ssh_commands.last).to match(/--ref resolved-v1/)
|
258
258
|
end
|
259
259
|
end
|
260
260
|
|
@@ -269,22 +269,22 @@ describe "ey deploy" do
|
|
269
269
|
|
270
270
|
it "deploys the default branch by default" do
|
271
271
|
fast_ey %w[deploy]
|
272
|
-
@ssh_commands.last.
|
272
|
+
expect(@ssh_commands.last).to match(/--ref resolved-master/)
|
273
273
|
end
|
274
274
|
|
275
275
|
it "complains about a non-default branch without --ignore-default-branch" do
|
276
276
|
fast_failing_ey %w[deploy -r current-branch]
|
277
|
-
@err.
|
277
|
+
expect(@err).to match(/default branch is set to "master"/)
|
278
278
|
end
|
279
279
|
|
280
280
|
it "deploys a non-default branch with --ignore-default-branch" do
|
281
281
|
fast_ey %w[deploy -r current-branch --ignore-default-branch]
|
282
|
-
@ssh_commands.last.
|
282
|
+
expect(@ssh_commands.last).to match(/--ref resolved-current-branch/)
|
283
283
|
end
|
284
284
|
|
285
285
|
it "deploys a non-default branch with --R ref" do
|
286
286
|
fast_ey %w[deploy -R current-branch]
|
287
|
-
@ssh_commands.last.
|
287
|
+
expect(@ssh_commands.last).to match(/--ref resolved-current-branch/)
|
288
288
|
end
|
289
289
|
end
|
290
290
|
end
|
@@ -300,7 +300,7 @@ describe "ey deploy" do
|
|
300
300
|
|
301
301
|
it "no longer gets passed along to engineyard-serverside (since serverside will read it on its own)" do
|
302
302
|
fast_ey %w[deploy --no-migrate]
|
303
|
-
@ssh_commands.last.
|
303
|
+
expect(@ssh_commands.last).not_to match(/"bert":"ernie"/)
|
304
304
|
end
|
305
305
|
end
|
306
306
|
|
@@ -311,9 +311,9 @@ describe "ey deploy" do
|
|
311
311
|
|
312
312
|
it "lets you choose by complete name even if the complete name is ambiguous" do
|
313
313
|
fast_ey %w[deploy --environment railsapp_staging --no-migrate]
|
314
|
-
@out.
|
315
|
-
@out.
|
316
|
-
@out.
|
314
|
+
expect(@out).to match(/Beginning deploy.../)
|
315
|
+
expect(@out).to match(/Ref:\s+master/)
|
316
|
+
expect(@out).to match(/Environment:\s+railsapp_staging/)
|
317
317
|
end
|
318
318
|
end
|
319
319
|
|
@@ -332,16 +332,16 @@ describe "ey deploy" do
|
|
332
332
|
|
333
333
|
it "passes --config to engineyard-serverside" do
|
334
334
|
ey %w[deploy --config some:stuff more:crap --no-migrate]
|
335
|
-
config_options.
|
336
|
-
config_options['some'].
|
337
|
-
config_options['more'].
|
335
|
+
expect(config_options).not_to be_nil
|
336
|
+
expect(config_options['some']).to eq('stuff')
|
337
|
+
expect(config_options['more']).to eq('crap')
|
338
338
|
end
|
339
339
|
|
340
340
|
it "supports legacy --extra-deploy-hook-options" do
|
341
341
|
ey %w[deploy --extra-deploy-hook-options some:stuff more:crap --no-migrate]
|
342
|
-
config_options.
|
343
|
-
config_options['some'].
|
344
|
-
config_options['more'].
|
342
|
+
expect(config_options).not_to be_nil
|
343
|
+
expect(config_options['some']).to eq('stuff')
|
344
|
+
expect(config_options['more']).to eq('crap')
|
345
345
|
end
|
346
346
|
|
347
347
|
context "when ey.yml is present" do
|
@@ -353,7 +353,7 @@ describe "ey deploy" do
|
|
353
353
|
|
354
354
|
it "overrides what's in ey.yml" do
|
355
355
|
fast_ey %w[deploy --config beer:esb]
|
356
|
-
config_options['beer'].
|
356
|
+
expect(config_options['beer']).to eq('esb')
|
357
357
|
end
|
358
358
|
end
|
359
359
|
end
|
@@ -374,22 +374,22 @@ describe "ey deploy" do
|
|
374
374
|
|
375
375
|
it "allows you to specify an app when not in a directory" do
|
376
376
|
fast_ey %w[deploy --app rails232app --ref master --migrate]
|
377
|
-
@ssh_commands.last.
|
378
|
-
@ssh_commands.last.
|
379
|
-
@ssh_commands.last.
|
377
|
+
expect(@ssh_commands.last).to match(/--app rails232app/)
|
378
|
+
expect(@ssh_commands.last).to match(/--ref resolved-master/)
|
379
|
+
expect(@ssh_commands.last).to match(/--migrate 'rake db:migrate --trace'/)
|
380
380
|
end
|
381
381
|
|
382
382
|
it "requires that you specify a ref when specifying the application" do
|
383
383
|
Dir.chdir(File.expand_path("~")) do
|
384
384
|
fast_failing_ey %w[deploy --app rails232app --no-migrate]
|
385
|
-
@err.
|
385
|
+
expect(@err).to match(/you must also specify the --ref/)
|
386
386
|
end
|
387
387
|
end
|
388
388
|
|
389
389
|
it "requires that you specify a migrate option when specifying the application" do
|
390
390
|
Dir.chdir(File.expand_path("~")) do
|
391
391
|
fast_failing_ey %w[deploy --app rails232app --ref master]
|
392
|
-
@err.
|
392
|
+
expect(@err).to match(/you must also specify .* --migrate or --no-migrate/)
|
393
393
|
end
|
394
394
|
end
|
395
395
|
end
|
@@ -404,13 +404,13 @@ describe "ey deploy" do
|
|
404
404
|
it "should send the correct serverside version when specified" do
|
405
405
|
fast_ey %w[deploy --no-migrate --serverside-version 1.6.4]
|
406
406
|
deploy_command = @ssh_commands.find {|c| c =~ /engineyard-serverside.*deploy/ }
|
407
|
-
deploy_command.
|
407
|
+
expect(deploy_command).to match(/engineyard-serverside _1.6.4_ deploy/)
|
408
408
|
end
|
409
409
|
|
410
410
|
it "should send the default serverside version when unspecified" do
|
411
411
|
fast_ey %w[deploy --no-migrate]
|
412
412
|
deploy_command = @ssh_commands.find {|c| c =~ /engineyard-serverside.*deploy/ }
|
413
|
-
deploy_command.
|
413
|
+
expect(deploy_command).to match(/engineyard-serverside _#{EY::ENGINEYARD_SERVERSIDE_VERSION}_ deploy/)
|
414
414
|
end
|
415
415
|
end
|
416
416
|
|
@@ -424,11 +424,11 @@ describe "ey deploy" do
|
|
424
424
|
end
|
425
425
|
|
426
426
|
it "passes along the repository URL to engineyard-serverside" do
|
427
|
-
@deploy_command.
|
427
|
+
expect(@deploy_command).to match(/--git user@git.host:path\/to\/repo.git/)
|
428
428
|
end
|
429
429
|
|
430
430
|
it "passes along the web server stack to engineyard-serverside" do
|
431
|
-
@deploy_command.
|
431
|
+
expect(@deploy_command).to match(/--stack nginx_mongrel/)
|
432
432
|
end
|
433
433
|
end
|
434
434
|
|
data/spec/ey/ey_spec.rb
CHANGED
@@ -3,21 +3,21 @@ require 'spec_helper'
|
|
3
3
|
describe "ey" do
|
4
4
|
context "run without arguments" do
|
5
5
|
it "prints usage information" do
|
6
|
-
ey.
|
6
|
+
expect(ey).to include("Usage:")
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
10
|
context "run with an argument that is not a command" do
|
11
11
|
it "tells the user that is not a command" do
|
12
12
|
ey %w[foobarbaz], :expect_failure => true
|
13
|
-
@err.
|
13
|
+
expect(@err).to include("Could not find command")
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
context "run a command and a bad flag" do
|
18
18
|
it "tells the user that is not a valid flag" do
|
19
19
|
ey %w[help --expect-failure], :expect_failure => true
|
20
|
-
@err.
|
20
|
+
expect(@err).to include("Unknown switches")
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -15,8 +15,8 @@ describe "ey environments" do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def verify_ran(scenario)
|
18
|
-
@out.
|
19
|
-
@out.
|
18
|
+
expect(@out).to match(/#{scenario[:environment]}/) if scenario[:environment]
|
19
|
+
expect(@out).to match(/#{scenario[:application]}/) if scenario[:application]
|
20
20
|
end
|
21
21
|
|
22
22
|
include_examples "it takes an environment name and an app name and an account name"
|
@@ -28,7 +28,7 @@ describe "ey environments" do
|
|
28
28
|
|
29
29
|
it "suggests that you use environments --all" do
|
30
30
|
fast_failing_ey %w[environments]
|
31
|
-
@err.
|
31
|
+
expect(@err).to match(/Use ey environments --all to see all environments./)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -39,71 +39,71 @@ describe "ey environments" do
|
|
39
39
|
|
40
40
|
it "lists the environments your app is in" do
|
41
41
|
fast_ey %w[environments]
|
42
|
-
@out.
|
43
|
-
@out.
|
44
|
-
@out.
|
42
|
+
expect(@out).to include('main/rails232app')
|
43
|
+
expect(@out).to match(/giblets/)
|
44
|
+
expect(@out).to match(/bakon/)
|
45
45
|
end
|
46
46
|
|
47
47
|
it "lists the environments with specified app" do
|
48
48
|
fast_ey %w[environments --app rails232app]
|
49
|
-
@out.
|
50
|
-
@out.
|
51
|
-
@out.
|
49
|
+
expect(@out).to include('main/rails232app')
|
50
|
+
expect(@out).to match(/giblets/)
|
51
|
+
expect(@out).to match(/bakon/)
|
52
52
|
end
|
53
53
|
|
54
54
|
it "finds no environments with gibberish app" do
|
55
55
|
fast_failing_ey %w[environments --account main --app gibberish]
|
56
|
-
@err.
|
56
|
+
expect(@err).to match(/Use ey environments --all to see all environments./)
|
57
57
|
end
|
58
58
|
|
59
59
|
it "finds no environments with gibberish account" do
|
60
60
|
fast_failing_ey %w[environments --account gibberish --app rails232]
|
61
|
-
@err.
|
61
|
+
expect(@err).to match(/Use ey environments --all to see all environments./)
|
62
62
|
end
|
63
63
|
|
64
64
|
it "lists the environments that the app is in" do
|
65
65
|
fast_ey %w[environments --app rails232app]
|
66
|
-
@out.
|
67
|
-
@out.
|
68
|
-
@out.
|
66
|
+
expect(@out).to include('main/rails232app')
|
67
|
+
expect(@out).to match(/giblets/)
|
68
|
+
expect(@out).to match(/bakon/)
|
69
69
|
end
|
70
70
|
|
71
71
|
it "lists the environments that the app is in" do
|
72
72
|
fast_ey %w[environments --account main]
|
73
|
-
@out.
|
74
|
-
@out.
|
75
|
-
@out.
|
73
|
+
expect(@out).to include('main/rails232app')
|
74
|
+
expect(@out).to match(/giblets/)
|
75
|
+
expect(@out).to match(/bakon/)
|
76
76
|
end
|
77
77
|
|
78
78
|
it "lists the environments matching --environment" do
|
79
79
|
fast_ey %w[environments -e gib]
|
80
|
-
@out.
|
81
|
-
@out.
|
82
|
-
@out.
|
80
|
+
expect(@out).to include('main/rails232app')
|
81
|
+
expect(@out).to match(/giblets/)
|
82
|
+
expect(@out).not_to match(/bakon/)
|
83
83
|
end
|
84
84
|
|
85
85
|
it "reports failure to find a git repo when not in one" do
|
86
86
|
Dir.chdir(Dir.tmpdir) do
|
87
87
|
fast_failing_ey %w[environments]
|
88
|
-
@err.
|
89
|
-
@out.
|
88
|
+
expect(@err).to match(/fatal: Not a git repository \(or any of the parent directories\): .*#{Regexp.escape(Dir.tmpdir)}/)
|
89
|
+
expect(@out).not_to match(/no application configured/)
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
93
|
it "lists all environments that have apps with -A" do
|
94
94
|
fast_ey %w[environments -A]
|
95
|
-
@out.
|
96
|
-
@out.
|
95
|
+
expect(@out).to include("bakon")
|
96
|
+
expect(@out).to include("giblets")
|
97
97
|
end
|
98
98
|
|
99
99
|
it "outputs simply with -s" do
|
100
100
|
fast_ey %w[environments -s], :debug => false
|
101
|
-
@out.split(/\n/).sort.
|
101
|
+
expect(@out.split(/\n/).sort).to eq(["bakon", "giblets"])
|
102
102
|
end
|
103
103
|
|
104
104
|
it "outputs all environments (including ones with no apps) simply with -A and -s" do
|
105
105
|
fast_ey %w[environments -A -s], :debug => false
|
106
|
-
@out.split(/\n/).sort.
|
106
|
+
expect(@out.split(/\n/).sort).to eq(["bakon", "beef", "giblets"])
|
107
107
|
end
|
108
108
|
end
|
109
109
|
end
|
@@ -114,7 +114,7 @@ describe "ey environments with an ambiguous git repo" do
|
|
114
114
|
|
115
115
|
it "lists environments from all apps using the git repo" do
|
116
116
|
fast_ey %w[environments]
|
117
|
-
@out.
|
118
|
-
@out.
|
117
|
+
expect(@out).to include("giblets")
|
118
|
+
expect(@out).to include("keycollector_production")
|
119
119
|
end
|
120
120
|
end
|