cfndk 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +23 -14
  3. data/.gitignore +0 -1
  4. data/.rspec_parallel +6 -0
  5. data/Gemfile +1 -0
  6. data/Gemfile.lock +811 -0
  7. data/README.md +122 -10
  8. data/cfndk.gemspec +1 -0
  9. data/lib/cfndk/change_set_command.rb +97 -0
  10. data/lib/cfndk/command.rb +15 -181
  11. data/lib/cfndk/config_file_loadable.rb +13 -0
  12. data/lib/cfndk/global_config.rb +15 -0
  13. data/lib/cfndk/key_pair.rb +7 -4
  14. data/lib/cfndk/key_pair_command.rb +53 -0
  15. data/lib/cfndk/key_pairs.rb +2 -1
  16. data/lib/cfndk/logger.rb +1 -1
  17. data/lib/cfndk/stack.rb +382 -103
  18. data/lib/cfndk/stack_command.rb +110 -0
  19. data/lib/cfndk/stacks.rb +40 -14
  20. data/lib/cfndk/subcommand_help_returnable.rb +16 -0
  21. data/lib/cfndk/version.rb +1 -1
  22. data/lib/cfndk.rb +6 -0
  23. data/skel/cfndk.yml +4 -0
  24. data/spec/cfndk_change_set_create_spec.rb +436 -0
  25. data/spec/cfndk_change_set_destroy_spec.rb +160 -0
  26. data/spec/cfndk_change_set_execute_spec.rb +179 -0
  27. data/spec/cfndk_change_set_report_spec.rb +107 -0
  28. data/spec/cfndk_change_set_spec.rb +37 -0
  29. data/spec/cfndk_create_spec.rb +56 -141
  30. data/spec/cfndk_destroy_spec.rb +4 -2
  31. data/spec/cfndk_keypiar_spec.rb +11 -9
  32. data/spec/cfndk_report_spec.rb +3 -1
  33. data/spec/cfndk_spec.rb +5 -3
  34. data/spec/cfndk_stack_create_spec.rb +454 -0
  35. data/spec/cfndk_stack_destroy_spec.rb +161 -0
  36. data/spec/cfndk_stack_report_spec.rb +181 -0
  37. data/spec/cfndk_stack_spec.rb +6 -1146
  38. data/spec/cfndk_stack_update_spec.rb +467 -0
  39. data/spec/spec_helper.rb +4 -1
  40. data/spec/support/aruba.rb +1 -0
  41. metadata +42 -2
@@ -3,6 +3,8 @@ require 'spec_helper'
3
3
  RSpec.describe 'CFnDK', type: :aruba do
4
4
  before(:each) { set_environment_variable('AWS_REGION', ENV['AWS_REGION']) }
5
5
  before(:each) { set_environment_variable('AWS_PROFILE', ENV['AWS_PROFILE']) }
6
+ before(:each) { set_environment_variable('AWS_ACCESS_KEY_ID', ENV["AWS_ACCESS_KEY_ID#{ENV['TEST_ENV_NUMBER']}"]) }
7
+ before(:each) { set_environment_variable('AWS_SECRET_ACCESS_KEY', ENV["AWS_SECRET_ACCESS_KEY#{ENV['TEST_ENV_NUMBER']}"]) }
6
8
  describe 'bin/cfndk' do
7
9
  before(:each) { setup_aruba }
8
10
  let(:file) { 'cfndk.yml' }
@@ -16,7 +18,7 @@ RSpec.describe 'CFnDK', type: :aruba do
16
18
  it 'displays file does not exist error and status code = 1' do
17
19
  aggregate_failures do
18
20
  expect(last_command_started).to have_exit_status(1)
19
- expect(last_command_started).to have_output(/ERROR File does not exist./)
21
+ expect(last_command_started).to have_output(/ERROR RuntimeError: File does not exist./)
20
22
  end
21
23
  end
