vcloud-edge_gateway 0.5.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,221 @@
1
+ require 'spec_helper'
2
+
3
+ class CommandRun
4
+ attr_accessor :stdout, :stderr, :exitstatus
5
+
6
+ def initialize(args)
7
+ out = StringIO.new
8
+ err = StringIO.new
9
+
10
+ $stdout = out
11
+ $stderr = err
12
+
13
+ begin
14
+ Vcloud::EdgeGateway::Cli.new(args).run
15
+ @exitstatus = 0
16
+ rescue SystemExit => e
17
+ # Capture exit(n) value.
18
+ @exitstatus = e.status
19
+ end
20
+
21
+ @stdout = out.string.strip
22
+ @stderr = err.string.strip
23
+
24
+ $stdout = STDOUT
25
+ $stderr = STDERR
26
+ end
27
+ end
28
+
29
+ describe Vcloud::EdgeGateway::Cli do
30
+ subject { CommandRun.new(args) }
31
+
32
+ describe "normal usage" do
33
+ let(:mock_configure) {
34
+ double(:configure, :update => {})
35
+ }
36
+
37
+ context "when given a single config file" do
38
+ let(:args) { %w{config.yaml} }
39
+
40
+ it "should pass single argument, call update without any args, and exit normally" do
41
+ expect(Vcloud::EdgeGateway::Configure).to receive(:new).
42
+ with('config.yaml').and_return(mock_configure)
43
+ expect(mock_configure).to receive(:update).with(no_args)
44
+ expect(subject.exitstatus).to eq(0)
45
+ end
46
+ end
47
+
48
+ context "when given --template-vars and config file" do
49
+ let(:args) { %w{--template-vars vars.yaml config.yaml} }
50
+
51
+ it "should pass two arguments and exit normally" do
52
+ expect(Vcloud::EdgeGateway::Configure).to receive(:new).
53
+ with('config.yaml', 'vars.yaml').and_return(mock_configure)
54
+ expect(mock_configure).to receive(:update)
55
+ expect(subject.exitstatus).to eq(0)
56
+ end
57
+ end
58
+
59
+ context "when given --dry-run and config file" do
60
+ let(:args) { %w{--dry-run config.yaml} }
61
+
62
+ it "should call update(true) and exit normally" do
63
+ expect(Vcloud::EdgeGateway::Configure).to receive(:new).
64
+ with('config.yaml').and_return(mock_configure)
65
+ expect(mock_configure).to receive(:update).with(true)
66
+ expect(subject.exitstatus).to eq(0)
67
+ end
68
+ end
69
+
70
+ context "when asked to display version" do
71
+ let(:args) { %w{--version} }
72
+
73
+ it "should not call Configure" do
74
+ expect(Vcloud::EdgeGateway::Configure).not_to receive(:new)
75
+ end
76
+
77
+ it "should print version and exit normally" do
78
+ expect(subject.stdout).to eq(Vcloud::EdgeGateway::VERSION)
79
+ expect(subject.exitstatus).to eq(0)
80
+ end
81
+ end
82
+
83
+ context "when asked to display help" do
84
+ let(:args) { %w{--help} }
85
+
86
+ it "should not call Configure" do
87
+ expect(Vcloud::EdgeGateway::Configure).not_to receive(:new)
88
+ end
89
+
90
+ it "should print usage and exit normally" do
91
+ expect(subject.stderr).to match(/\AUsage: \S+ \[options\] config_file\n/)
92
+ expect(subject.exitstatus).to eq(0)
93
+ end
94
+ end
95
+ end
96
+
97
+ describe "diff output" do
98
+ shared_examples "diff with stdout contents" do |expected_stdout|
99
+ it "should output diff to stdout" do
100
+ expect(Vcloud::EdgeGateway::Configure).to receive(:new).
101
+ with('config.yaml').and_return(mock_configure)
102
+ expect(subject.stdout).to eq(expected_stdout.chomp)
103
+ expect(subject.exitstatus).to eq(0)
104
+ end
105
+ end
106
+
107
+ context "when diff is empty" do
108
+ let(:mock_configure) {
109
+ double(:configure, :update => {})
110
+ }
111
+
112
+ context "when given config (colour doesn't matter)" do
113
+ let(:args) { %w{config.yaml} }
114
+
115
+ it_behaves_like "diff with stdout contents", ""
116
+ end
117
+ end
118
+
119
+ context "when diff contains two services with three types of changes" do
120
+ shared_examples "diff with colour output" do
121
+ include_examples "diff with stdout contents", <<-EOS.chomp
122
+ \033[31m- FirewallService.IsEnabled: true\033[0m
123
+ \033[32m+ FirewallService.LogDefaultAction: false\033[0m
124
+ \033[31m- NatService.IsEnabled: true\033[0m
125
+ \033[32m+ NatService.IsEnabled: false\033[0m
126
+ EOS
127
+ end
128
+
129
+ shared_examples "diff without colour output" do
130
+ include_examples "diff with stdout contents", <<-EOS.chomp
131
+ - FirewallService.IsEnabled: true
132
+ + FirewallService.LogDefaultAction: false
133
+ - NatService.IsEnabled: true
134
+ + NatService.IsEnabled: false
135
+ EOS
136
+ end
137
+
138
+ let(:mock_configure) {
139
+ double(:configure, :update => {
140
+ :FirewallService => [
141
+ ["-", "IsEnabled", "true"],
142
+ ["+", "LogDefaultAction", "false"],
143
+ ],
144
+ :NatService => [
145
+ ["~", "IsEnabled", "true", "false"],
146
+ ],
147
+ })
148
+ }
149
+
150
+ context "STDOUT is not redirected" do
151
+ before(:each) {
152
+ STDOUT.stub(:tty?).and_return(true)
153
+ }
154
+
155
+ context "when colour argument is not specified" do
156
+ let(:args) { %w{config.yaml} }
157
+
158
+ it_behaves_like "diff with colour output"
159
+ end
160
+
161
+ context "when given --no-colour" do
162
+ let(:args) { %w{--no-colour config.yaml} }
163
+
164
+ it_behaves_like "diff without colour output"
165
+ end
166
+ end
167
+
168
+ context "STDOUT is redirected" do
169
+ before(:each) {
170
+ STDOUT.stub(:tty?).and_return(false)
171
+ }
172
+
173
+ context "when colour argument is not specified" do
174
+ let(:args) { %w{config.yaml} }
175
+
176
+ it_behaves_like "diff without colour output"
177
+ end
178
+
179
+ context "when given --colour" do
180
+ let(:args) { %w{--colour config.yaml} }
181
+
182
+ it_behaves_like "diff with colour output"
183
+ end
184
+ end
185
+ end
186
+ end
187
+
188
+ describe "incorrect usage" do
189
+ shared_examples "print usage and exit abnormally" do |error|
190
+ it "should not call Configure" do
191
+ expect(Vcloud::EdgeGateway::Configure).not_to receive(:new)
192
+ end
193
+
194
+ it "should print error message and usage" do
195
+ expect(subject.stderr).to match(/\A\S+: #{error}\nUsage: \S+/)
196
+ end
197
+
198
+ it "should exit abnormally for incorrect usage" do
199
+ expect(subject.exitstatus).to eq(2)
200
+ end
201
+ end
202
+
203
+ context "when run without any arguments" do
204
+ let(:args) { %w{} }
205
+
206
+ it_behaves_like "print usage and exit abnormally", "must supply config_file"
207
+ end
208
+
209
+ context "when given a multiple config files" do
210
+ let(:args) { %w{one.yaml two.yaml} }
211
+
212
+ it_behaves_like "print usage and exit abnormally", "must supply config_file"
213
+ end
214
+
215
+ context "when given an unrecognised argument" do
216
+ let(:args) { %w{--this-is-garbage} }
217
+
218
+ it_behaves_like "print usage and exit abnormally", "invalid option: --this-is-garbage"
219
+ end
220
+ end
221
+ end
@@ -0,0 +1,81 @@
1
+ require 'spec_helper'
2
+
3
+ describe Vcloud::EdgeGateway::Configure do
4
+ describe 'dry_run' do
5
+ let(:expected_log_message) {
6
+ /: Dry run\. Skipping\.$/
7
+ }
8
+ let(:mock_edgegateway) {
9
+ double(:edgegateway,
10
+ :interfaces => 'chocolate cake',
11
+ :vcloud_attributes => {
12
+ :Configuration => {
13
+ :EdgeGatewayServiceConfiguration => 'ice cream cone',
14
+ }
15
+ }
16
+ )
17
+ }
18
+
19
+ before(:each) {
20
+ Vcloud::Core::EdgeGateway.stub(:get_by_name).and_return(mock_edgegateway)
21
+
22
+ mock_configloader = double(:configloader,
23
+ :load_config => { :gateway => 'pickle' }
24
+ )
25
+ Vcloud::Core::ConfigLoader.stub(:new).and_return(mock_configloader)
26
+
27
+ mock_configuration = double(:configuration,
28
+ :update_required? => true,
29
+ :config => 'slice of swiss cheese',
30
+ :diff => ['slice of salami'],
31
+ )
32
+ Vcloud::EdgeGateway::EdgeGatewayConfiguration.stub(:new).and_return(mock_configuration)
33
+ }
34
+
35
+ context "when false (default)" do
36
+ let(:subject) {
37
+ Vcloud::EdgeGateway::Configure.new('lollipop.yaml').update
38
+ }
39
+
40
+ it "should call update_configuration" do
41
+ expect(mock_edgegateway).to receive(:update_configuration).with('slice of swiss cheese')
42
+ subject
43
+ end
44
+
45
+ it "should not log message about dry run" do
46
+ mock_edgegateway.stub(:update_configuration)
47
+ expect(Vcloud::Core.logger).not_to receive(:info).with(expected_log_message)
48
+ subject
49
+ end
50
+
51
+ it "should return diff" do
52
+ mock_edgegateway.stub(:update_configuration)
53
+ expect(subject).to eq(['slice of salami'])
54
+ end
55
+ end
56
+
57
+ context "when true" do
58
+ let(:subject) {
59
+ Vcloud::EdgeGateway::Configure.new('lollipop.yaml').update(true)
60
+ }
61
+
62
+ it "should not call update_configuration" do
63
+ Vcloud::Core.logger.stub(:info)
64
+ expect(mock_edgegateway).not_to receive(:update_configuration)
65
+ subject
66
+ end
67
+
68
+ it "should log message about dry run" do
69
+ mock_edgegateway.stub(:update_configuration)
70
+ expect(Vcloud::Core.logger).to receive(:info).with(expected_log_message)
71
+ subject
72
+ end
73
+
74
+ it "should return diff" do
75
+ Vcloud::Core.logger.stub(:info)
76
+ mock_edgegateway.stub(:update_configuration)
77
+ expect(subject).to eq(['slice of salami'])
78
+ end
79
+ end
80
+ end
81
+ end
@@ -83,6 +83,14 @@ module Vcloud
83
83
  expect(proposed_load_balancer_config).to eq(expected_load_balancer_config)
84
84
  end
85
85
 
86
+ it "proposed diff contains changes for all services" do
87
+ diff = @proposed_config.diff
88
+ expect(diff.keys).to eq([:FirewallService, :NatService, :LoadBalancerService])
89
+ expect(diff[:FirewallService]).to have_at_least(1).items
90
+ expect(diff[:NatService]).to have_at_least(1).items
91
+ expect(diff[:LoadBalancerService]).to have_at_least(1).items
92
+ end
93
+
86
94
  end
87
95
 
88
96
  context "firewall config has changed and nat has not, load_balancer absent" do
@@ -121,6 +129,12 @@ module Vcloud
121
129
  expect(@proposed_config.config.key?(:LoadBalancerService)).to be(false)
122
130
  end
123
131
 
132
+ it "proposed diff contains changes for firewall service" do
133
+ diff = @proposed_config.diff
134
+ expect(diff.keys).to eq([:FirewallService])
135
+ expect(diff[:FirewallService]).to have_at_least(1).items
136
+ end
137
+
124
138
  end
125
139
 
126
140
  context "firewall config has changed and nat & load_balancer configs are absent" do
@@ -159,6 +173,12 @@ module Vcloud
159
173
  expect(@proposed_config.config.key?(:LoadBalancerService)).to be(false)
160
174
  end
161
175
 
176
+ it "proposed diff contains changes for firewall service" do
177
+ diff = @proposed_config.diff
178
+ expect(diff.keys).to eq([:FirewallService])
179
+ expect(diff[:FirewallService]).to have_at_least(1).items
180
+ end
181
+
162
182
  end
163
183
 
164
184
  context "load_balancer config has changed and firewall & nat have not" do
@@ -199,6 +219,12 @@ module Vcloud
199
219
  expect(@proposed_config.config.key?(:FirewallService)).to be(false)
200
220
  end
201
221
 
222
+ it "proposed diff contains changes for load balancer service" do
223
+ diff = @proposed_config.diff
224
+ expect(diff.keys).to eq([:LoadBalancerService])
225
+ expect(diff[:LoadBalancerService]).to have_at_least(1).items
226
+ end
227
+
202
228
  end
203
229
 
204
230
  context "load_balancer & firewall config have changed and nat has not" do
@@ -240,6 +266,13 @@ module Vcloud
240
266
  expect(proposed_firewall_config).to eq(expected_firewall_config)
241
267
  end
242
268
 
269
+ it "proposed diff contains changes for firewall and load balancer services" do
270
+ diff = @proposed_config.diff
271
+ expect(diff.keys).to eq([:FirewallService, :LoadBalancerService])
272
+ expect(diff[:FirewallService]).to have_at_least(1).items
273
+ expect(diff[:LoadBalancerService]).to have_at_least(1).items
274
+ end
275
+
243
276
  end
244
277
 
245
278
 
@@ -279,6 +312,12 @@ module Vcloud
279
312
  expect(@proposed_config.config.key?(:FirewallService)).to be(false)
280
313
  end
281
314
 
315
+ it "proposed diff contains changes for load balancer service" do
316
+ diff = @proposed_config.diff
317
+ expect(diff.keys).to eq([:LoadBalancerService])
318
+ expect(diff[:LoadBalancerService]).to have_at_least(1).items
319
+ end
320
+
282
321
  end
283
322
 
284
323
  context "all configs are present but haven't changed" do
@@ -310,6 +349,10 @@ module Vcloud
310
349
  expect(@proposed_config.config.empty?).to be(true)
311
350
  end
312
351
 
352
+ it "proposed diff contains no changes" do
353
+ expect(@proposed_config.diff).to eq({})
354
+ end
355
+
313
356
  end
314
357
 
315
358
  context "firewall config has not changed and nat & load_balancer config is absent" do
@@ -339,6 +382,10 @@ module Vcloud
339
382
  expect(@proposed_config.config.empty?).to be(true)
340
383
  end
341
384
 
385
+ it "proposed diff contains no changes" do
386
+ expect(@proposed_config.diff).to eq({})
387
+ end
388
+
342
389
  end
343
390
 
344
391
  context "no service config is present" do
@@ -367,6 +414,10 @@ module Vcloud
367
414
  expect(@proposed_config.config.empty?).to be(true)
368
415
  end
369
416
 
417
+ it "proposed diff contains no changes" do
418
+ expect(@proposed_config.diff).to eq({})
419
+ end
420
+
370
421
  end
371
422
 
372
423
  context "when there is a missing remote LoadBalancerService, we can still update NatService" do
@@ -404,6 +455,12 @@ module Vcloud
404
455
  expect(@proposed_config.config.key?(:FirewallService)).to be(false)
405
456
  end
406
457
 
458
+ it "proposed diff contains changes for nat service" do
459
+ diff = @proposed_config.diff
460
+ expect(diff.keys).to eq([:NatService])
461
+ expect(diff[:NatService]).to have_at_least(1).items
462
+ end
463
+
407
464
  end
408
465
 
409
466
  context "there is no remote FirewallService config, but we are trying to update it" do
@@ -441,6 +498,12 @@ module Vcloud
441
498
  expect(@proposed_config.config.key?(:NatService)).to be(false)
442
499
  end
443
500
 
501
+ it "proposed diff contains changes for firewall service" do
502
+ diff = @proposed_config.diff
503
+ expect(diff.keys).to eq([:FirewallService])
504
+ expect(diff[:FirewallService]).to have_at_least(1).items
505
+ end
506
+
444
507
  end
445
508
 
446
509
  context "there is no remote NatService config, but we are trying to update it" do
@@ -478,6 +541,12 @@ module Vcloud
478
541
  expect(@proposed_config.config.key?(:FirewallService)).to be(false)
479
542
  end
480
543
 
544
+ it "proposed diff contains changes for nat service" do
545
+ diff = @proposed_config.diff
546
+ expect(diff.keys).to eq([:NatService])
547
+ expect(diff[:NatService]).to have_at_least(1).items
548
+ end
549
+
481
550
  end
482
551
 
483
552
  context "there is no remote LoadBalancer config, but we are trying to update it" do
@@ -515,6 +584,12 @@ module Vcloud
515
584
  expect(@proposed_config.config.key?(:FirewallService)).to be(false)
516
585
  end
517
586
 
587
+ it "proposed diff contains changes for load balancer service" do
588
+ diff = @proposed_config.diff
589
+ expect(diff.keys).to eq([:LoadBalancerService])
590
+ expect(diff[:LoadBalancerService]).to have_at_least(1).items
591
+ end
592
+
518
593
  end
519
594
 
520
595
  def test_firewall_config
@@ -24,10 +24,12 @@ Gem::Specification.new do |s|
24
24
  s.add_runtime_dependency 'fog', '>= 1.21.0'
25
25
  s.add_runtime_dependency 'vcloud-core', '~> 0.2.0'
26
26
  s.add_runtime_dependency 'hashdiff'
27
+ s.add_development_dependency 'pry'
27
28
  s.add_development_dependency 'rake'
28
29
  s.add_development_dependency 'rspec', '~> 2.14.1'
29
- s.add_development_dependency 'rubocop'
30
+ s.add_development_dependency 'rubocop', '~> 0.23.0'
30
31
  s.add_development_dependency 'simplecov', '~> 0.8.2'
31
32
  s.add_development_dependency 'gem_publisher', '1.2.0'
33
+ s.add_development_dependency 'vcloud-tools-tester', '0.0.5'
32
34
  end
33
35
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcloud-edge_gateway
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-05-16 00:00:00.000000000 Z
12
+ date: 2014-06-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog
@@ -59,6 +59,22 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: pry
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
62
78
  - !ruby/object:Gem::Dependency
63
79
  name: rake
64
80
  requirement: !ruby/object:Gem::Requirement
@@ -96,17 +112,17 @@ dependencies:
96
112
  requirement: !ruby/object:Gem::Requirement
97
113
  none: false
98
114
  requirements:
99
- - - ! '>='
115
+ - - ~>
100
116
  - !ruby/object:Gem::Version
101
- version: '0'
117
+ version: 0.23.0
102
118
  type: :development
103
119
  prerelease: false
104
120
  version_requirements: !ruby/object:Gem::Requirement
105
121
  none: false
106
122
  requirements:
107
- - - ! '>='
123
+ - - ~>
108
124
  - !ruby/object:Gem::Version
109
- version: '0'
125
+ version: 0.23.0
110
126
  - !ruby/object:Gem::Dependency
111
127
  name: simplecov
112
128
  requirement: !ruby/object:Gem::Requirement
@@ -139,22 +155,41 @@ dependencies:
139
155
  - - '='
140
156
  - !ruby/object:Gem::Version
141
157
  version: 1.2.0
158
+ - !ruby/object:Gem::Dependency
159
+ name: vcloud-tools-tester
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - '='
164
+ - !ruby/object:Gem::Version
165
+ version: 0.0.5
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - '='
172
+ - !ruby/object:Gem::Version
173
+ version: 0.0.5
142
174
  description: Tool to configure a VMware vCloud Edge Gateway. Uses vcloud-core.
143
175
  email:
144
176
  - anna.shipman@digital.cabinet-office.gov.uk
145
177
  executables:
146
178
  - vcloud-configure-edge
179
+ - vcloud-edge-configure
147
180
  extensions: []
148
181
  extra_rdoc_files: []
149
182
  files:
150
183
  - .gitignore
151
184
  - .travis.yml
152
185
  - CHANGELOG.md
186
+ - CONTRIBUTING.md
153
187
  - Gemfile
154
188
  - LICENSE.txt
155
189
  - README.md
156
190
  - Rakefile
157
191
  - bin/vcloud-configure-edge
192
+ - bin/vcloud-edge-configure
158
193
  - examples/vcloud-configure-edge/firewall-rules.yaml
159
194
  - examples/vcloud-configure-edge/loadbalancer-rules.yaml
160
195
  - examples/vcloud-configure-edge/nat-rules.yaml
@@ -164,6 +199,7 @@ files:
164
199
  - jenkins.sh
165
200
  - jenkins_integration_tests.sh
166
201
  - lib/vcloud/edge_gateway.rb
202
+ - lib/vcloud/edge_gateway/cli.rb
167
203
  - lib/vcloud/edge_gateway/configuration_differ.rb
168
204
  - lib/vcloud/edge_gateway/configuration_generator/firewall_service.rb
169
205
  - lib/vcloud/edge_gateway/configuration_generator/id_ranges.rb
@@ -179,6 +215,11 @@ files:
179
215
  - lib/vcloud/edge_gateway/schema/load_balancer_service.rb
180
216
  - lib/vcloud/edge_gateway/schema/nat_service.rb
181
217
  - lib/vcloud/edge_gateway/version.rb
218
+ - spec/integration/README.md
219
+ - spec/integration/edge_gateway/configure_firewall_spec.rb
220
+ - spec/integration/edge_gateway/configure_load_balancer_spec.rb
221
+ - spec/integration/edge_gateway/configure_nat_spec.rb
222
+ - spec/integration/edge_gateway/configure_services_spec.rb
182
223
  - spec/integration/edge_gateway/data/firewall_config.yaml.mustache
183
224
  - spec/integration/edge_gateway/data/firewall_config_updated_rule.yaml.mustache
184
225
  - spec/integration/edge_gateway/data/firewall_rule_order_test.yaml.mustache
@@ -192,12 +233,10 @@ files:
192
233
  - spec/integration/edge_gateway/data/nat_and_firewall_config.yaml.mustache
193
234
  - spec/integration/edge_gateway/data/nat_and_firewall_plus_load_balancer_config.yaml.mustache
194
235
  - spec/integration/edge_gateway/data/nat_config.yaml.mustache
195
- - spec/integration/edge_gateway/edge_gateway_services_spec.rb
196
- - spec/integration/edge_gateway/firewall_service_spec.rb
197
- - spec/integration/edge_gateway/load_balancer_service_spec.rb
198
- - spec/integration/edge_gateway/nat_service_spec.rb
236
+ - spec/integration/vcloud_tools_testing_config.yaml.template
199
237
  - spec/spec_helper.rb
200
238
  - spec/support/integration_helper.rb
239
+ - spec/vcloud/edge_gateway/cli_spec.rb
201
240
  - spec/vcloud/edge_gateway/configuration_differ_shared_examples.rb
202
241
  - spec/vcloud/edge_gateway/configuration_differ_spec.rb
203
242
  - spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-input.yaml
@@ -212,6 +251,7 @@ files:
212
251
  - spec/vcloud/edge_gateway/configuration_generator/firewall_service_spec.rb
213
252
  - spec/vcloud/edge_gateway/configuration_generator/load_balancer_service_spec.rb
214
253
  - spec/vcloud/edge_gateway/configuration_generator/nat_service_spec.rb
254
+ - spec/vcloud/edge_gateway/configure_spec.rb
215
255
  - spec/vcloud/edge_gateway/edge_gateway_configuration_spec.rb
216
256
  - spec/vcloud/edge_gateway/firewall_configuration_differ_spec.rb
217
257
  - spec/vcloud/edge_gateway/firewall_schema_validation_spec.rb
@@ -242,7 +282,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
282
  version: '0'
243
283
  segments:
244
284
  - 0
245
- hash: -1385962529695170701
285
+ hash: -2937222901484224799
246
286
  requirements: []
247
287
  rubyforge_project:
248
288
  rubygems_version: 1.8.23
@@ -250,6 +290,11 @@ signing_key:
250
290
  specification_version: 3
251
291
  summary: Tool to configure a VMware vCloud Edge Gateway
252
292
  test_files:
293
+ - spec/integration/README.md
294
+ - spec/integration/edge_gateway/configure_firewall_spec.rb
295
+ - spec/integration/edge_gateway/configure_load_balancer_spec.rb
296
+ - spec/integration/edge_gateway/configure_nat_spec.rb
297
+ - spec/integration/edge_gateway/configure_services_spec.rb
253
298
  - spec/integration/edge_gateway/data/firewall_config.yaml.mustache
254
299
  - spec/integration/edge_gateway/data/firewall_config_updated_rule.yaml.mustache
255
300
  - spec/integration/edge_gateway/data/firewall_rule_order_test.yaml.mustache
@@ -263,12 +308,10 @@ test_files:
263
308
  - spec/integration/edge_gateway/data/nat_and_firewall_config.yaml.mustache
264
309
  - spec/integration/edge_gateway/data/nat_and_firewall_plus_load_balancer_config.yaml.mustache
265
310
  - spec/integration/edge_gateway/data/nat_config.yaml.mustache
266
- - spec/integration/edge_gateway/edge_gateway_services_spec.rb
267
- - spec/integration/edge_gateway/firewall_service_spec.rb
268
- - spec/integration/edge_gateway/load_balancer_service_spec.rb
269
- - spec/integration/edge_gateway/nat_service_spec.rb
311
+ - spec/integration/vcloud_tools_testing_config.yaml.template
270
312
  - spec/spec_helper.rb
271
313
  - spec/support/integration_helper.rb
314
+ - spec/vcloud/edge_gateway/cli_spec.rb
272
315
  - spec/vcloud/edge_gateway/configuration_differ_shared_examples.rb
273
316
  - spec/vcloud/edge_gateway/configuration_differ_spec.rb
274
317
  - spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-input.yaml
@@ -283,6 +326,7 @@ test_files:
283
326
  - spec/vcloud/edge_gateway/configuration_generator/firewall_service_spec.rb
284
327
  - spec/vcloud/edge_gateway/configuration_generator/load_balancer_service_spec.rb
285
328
  - spec/vcloud/edge_gateway/configuration_generator/nat_service_spec.rb
329
+ - spec/vcloud/edge_gateway/configure_spec.rb
286
330
  - spec/vcloud/edge_gateway/edge_gateway_configuration_spec.rb
287
331
  - spec/vcloud/edge_gateway/firewall_configuration_differ_spec.rb
288
332
  - spec/vcloud/edge_gateway/firewall_schema_validation_spec.rb