22
24
  end
@@ -177,23 +179,6 @@ RSpec.describe 'CFnDK', type: :aruba do
177
179
  end
178
180
  after(:each) { run_command("cfndk destroy -u=#{uuid} -f") }
179
181
  end
180
-
181
- context 'when env CFNDK_UUID=38437346-c75c-47c5-83b4-d504f85e275b' do
182
- before(:each) { set_environment_variable('CFNDK_UUID', uuid) }
183
- before(:each) { run_command('cfndk create') }
184
- it 'runs the command with the expected results' do
185
- aggregate_failures do
186
- expect(last_command_started).to be_successfully_executed
187
- expect(last_command_started).to have_output(/INFO create.../)
188
- expect(last_command_started).to have_output(/INFO creating keypair: Test-#{uuid}/)
189
- expect(last_command_started).to have_output(/INFO created keypair: Test-#{uuid}/)
190
- expect(last_command_started).to have_output(/create key file: test-#{uuid}.pem/)
191
- expect("test-#{uuid}.pem").to be_an_existing_file
192
- expect("test-#{uuid}.pem").to have_file_content(/-----END RSA PRIVATE KEY-----/)
193
- end
194
- end
195
- after(:each) { run_command('cfndk destroy -f') }
196
- end
197
182
  end
198
183
  end
199
184
  context 'with keypairs' do
@@ -204,42 +189,40 @@ RSpec.describe 'CFnDK', type: :aruba do
204
189
  Test3:
205
190
  YAML
206
191
  before(:each) { write_file(file, yaml) }
207
- context 'when --keypair-names=Test1 Test3' do
208
- context 'without UUID' do
209
- before(:each) { run_command('cfndk create --keypair-names=Test1 Test3') }
192
+ context 'without UUID' do
193
+ before(:each) { run_command('cfndk create') }
194
+ it do
195
+ aggregate_failures do
196
+ expect(last_command_started).to be_successfully_executed
197
+ expect(last_command_started).to have_output(/INFO create.../)
198
+ expect(last_command_started).to have_output(/INFO creating keypair: Test1/)
199
+ expect(last_command_started).to have_output(/INFO created keypair: Test1/)
200
+ expect(last_command_started).to have_output(/INFO creating keypair: Test2/)
201
+ expect(last_command_started).to have_output(/INFO created keypair: Test2/)
202
+ expect(last_command_started).to have_output(/INFO creating keypair: Test3/)
203
+ expect(last_command_started).to have_output(/INFO created keypair: Test3/)
204
+ end
205
+ end
206
+ after(:each) { run_command('cfndk destroy -f') }
207
+ end
208
+ context 'with UUID' do
209
+ context 'when env CFNDK_UUID=38437346-c75c-47c5-83b4-d504f85e275b' do
210
+ before(:each) { set_environment_variable('CFNDK_UUID', uuid) }
211
+ before(:each) { run_command('cfndk create') }
210
212
  it do
211
213
  aggregate_failures do
212
214
  expect(last_command_started).to be_successfully_executed
213
215
  expect(last_command_started).to have_output(/INFO create.../)
214
- expect(last_command_started).to have_output(/INFO creating keypair: Test1/)
215
- expect(last_command_started).to have_output(/INFO created keypair: Test1/)
216
- expect(last_command_started).not_to have_output(/INFO creating keypair: Test2/)
217
- expect(last_command_started).not_to have_output(/INFO created keypair: Test2/)
218
- expect(last_command_started).to have_output(/INFO creating keypair: Test3/)
219
- expect(last_command_started).to have_output(/INFO created keypair: Test3/)
216
+ expect(last_command_started).to have_output(/INFO creating keypair: Test1-#{uuid}/)
217
+ expect(last_command_started).to have_output(/INFO created keypair: Test1-#{uuid}/)
218
+ expect(last_command_started).to have_output(/INFO creating keypair: Test2-#{uuid}/)
219
+ expect(last_command_started).to have_output(/INFO created keypair: Test2-#{uuid}/)
220
+ expect(last_command_started).to have_output(/INFO creating keypair: Test3-#{uuid}/)
221
+ expect(last_command_started).to have_output(/INFO created keypair: Test3-#{uuid}/)
220
222
  end
221
223
  end
222
224
  after(:each) { run_command('cfndk destroy -f') }
223
225
  end
224
- context 'with UUID' do
225
- context 'when env CFNDK_UUID=38437346-c75c-47c5-83b4-d504f85e275b' do
226
- before(:each) { set_environment_variable('CFNDK_UUID', uuid) }
227
- before(:each) { run_command('cfndk create --keypair-names=Test1 Test3') }
228
- it do
229
- aggregate_failures do
230
- expect(last_command_started).to be_successfully_executed
231
- expect(last_command_started).to have_output(/INFO create.../)
232
- expect(last_command_started).to have_output(/INFO creating keypair: Test1-#{uuid}/)
233
- expect(last_command_started).to have_output(/INFO created keypair: Test1-#{uuid}/)
234
- expect(last_command_started).not_to have_output(/INFO creating keypair: Test2-#{uuid}/)
235
- expect(last_command_started).not_to have_output(/INFO created keypair: Test2-#{uuid}/)
236
- expect(last_command_started).to have_output(/INFO creating keypair: Test3-#{uuid}/)
237
- expect(last_command_started).to have_output(/INFO created keypair: Test3-#{uuid}/)
238
- end
239
- end
240
- after(:each) { run_command('cfndk destroy -f') }
241
- end
242
- end
243
226
  end
244
227
  end
245
228
  end
@@ -256,7 +239,7 @@ RSpec.describe 'CFnDK', type: :aruba do
256
239
  end
257
240
  end
258
241
 
259
- context 'with a stack' do
242
+ context 'with a stack', aaa: true do
260
243
  yaml = <<-"YAML"
261
244
  stacks:
262
245
  Test:
@@ -267,7 +250,7 @@ RSpec.describe 'CFnDK', type: :aruba do
267
250
  before(:each) { write_file(file, yaml) }
268
251
  before(:each) { copy('%/vpc.yaml', 'vpc.yaml') }
269
252
  before(:each) { copy('%/vpc.json', 'vpc.json') }
270
- before(:each) { run_command('cfndk create') }
253
+ before(:each) { run_command_and_stop('cfndk create') }
271
254
  it 'displays created log and stack exist' do
272
255
  aggregate_failures do
273
256
  expect(last_command_started).to be_successfully_executed
@@ -279,6 +262,8 @@ RSpec.describe 'CFnDK', type: :aruba do
279
262
  expect(cloudformation_stack('Test').stack_status).to eq('CREATE_COMPLETE')
280
263
  expect(cloudformation_stack('Test').timeout_in_minutes).to eq(2)
281
264
  expect(cloudformation_stack('Test').parameters[0].parameter_value).to eq('sample')
265
+ expect(cloudformation_stack('Test').tags[0].key).to eq('origina_name')
266
+ expect(cloudformation_stack('Test').tags[0].value).to eq('Test')
282
267
  end
283
268
  end
284
269
  after(:each) { run_command('cfndk destroy -f') }
@@ -339,7 +324,7 @@ RSpec.describe 'CFnDK', type: :aruba do
339
324
  it do
340
325
  aggregate_failures do
341
326
  expect(last_command_started).to have_exit_status(1)
342
- expect(last_command_started).to have_output(/ERROR stopped waiting, encountered a failure state$/)
327
+ expect(last_command_started).to have_output(/ERROR Aws::Waiters::Errors::FailureStateError: stopped waiting, encountered a failure state$/)
343
328
  end
344
329
  end
345
330
  after(:each) { run_command('cfndk destroy -f') }
@@ -369,7 +354,7 @@ RSpec.describe 'CFnDK', type: :aruba do
369
354
  it do
370
355
  aggregate_failures do
371
356
  expect(last_command_started).to have_exit_status(1)
372
- expect(last_command_started).to have_output(/ERROR There are cyclic dependency or stack doesn't exist. unprocessed_stack: Test,Test2$/)
357
+ expect(last_command_started).to have_output(/ERROR RuntimeError: There are cyclic dependency or stack doesn't exist. unprocessed_stack: Test,Test2$/)
373
358
  end
374
359
  end
375
360
  after(:each) { run_command('cfndk destroy -f') }
@@ -390,7 +375,7 @@ RSpec.describe 'CFnDK', type: :aruba do
390
375
  it do
391
376
  aggregate_failures do
392
377
  expect(last_command_started).to have_exit_status(1)
393
- expect(last_command_started).to have_output(/ERROR Requires capabilities : \[CAPABILITY_NAMED_IAM\]/)
378
+ expect(last_command_started).to have_output(/ERROR Aws::CloudFormation::Errors::InsufficientCapabilitiesException: Requires capabilities : \[CAPABILITY_NAMED_IAM\]/)
394
379
  end
395
380
  end
396
381
  after(:each) { run_command('cfndk destroy -f') }
@@ -419,7 +404,7 @@ RSpec.describe 'CFnDK', type: :aruba do
419
404
  after(:each) { run_command('cfndk destroy -f') }
420
405
  end
421
406
  context 'with UUID', uuid: true do
422
- context 'when -u 38437346-c75c-47c5-83b4-d504f85e275b' do
407
+ context 'when -u 38437346-c75c-47c5-83b4-d504f85e275b', aaa: true do
423
408
  yaml = <<-"YAML"
424
409
  stacks:
425
410
  Test:
@@ -441,8 +426,8 @@ RSpec.describe 'CFnDK', type: :aruba do
441
426
  before(:each) { copy('%/vpc.json', 'vpc.json') }
442
427
  before(:each) { copy('%/sg.yaml', 'sg.yaml') }
443
428
  before(:each) { copy('%/sg.json', 'sg.json') }
444
- before(:each) { run_command("cfndk create -u=#{uuid}") }
445
- it do
429
+ before(:each) { run_command_and_stop("cfndk create -u=#{uuid}") }
430
+ it 'displays created logs and stacks exist' do
446
431
  aggregate_failures do
447
432
  expect(last_command_started).to be_successfully_executed
448
433
  expect(last_command_started).to have_output(/INFO validate stack: Test-#{uuid}$/)
@@ -451,6 +436,23 @@ RSpec.describe 'CFnDK', type: :aruba do
451
436
  expect(last_command_started).to have_output(/INFO validate stack: Test2-#{uuid}$/)
452
437
  expect(last_command_started).to have_output(/INFO creating stack: Test2-#{uuid}$/)
453
438
  expect(last_command_started).to have_output(/INFO created stack: Test2-#{uuid}$/)
439
+ expect(cloudformation_stack("Test-#{uuid}")).to exist
440
+ expect(cloudformation_stack("Test-#{uuid}").stack_name).to eq("Test-#{uuid}")
441
+ expect(cloudformation_stack("Test-#{uuid}").stack_status).to eq('CREATE_COMPLETE')
442
+ expect(cloudformation_stack("Test-#{uuid}").timeout_in_minutes).to eq(2)
443
+ expect(cloudformation_stack("Test-#{uuid}").parameters[0].parameter_value).to eq("sample-#{uuid}")
444
+ expect(cloudformation_stack("Test-#{uuid}").tags[0].key).to eq('origina_name')
445
+ expect(cloudformation_stack("Test-#{uuid}").tags[0].value).to eq('Test')
446
+ expect(cloudformation_stack("Test-#{uuid}").tags[1].key).to eq('UUID')
447
+ expect(cloudformation_stack("Test-#{uuid}").tags[1].value).to eq(uuid)
448
+ expect(cloudformation_stack("Test2-#{uuid}")).to exist
449
+ expect(cloudformation_stack("Test2-#{uuid}").stack_name).to eq("Test2-#{uuid}")
450
+ expect(cloudformation_stack("Test2-#{uuid}").stack_status).to eq('CREATE_COMPLETE')
451
+ expect(cloudformation_stack("Test2-#{uuid}").parameters[0].parameter_value).to eq("sample-#{uuid}")
452
+ expect(cloudformation_stack("Test2-#{uuid}").tags[0].key).to eq('origina_name')
453
+ expect(cloudformation_stack("Test2-#{uuid}").tags[0].value).to eq('Test2')
454
+ expect(cloudformation_stack("Test2-#{uuid}").tags[1].key).to eq('UUID')
455
+ expect(cloudformation_stack("Test2-#{uuid}").tags[1].value).to eq(uuid)
454
456
  end
455
457
  end
456
458
  after(:each) { run_command("cfndk destroy -f -u=#{uuid}") }
@@ -493,93 +495,6 @@ RSpec.describe 'CFnDK', type: :aruba do
493
495
  end
494
496
  after(:each) { run_command('cfndk destroy -f') }
495
497
  end
496
- context 'when --stack-names=Test' do
497
- yaml = <<-"YAML"
498
- stacks:
499
- Test:
500
- template_file: vpc.yaml
501
- parameter_input: vpc.json
502
- parameters:
503
- VpcName: sample<%= append_uuid%>
504
- timeout_in_minutes: 2
505
- Test2:
506
- template_file: sg.yaml
507
- parameter_input: sg.json
508
- parameters:
509
- VpcName: sample<%= append_uuid%>
510
- depends:
511
- - Test
512
- YAML
513
- before(:each) { write_file(file, yaml) }
514
- before(:each) { copy('%/vpc.yaml', 'vpc.yaml') }
515
- before(:each) { copy('%/vpc.json', 'vpc.json') }
516
- before(:each) { copy('%/sg.yaml', 'sg.yaml') }
517
- before(:each) { copy('%/sg.json', 'sg.json') }
518
- before(:each) { run_command('cfndk create --stack-names=Test') }
519
- it do
520
- aggregate_failures do
521
- expect(last_command_started).to be_successfully_executed
522
- expect(last_command_started).to have_output(/INFO create.../)
523
- expect(last_command_started).to have_output(/INFO validate stack: Test-#{uuid}$/)
524
- expect(last_command_started).to have_output(/INFO creating stack: Test-#{uuid}$/)
525
- expect(last_command_started).to have_output(/INFO created stack: Test-#{uuid}$/)
526
- expect(last_command_started).not_to have_output(/INFO validate stack: Test2-#{uuid}$/)
527
- expect(last_command_started).not_to have_output(/INFO creating stack: Test2-#{uuid}$/)
528
- expect(last_command_started).not_to have_output(/INFO created stack: Test2-#{uuid}$/)
529
- end
530
- end
531
- after(:each) { run_command('cfndk destroy -f') }
532
- end
533
- context 'when --stack-names=Test Test2' do
534
- yaml = <<-"YAML"
535
- stacks:
536
- Test:
537
- template_file: vpc.yaml
538
- parameter_input: vpc.json
539
- parameters:
540
- VpcName: sample<%= append_uuid%>
541
- timeout_in_minutes: 2
542
- Test2:
543
- template_file: sg.yaml
544
- parameter_input: sg.json
545
- parameters:
546
- VpcName: sample<%= append_uuid%>
547
- depends:
548
- - Test
549
- Test3:
550
- template_file: iam.yaml
551
- parameter_input: iam.json
552
- parameters:
553
- WebRoleName: WebhRole<%= append_uuid%>
554
- capabilities:
555
- - CAPABILITY_NAMED_IAM
556
- timeout_in_minutes: 3
557
- YAML
558
- before(:each) { write_file(file, yaml) }
559
- before(:each) { copy('%/vpc.yaml', 'vpc.yaml') }
560
- before(:each) { copy('%/vpc.json', 'vpc.json') }
561
- before(:each) { copy('%/sg.yaml', 'sg.yaml') }
562
- before(:each) { copy('%/sg.json', 'sg.json') }
563
- before(:each) { copy('%/iam.yaml', 'iam.yaml') }
564
- before(:each) { copy('%/iam.json', 'iam.json') }
565
- before(:each) { run_command('cfndk create --stack-names=Test Test2') }
566
- it do
567
- aggregate_failures do
568
- expect(last_command_started).to be_successfully_executed
569
- expect(last_command_started).to have_output(/INFO create.../)
570
- expect(last_command_started).to have_output(/INFO validate stack: Test-#{uuid}$/)
571
- expect(last_command_started).to have_output(/INFO creating stack: Test-#{uuid}$/)
572
- expect(last_command_started).to have_output(/INFO created stack: Test-#{uuid}$/)
573
- expect(last_command_started).to have_output(/INFO validate stack: Test2-#{uuid}$/)
574
- expect(last_command_started).to have_output(/INFO creating stack: Test2-#{uuid}$/)
575
- expect(last_command_started).to have_output(/INFO created stack: Test2-#{uuid}$/)
576
- expect(last_command_started).not_to have_output(/INFO validate stack: Test3-#{uuid}$/)
577
- expect(last_command_started).not_to have_output(/INFO creating stack: Test3-#{uuid}$/)
578
- expect(last_command_started).not_to have_output(/INFO created stack: Test3-#{uuid}$/)
579
- end
580
- end
581
- after(:each) { run_command('cfndk destroy -f') }
582
- end
583
498
  end
584
499
  end
585
500
  end
@@ -3,6 +3,8 @@ require 'spec_helper'
3
3
  RSpec.describe 'CFnDK', type: :aruba do
4
4
  before(:each) { set_environment_variable('AWS_REGION', ENV['AWS_REGION']) }
5
5
  before(:each) { set_environment_variable('AWS_PROFILE', ENV['AWS_PROFILE']) }
6
+ before(:each) { set_environment_variable('AWS_ACCESS_KEY_ID', ENV["AWS_ACCESS_KEY_ID#{ENV['TEST_ENV_NUMBER']}"]) }
7
+ before(:each) { set_environment_variable('AWS_SECRET_ACCESS_KEY', ENV["AWS_SECRET_ACCESS_KEY#{ENV['TEST_ENV_NUMBER']}"]) }
6
8
  describe 'bin/cfndk' do
7
9
  before(:each) { setup_aruba }
8
10
  let(:file) { 'cfndk.yml' }
@@ -16,7 +18,7 @@ RSpec.describe 'CFnDK', type: :aruba do
16
18
  it 'displays file does not exist error and status code = 1' do
17
19
  aggregate_failures do
18
20
  expect(last_command_started).to have_exit_status(1)
19
- expect(last_command_started).to have_output(/ ERROR \(RuntimeError\) File does not exist./)
21
+ expect(last_command_started).to have_output(/ERROR RuntimeError: File does not exist./)
20
22
  end
21
23
  end
22
24
  end
@@ -134,7 +136,7 @@ RSpec.describe 'CFnDK', type: :aruba do
134
136
  expect(last_command_started).to have_output(%r{Are you sure you want to destroy\? \(y/n\)})
135
137
  expect(last_command_started).to have_output(/INFO deleted keypair: Test1$/)
136
138
  expect(last_command_started).to have_output(/INFO deleted stack: Test$/)
137
- expect{cloudformation_stack('Test').exist}.to raise_error(Aws::CloudFormation::Errors::ValidationError)
139
+ expect { cloudformation_stack('Test').exist }.to raise_error(Aws::CloudFormation::Errors::ValidationError)
138
140
  end
139
141
  end
140
142
  after(:each) { run_command('cfndk destroy -f') }
@@ -3,6 +3,8 @@ require 'spec_helper'
3
3
  RSpec.describe 'CFnDK', type: :aruba do
4
4
  before(:each) { set_environment_variable('AWS_REGION', ENV['AWS_REGION']) }
5
5
  before(:each) { set_environment_variable('AWS_PROFILE', ENV['AWS_PROFILE']) }
6
+ before(:each) { set_environment_variable('AWS_ACCESS_KEY_ID', ENV["AWS_ACCESS_KEY_ID#{ENV['TEST_ENV_NUMBER']}"]) }
7
+ before(:each) { set_environment_variable('AWS_SECRET_ACCESS_KEY', ENV["AWS_SECRET_ACCESS_KEY#{ENV['TEST_ENV_NUMBER']}"]) }
6
8
  describe 'bin/cfndk' do
7
9
  before(:each) { setup_aruba }
8
10
  let(:file) { 'cfndk.yml' }
@@ -37,7 +39,7 @@ RSpec.describe 'CFnDK', type: :aruba do
37
39
  it 'displays file does not exist error and status code = 1' do
38
40
  aggregate_failures do
39
41
  expect(last_command_started).to have_exit_status(1)
40
- expect(last_command_started).to have_output(/ERROR File does not exist./)
42
+ expect(last_command_started).to have_output(/ERROR RuntimeError: File does not exist./)
41
43
  end
42
44
  end
43
45
  end
@@ -56,7 +58,7 @@ RSpec.describe 'CFnDK', type: :aruba do
56
58
  end
57
59
  end
58
60
  end
59
-
61
+
60
62
  context 'when --config-path cfndk2.yml and empty keypairs' do
61
63
  before(:each) { run_command("cfndk keypair create --config-path=#{file2}") }
62
64
  it 'displays empty keypair log' do
@@ -78,7 +80,7 @@ RSpec.describe 'CFnDK', type: :aruba do
78
80
  end
79
81
  end
80
82
  end
81
-
83
+
82
84
  context 'with keyparis:', keypairs: true do
83
85
  context 'without keypair' do
84
86
  before(:each) { write_file(file, 'keypairs:') }
@@ -118,7 +120,7 @@ RSpec.describe 'CFnDK', type: :aruba do
118
120
  end
119
121
  after(:each) { run_command('cfndk destroy -f') }
120
122
  end
121
-
123
+
122
124
  context 'with two keypairs' do
123
125
  yaml = <<-"YAML"
124
126
  keypairs:
@@ -138,7 +140,7 @@ RSpec.describe 'CFnDK', type: :aruba do
138
140
  end
139
141
  after(:each) { run_command('cfndk destroy -f') }
140
142
  end
141
-
143
+
142
144
  context 'with a keypair and a key_file' do
143
145
  context 'without UUID', uuid: true do
144
146
  context 'without append_uuid' do
@@ -162,7 +164,7 @@ RSpec.describe 'CFnDK', type: :aruba do
162
164
  end
163
165
  after(:each) { run_command('cfndk destroy -f') }
164
166
  end
165
-
167
+
166
168
  context 'with append_uuid' do
167
169
  yaml = <<-"YAML"
168
170
  keypairs:
@@ -185,7 +187,7 @@ RSpec.describe 'CFnDK', type: :aruba do
185
187
  after(:each) { run_command('cfndk destroy -f') }
186
188
  end
187
189
  end
188
-
190
+
189
191
  context 'with UUID', uuid: true do
190
192
  yaml = <<-"YAML"
191
193
  keypairs:
@@ -208,7 +210,7 @@ RSpec.describe 'CFnDK', type: :aruba do
208
210
  end
209
211
  after(:each) { run_command("cfndk destroy -u=#{uuid} -f") }
210
212
  end
211
-
213
+
212
214
  context 'when env CFNDK_UUID=38437346-c75c-47c5-83b4-d504f85e275b' do
213
215
  before(:each) { set_environment_variable('CFNDK_UUID', uuid) }
214
216
  before(:each) { run_command('cfndk keypair create') }
@@ -283,7 +285,7 @@ RSpec.describe 'CFnDK', type: :aruba do
283
285
  it 'displays file does not exist error and status code = 1' do
284
286
  aggregate_failures do
285
287
  expect(last_command_started).to have_exit_status(1)
286
- expect(last_command_started).to have_output(/ERROR File does not exist./)
288
+ expect(last_command_started).to have_output(/ERROR RuntimeError: File does not exist./)
287
289
  end
288
290
  end
289
291
  end
@@ -4,6 +4,8 @@ RSpec.describe 'CFnDK', type: :aruba do
4
4
  before(:each) { setup_aruba }
5
5
  before(:each) { set_environment_variable('AWS_REGION', ENV['AWS_REGION']) }
6
6
  before(:each) { set_environment_variable('AWS_PROFILE', ENV['AWS_PROFILE']) }
7
+ before(:each) { set_environment_variable('AWS_ACCESS_KEY_ID', ENV["AWS_ACCESS_KEY_ID#{ENV['TEST_ENV_NUMBER']}"]) }
8
+ before(:each) { set_environment_variable('AWS_SECRET_ACCESS_KEY', ENV["AWS_SECRET_ACCESS_KEY#{ENV['TEST_ENV_NUMBER']}"]) }
7
9
 
8
10
  describe 'bin/cfndk' do
9
11
  describe 'report', report: true do
@@ -12,7 +14,7 @@ RSpec.describe 'CFnDK', type: :aruba do
12
14
  it 'displays file does not exist error and status code = 1' do
13
15
  aggregate_failures do
14
16
  expect(last_command_started).to have_exit_status(1)
15
- expect(last_command_started).to have_output(/ERROR File does not exist./)
17
+ expect(last_command_started).to have_output(/ERROR RuntimeError: File does not exist./)
16
18
  end
17
19
  end
18
20
  end
data/spec/cfndk_spec.rb CHANGED
@@ -1,8 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  RSpec.describe 'CFnDK', type: :aruba do
4
- before(:each) { prepend_environment_variable('AWS_REGION', ENV['AWS_REGION']) }
5
- before(:each) { prepend_environment_variable('AWS_PROFILE', ENV['AWS_PROFILE']) }
4
+ before(:each) { set_environment_variable('AWS_REGION', ENV['AWS_REGION']) }
5
+ before(:each) { set_environment_variable('AWS_PROFILE', ENV['AWS_PROFILE']) }
6
+ before(:each) { set_environment_variable('AWS_ACCESS_KEY_ID', ENV["AWS_ACCESS_KEY_ID#{ENV['TEST_ENV_NUMBER']}"]) }
7
+ before(:each) { set_environment_variable('AWS_SECRET_ACCESS_KEY', ENV["AWS_SECRET_ACCESS_KEY#{ENV['TEST_ENV_NUMBER']}"]) }
6
8
  describe 'bin/cfndk' do
7
9
  before(:each) { setup_aruba }
8
10
  let(:file) { 'cfndk.yml' }
@@ -34,7 +36,7 @@ RSpec.describe 'CFnDK', type: :aruba do
34
36
  it 'displays version' do
35
37
  aggregate_failures do
36
38
  expect(last_command_started).to be_successfully_executed
37
- expect(last_command_started).to have_output(/0.1.0/)
39
+ expect(last_command_started).to have_output(/0.1.1/)
38
40
  end
39
41
  end
40
42
  end