beaker 1.13.1 → 1.14.0
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 +15 -7
- data/lib/beaker/answers.rb +3 -1
- data/lib/beaker/answers/version34.rb +12 -0
- data/lib/beaker/cli.rb +1 -0
- data/lib/beaker/dsl.rb +2 -1
- data/lib/beaker/dsl/ezbake_utils.rb +220 -0
- data/lib/beaker/dsl/helpers.rb +47 -38
- data/lib/beaker/dsl/install_utils.rb +229 -9
- data/lib/beaker/host/unix.rb +2 -2
- data/lib/beaker/host/unix/pkg.rb +8 -2
- data/lib/beaker/host/windows.rb +0 -1
- data/lib/beaker/host_prebuilt_steps.rb +1 -43
- data/lib/beaker/hypervisor.rb +0 -3
- data/lib/beaker/hypervisor/docker.rb +6 -1
- data/lib/beaker/logger.rb +22 -3
- data/lib/beaker/options/presets.rb +3 -1
- data/lib/beaker/platform.rb +38 -26
- data/lib/beaker/result.rb +3 -2
- data/lib/beaker/tasks/rake_task.rb +2 -8
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/answers_spec.rb +23 -0
- data/spec/beaker/dsl/ezbake_utils_spec.rb +239 -0
- data/spec/beaker/dsl/helpers_spec.rb +46 -36
- data/spec/beaker/dsl/install_utils_spec.rb +180 -1
- data/spec/beaker/host_prebuilt_steps_spec.rb +0 -43
- data/spec/beaker/hypervisor/docker_spec.rb +19 -4
- data/spec/beaker/platform_spec.rb +19 -1
- data/spec/helpers.rb +14 -14
- metadata +272 -151
@@ -105,7 +105,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
105
105
|
|
106
106
|
it 'generates a windows PE install command for a windows host' do
|
107
107
|
subject.stub( :hosts ).and_return( [ hosts[1], hosts[0], hosts[2], winhost ] )
|
108
|
-
expect( subject.installer_cmd( winhost, {} ) ).to be === "cd /tmp && cmd /C 'start /w msiexec.exe /qn /i puppet-enterprise-3.0.msi PUPPET_MASTER_SERVER=vm1 PUPPET_AGENT_CERTNAME=winhost'"
|
108
|
+
expect( subject.installer_cmd( winhost, {} ) ).to be === "cd /tmp && cmd /C 'start /w msiexec.exe /qn /L*V tmp.log /i puppet-enterprise-3.0.msi PUPPET_MASTER_SERVER=vm1 PUPPET_AGENT_CERTNAME=winhost'"
|
109
109
|
end
|
110
110
|
|
111
111
|
it 'generates a unix PE install command for a unix host' do
|
@@ -114,13 +114,48 @@ describe ClassMixedWithDSLInstallUtils do
|
|
114
114
|
expect( subject.installer_cmd( the_host, {} ) ).to be === "cd /tmp/puppet-enterprise-3.1.0-rc0-230-g36c9e5c-debian-7-i386 && ./puppet-enterprise-installer -a /tmp/answers"
|
115
115
|
end
|
116
116
|
|
117
|
+
it 'generates a unix PE frictionless install command for a unix host with role "frictionless"' do
|
118
|
+
subject.stub( :version_is_less ).and_return( false )
|
119
|
+
subject.stub( :master ).and_return( 'testmaster' )
|
120
|
+
the_host = unixhost.dup
|
121
|
+
the_host['pe_installer'] = 'puppet-enterprise-installer'
|
122
|
+
the_host['roles'] = ['frictionless']
|
123
|
+
expect( subject.installer_cmd( the_host, {} ) ).to be === "cd /tmp && curl -kO https://testmaster:8140/packages/3.0/install.bash && bash install.bash"
|
124
|
+
end
|
125
|
+
|
117
126
|
it 'generates a osx PE install command for a osx host' do
|
118
127
|
the_host = machost.dup
|
119
128
|
the_host['pe_installer'] = 'puppet-enterprise-installer'
|
120
129
|
expect( subject.installer_cmd( the_host, {} ) ).to be === "cd /tmp && hdiutil attach .dmg && installer -pkg /Volumes/puppet-enterprise-3.0/puppet-enterprise-installer-3.0.pkg -target /"
|
121
130
|
end
|
131
|
+
|
132
|
+
it 'generates a unix PE install command in verbose for a unix host when pe_debug is enabled' do
|
133
|
+
the_host = unixhost.dup
|
134
|
+
the_host['pe_installer'] = 'puppet-enterprise-installer'
|
135
|
+
the_host[:pe_debug] = true
|
136
|
+
expect( subject.installer_cmd( the_host, {} ) ).to be === "cd /tmp/puppet-enterprise-3.1.0-rc0-230-g36c9e5c-debian-7-i386 && ./puppet-enterprise-installer -D -a /tmp/answers"
|
137
|
+
end
|
138
|
+
|
139
|
+
it 'generates a osx PE install command in verbose for a osx host when pe_debug is enabled' do
|
140
|
+
the_host = machost.dup
|
141
|
+
the_host['pe_installer'] = 'puppet-enterprise-installer'
|
142
|
+
the_host[:pe_debug] = true
|
143
|
+
expect( subject.installer_cmd( the_host, {} ) ).to be === "cd /tmp && hdiutil attach .dmg && installer -verboseR -pkg /Volumes/puppet-enterprise-3.0/puppet-enterprise-installer-3.0.pkg -target /"
|
144
|
+
end
|
145
|
+
|
146
|
+
it 'generates a unix PE frictionless install command in verbose for a unix host with role "frictionless" and pe_debug is enabled' do
|
147
|
+
subject.stub( :version_is_less ).and_return( false )
|
148
|
+
subject.stub( :master ).and_return( 'testmaster' )
|
149
|
+
the_host = unixhost.dup
|
150
|
+
the_host['pe_installer'] = 'puppet-enterprise-installer'
|
151
|
+
the_host['roles'] = ['frictionless']
|
152
|
+
the_host[:pe_debug] = true
|
153
|
+
expect( subject.installer_cmd( the_host, {} ) ).to be === "cd /tmp && curl -kO https://testmaster:8140/packages/3.0/install.bash && bash -x install.bash"
|
154
|
+
end
|
155
|
+
|
122
156
|
end
|
123
157
|
|
158
|
+
|
124
159
|
describe 'fetch_puppet' do
|
125
160
|
|
126
161
|
it 'can push a local PE .tar.gz to a host and unpack it' do
|
@@ -434,4 +469,148 @@ describe ClassMixedWithDSLInstallUtils do
|
|
434
469
|
end
|
435
470
|
|
436
471
|
end
|
472
|
+
|
473
|
+
|
474
|
+
def fetch_allows
|
475
|
+
allow(File).to receive( :exists? ) { true }
|
476
|
+
allow(File).to receive( :open ).and_yield()
|
477
|
+
allow(subject).to receive( :logger ) { logger }
|
478
|
+
end
|
479
|
+
|
480
|
+
describe "#fetch_http_file" do
|
481
|
+
let( :logger) { double("Beaker::Logger", :notify => nil , :debug => nil ) }
|
482
|
+
|
483
|
+
before do
|
484
|
+
fetch_allows
|
485
|
+
end
|
486
|
+
|
487
|
+
describe "given valid arguments" do
|
488
|
+
|
489
|
+
it "returns its second and third arguments concatenated." do
|
490
|
+
result = subject.fetch_http_file "http://beaker.tool/", "name", "destdir"
|
491
|
+
expect(result).to eq("destdir/name")
|
492
|
+
end
|
493
|
+
|
494
|
+
end
|
495
|
+
|
496
|
+
end
|
497
|
+
|
498
|
+
describe "#fetch_http_dir" do
|
499
|
+
let( :logger) { double("Beaker::Logger", :notify => nil , :debug => nil ) }
|
500
|
+
let( :result) { double(:each_line => []) }
|
501
|
+
|
502
|
+
before do
|
503
|
+
fetch_allows
|
504
|
+
end
|
505
|
+
|
506
|
+
describe "given valid arguments" do
|
507
|
+
|
508
|
+
it "returns basename of first argument concatenated to second." do
|
509
|
+
expect(subject).to receive(:`).with(/^wget.*/).ordered { result }
|
510
|
+
result = subject.fetch_http_dir "http://beaker.tool/beep", "destdir"
|
511
|
+
expect(result).to eq("destdir/beep")
|
512
|
+
end
|
513
|
+
|
514
|
+
end
|
515
|
+
|
516
|
+
end
|
517
|
+
|
518
|
+
describe "#install_puppetlabs_release_repo" do
|
519
|
+
let( :platform ) { Beaker::Platform.new('solaris-7-i386') }
|
520
|
+
let( :host ) do
|
521
|
+
FakeHost.new( :options => { 'platform' => platform })
|
522
|
+
end
|
523
|
+
|
524
|
+
before do
|
525
|
+
allow(subject).to receive(:options) { opts }
|
526
|
+
end
|
527
|
+
|
528
|
+
describe "When host is unsupported platform" do
|
529
|
+
let( :platform ) { Beaker::Platform.new('solaris-7-i386') }
|
530
|
+
|
531
|
+
it "raises an exception." do
|
532
|
+
expect{
|
533
|
+
subject.install_puppetlabs_release_repo host
|
534
|
+
}.to raise_error(RuntimeError, /No repository installation step for/)
|
535
|
+
end
|
536
|
+
end
|
537
|
+
|
538
|
+
describe "When host is a debian-like platform" do
|
539
|
+
let( :platform ) { Beaker::Platform.new('debian-7-i386') }
|
540
|
+
|
541
|
+
it "downloads a deb file, installs, and updates the apt cache." do
|
542
|
+
expect(subject).to receive(:on).with( host, /wget .*/ ).ordered
|
543
|
+
expect(subject).to receive(:on).with( host, /dpkg .*/ ).ordered
|
544
|
+
expect(subject).to receive(:on).with( host, "apt-get update" ).ordered
|
545
|
+
subject.install_puppetlabs_release_repo host
|
546
|
+
end
|
547
|
+
|
548
|
+
end
|
549
|
+
|
550
|
+
describe "When host is a redhat-like platform" do
|
551
|
+
let( :platform ) { Beaker::Platform.new('el-7-i386') }
|
552
|
+
|
553
|
+
it "installs an rpm" do
|
554
|
+
expect(subject).to receive(:on).with( host, /rpm .*/ ).ordered
|
555
|
+
subject.install_puppetlabs_release_repo host
|
556
|
+
end
|
557
|
+
|
558
|
+
end
|
559
|
+
|
560
|
+
end
|
561
|
+
|
562
|
+
RSpec.shared_examples "install-dev-repo" do
|
563
|
+
let( :repo_config ) { "repoconfig" }
|
564
|
+
let( :repo_dir ) { "repodir" }
|
565
|
+
|
566
|
+
before do
|
567
|
+
allow(subject).to receive(:fetch_http_file) { repo_config }
|
568
|
+
allow(subject).to receive(:fetch_http_dir) { repo_dir }
|
569
|
+
allow(subject).to receive(:on).with(host, "apt-get update") { }
|
570
|
+
allow(subject).to receive(:options) { opts }
|
571
|
+
allow(subject).to receive(:link_exists?) { true }
|
572
|
+
end
|
573
|
+
|
574
|
+
it "scp's files to SUT then modifies them with find-and-sed 2-hit combo" do
|
575
|
+
expect(subject).to receive(:scp_to).with( host, repo_config, /.*/ ).ordered
|
576
|
+
expect(subject).to receive(:scp_to).with( host, repo_dir, /.*/ ).ordered
|
577
|
+
expect(subject).to receive(:on).with( host, /^find .* sed .*/ ).ordered
|
578
|
+
subject.install_puppetlabs_dev_repo host, package_name, package_version
|
579
|
+
end
|
580
|
+
|
581
|
+
end
|
582
|
+
|
583
|
+
describe "#install_puppetlabs_dev_repo" do
|
584
|
+
let( :package_name ) { "puppet" }
|
585
|
+
let( :package_version ) { "7.5.6" }
|
586
|
+
let( :host ) do
|
587
|
+
FakeHost.new( :options => opts.merge({
|
588
|
+
'platform' => platform,
|
589
|
+
}))
|
590
|
+
end
|
591
|
+
|
592
|
+
describe "When host is unsupported platform" do
|
593
|
+
let( :platform ) { Beaker::Platform.new('solaris-7-i386') }
|
594
|
+
|
595
|
+
it "raises an exception." do
|
596
|
+
allow(subject).to receive(:options) { opts }
|
597
|
+
expect{
|
598
|
+
subject.install_puppetlabs_dev_repo host, package_name, package_version
|
599
|
+
}.to raise_error(RuntimeError, /No repository installation step for/)
|
600
|
+
end
|
601
|
+
|
602
|
+
end
|
603
|
+
|
604
|
+
describe "When host is a debian-like platform" do
|
605
|
+
let( :platform ) { Beaker::Platform.new('debian-7-i386') }
|
606
|
+
include_examples "install-dev-repo"
|
607
|
+
end
|
608
|
+
|
609
|
+
describe "When host is a redhat-like platform" do
|
610
|
+
let( :platform ) { Beaker::Platform.new('el-7-i386') }
|
611
|
+
include_examples "install-dev-repo"
|
612
|
+
end
|
613
|
+
|
614
|
+
end
|
615
|
+
|
437
616
|
end
|
@@ -239,49 +239,6 @@ describe Beaker do
|
|
239
239
|
end
|
240
240
|
end
|
241
241
|
|
242
|
-
context "add_master_entry" do
|
243
|
-
subject { dummy_class.new }
|
244
|
-
|
245
|
-
it "can configure /etc/hosts on a unix master" do
|
246
|
-
path = Beaker::HostPrebuiltSteps::ETC_HOSTS_PATH
|
247
|
-
master = subject.only_host_with_role(hosts, :master)
|
248
|
-
|
249
|
-
Beaker::Command.should_receive( :new ).with( "ip a|awk '/global/{print$2}' | cut -d/ -f1 | head -1" ).once
|
250
|
-
Beaker::Command.should_receive( :new ).with( "cp %s %s.old" % [path, path] ).once
|
251
|
-
Beaker::Command.should_receive( :new ).with( "cp %s %s.new" % [path, path] ).once
|
252
|
-
Beaker::Command.should_receive( :new ).with( "grep -v '#{ip} #{master}' %s > %s.new" % [path, path] ).once
|
253
|
-
Beaker::Command.should_receive( :new ).with( "echo '#{ip} #{master}' >> %s.new" % path ).once
|
254
|
-
Beaker::Command.should_receive( :new ).with( "mv %s.new %s" % [path, path] ).once
|
255
|
-
|
256
|
-
subject.add_master_entry( hosts, options )
|
257
|
-
end
|
258
|
-
|
259
|
-
it "can configure /etc/hosts on a solaris master" do
|
260
|
-
@platform = 'solaris'
|
261
|
-
path = Beaker::HostPrebuiltSteps::ETC_HOSTS_PATH_SOLARIS
|
262
|
-
master = subject.only_host_with_role(hosts, :master)
|
263
|
-
|
264
|
-
Beaker::Command.should_receive( :new ).with( "ifconfig -a inet| awk '/broadcast/ {print $2}' | cut -d/ -f1 | head -1" ).once
|
265
|
-
Beaker::Command.should_receive( :new ).with( "cp %s %s.old" % [path, path] ).once
|
266
|
-
Beaker::Command.should_receive( :new ).with( "cp %s %s.new" % [path, path] ).once
|
267
|
-
Beaker::Command.should_receive( :new ).with( "grep -v '#{ip} #{master}' %s > %s.new" % [path, path] ).once
|
268
|
-
Beaker::Command.should_receive( :new ).with( "echo '#{ip} #{master}' >> %s.new" % path ).once
|
269
|
-
Beaker::Command.should_receive( :new ).with( "mv %s.new %s" % [path, path] ).once
|
270
|
-
|
271
|
-
subject.add_master_entry( hosts, options )
|
272
|
-
end
|
273
|
-
|
274
|
-
it "does nothing on a vagrant master" do
|
275
|
-
master = subject.only_host_with_role(hosts, :master)
|
276
|
-
master[:hypervisor] = 'vagrant'
|
277
|
-
|
278
|
-
Beaker::Command.should_receive( :new ).never
|
279
|
-
|
280
|
-
subject.add_master_entry( hosts, options )
|
281
|
-
|
282
|
-
end
|
283
|
-
end
|
284
|
-
|
285
242
|
context "sync_root_keys" do
|
286
243
|
subject { dummy_class.new }
|
287
244
|
|
@@ -36,6 +36,7 @@ module Beaker
|
|
36
36
|
container.stub(:start)
|
37
37
|
container.stub(:json).and_return({
|
38
38
|
'NetworkSettings' => {
|
39
|
+
'IPAddress' => '192.0.2.1',
|
39
40
|
'Ports' => {
|
40
41
|
'22/tcp' => [
|
41
42
|
{
|
@@ -133,11 +134,25 @@ module Beaker
|
|
133
134
|
docker.provision
|
134
135
|
end
|
135
136
|
|
136
|
-
|
137
|
-
|
137
|
+
context "connecting to ssh" do
|
138
|
+
before { @docker_host = ENV['DOCKER_HOST'] }
|
139
|
+
after { ENV['DOCKER_HOST'] = @docker_host }
|
140
|
+
|
141
|
+
it 'should expose port 22 to beaker' do
|
142
|
+
ENV['DOCKER_HOST'] = nil
|
143
|
+
docker.provision
|
144
|
+
|
145
|
+
hosts[0]['ip'].should == '127.0.1.1'
|
146
|
+
hosts[0]['port'].should == 8022
|
147
|
+
end
|
148
|
+
|
149
|
+
it 'should expose port 22 to beaker when using DOCKER_HOST' do
|
150
|
+
ENV['DOCKER_HOST'] = "tcp://192.0.2.2:2375"
|
151
|
+
docker.provision
|
138
152
|
|
139
|
-
|
140
|
-
|
153
|
+
hosts[0]['ip'].should == '192.0.2.2'
|
154
|
+
hosts[0]['port'].should == 8022
|
155
|
+
end
|
141
156
|
end
|
142
157
|
|
143
158
|
it 'should record the image and container for later' do
|
@@ -30,7 +30,25 @@ module Beaker
|
|
30
30
|
expect{ platform }.to raise_error(ArgumentError)
|
31
31
|
end
|
32
32
|
|
33
|
-
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "if platform does not have codename" do
|
36
|
+
|
37
|
+
it "sets codename to nil" do
|
38
|
+
@name = "centos-6.5-x86_64"
|
39
|
+
expect{ platform.codename }.to be { nil }
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'to_array' do
|
47
|
+
|
48
|
+
it "converts Beaker::Platform object to array of its attribues" do
|
49
|
+
@name = 'debian-7-somethingsomething'
|
50
|
+
expect( platform.to_array ).to be === ['debian', '7', 'somethingsomething', 'wheezy']
|
51
|
+
end
|
34
52
|
|
35
53
|
end
|
36
54
|
|
data/spec/helpers.rb
CHANGED
@@ -7,18 +7,18 @@ module TestFileHelpers
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def fog_file_contents
|
10
|
-
{ :default => { :aws_access_key_id => "IMANACCESSKEY",
|
11
|
-
:aws_secret_access_key => "supersekritkey",
|
12
|
-
:aix_hypervisor_server => "aix_hypervisor.labs.net",
|
13
|
-
:aix_hypervisor_username => "aixer",
|
14
|
-
:aix_hypervisor_keyfile => "/Users/user/.ssh/id_rsa-acceptance",
|
15
|
-
:solaris_hypervisor_server => "solaris_hypervisor.labs.net",
|
16
|
-
:solaris_hypervisor_username => "harness",
|
17
|
-
:solaris_hypervisor_keyfile => "/Users/user/.ssh/id_rsa-old.private",
|
18
|
-
:solaris_hypervisor_vmpath => "rpoooool/zs",
|
19
|
-
:solaris_hypervisor_snappaths => ["rpoooool/USER/z0"],
|
20
|
-
:vsphere_server => "vsphere.labs.net",
|
21
|
-
:vsphere_username => "vsphere@labs.com",
|
10
|
+
{ :default => { :aws_access_key_id => "IMANACCESSKEY",
|
11
|
+
:aws_secret_access_key => "supersekritkey",
|
12
|
+
:aix_hypervisor_server => "aix_hypervisor.labs.net",
|
13
|
+
:aix_hypervisor_username => "aixer",
|
14
|
+
:aix_hypervisor_keyfile => "/Users/user/.ssh/id_rsa-acceptance",
|
15
|
+
:solaris_hypervisor_server => "solaris_hypervisor.labs.net",
|
16
|
+
:solaris_hypervisor_username => "harness",
|
17
|
+
:solaris_hypervisor_keyfile => "/Users/user/.ssh/id_rsa-old.private",
|
18
|
+
:solaris_hypervisor_vmpath => "rpoooool/zs",
|
19
|
+
:solaris_hypervisor_snappaths => ["rpoooool/USER/z0"],
|
20
|
+
:vsphere_server => "vsphere.labs.net",
|
21
|
+
:vsphere_username => "vsphere@labs.com",
|
22
22
|
:vsphere_password => "supersekritpassword"} }
|
23
23
|
end
|
24
24
|
|
@@ -47,7 +47,7 @@ module HostHelpers
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def make_opts
|
50
|
-
Beaker::Options::Presets.presets.merge( Beaker::Options::Presets.env_vars ).merge( { :logger => logger,
|
50
|
+
Beaker::Options::Presets.presets.merge( Beaker::Options::Presets.env_vars ).merge( { :logger => logger,
|
51
51
|
:host_config => 'sample.config',
|
52
52
|
:type => :foss,
|
53
53
|
:pooling_api => 'http://vcloud.delivery.puppetlabs.net/',
|
@@ -77,7 +77,7 @@ module HostHelpers
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def make_host name, opts
|
80
|
-
opts = HOST_DEFAULTS.merge(opts)
|
80
|
+
opts = HOST_DEFAULTS.merge(opts)
|
81
81
|
|
82
82
|
host = Beaker::Host.create( name, make_host_opts(name, opts) )
|
83
83
|
|
metadata
CHANGED
@@ -1,215 +1,331 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.14.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Puppetlabs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-07-03 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
15
14
|
name: minitest
|
16
|
-
|
17
|
-
|
18
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
19
17
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version:
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
22
20
|
type: :development
|
23
|
-
version_requirements: *id001
|
24
|
-
- !ruby/object:Gem::Dependency
|
25
|
-
name: rspec
|
26
21
|
prerelease: false
|
27
|
-
|
28
|
-
requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
29
31
|
- - ~>
|
30
|
-
- !ruby/object:Gem::Version
|
32
|
+
- !ruby/object:Gem::Version
|
31
33
|
version: 2.14.0
|
32
34
|
type: :development
|
33
|
-
version_requirements: *id002
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: fakefs
|
36
35
|
prerelease: false
|
37
|
-
|
38
|
-
requirements:
|
39
|
-
- -
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.14.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: fakefs
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.4'
|
42
48
|
type: :development
|
43
|
-
|
44
|
-
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.4'
|
55
|
+
- !ruby/object:Gem::Dependency
|
45
56
|
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 10.1.0
|
62
|
+
type: :development
|
46
63
|
prerelease: false
|
47
|
-
|
48
|
-
requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
49
66
|
- - ~>
|
50
|
-
- !ruby/object:Gem::Version
|
67
|
+
- !ruby/object:Gem::Version
|
51
68
|
version: 10.1.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: simplecov
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
52
76
|
type: :development
|
53
|
-
version_requirements: *id004
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
name: pry
|
56
77
|
prerelease: false
|
57
|
-
|
58
|
-
requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
59
87
|
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
88
|
+
- !ruby/object:Gem::Version
|
61
89
|
version: 0.9.12.6
|
62
90
|
type: :development
|
63
|
-
|
64
|
-
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.9.12.6
|
97
|
+
- !ruby/object:Gem::Dependency
|
65
98
|
name: yard
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
66
105
|
prerelease: false
|
67
|
-
|
68
|
-
requirements:
|
69
|
-
-
|
70
|
-
-
|
71
|
-
|
72
|
-
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: markdown
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
73
118
|
type: :development
|
74
|
-
version_requirements: *id006
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: thin
|
77
119
|
prerelease: false
|
78
|
-
|
79
|
-
requirements:
|
80
|
-
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: thin
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
81
132
|
type: :development
|
82
|
-
version_requirements: *id008
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: json
|
85
133
|
prerelease: false
|
86
|
-
|
87
|
-
requirements:
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ! '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: json
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
88
143
|
- - ~>
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version:
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1.8'
|
91
146
|
type: :runtime
|
92
|
-
version_requirements: *id009
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: net-ssh
|
95
147
|
prerelease: false
|
96
|
-
|
97
|
-
requirements:
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
98
150
|
- - ~>
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version:
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '1.8'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: net-ssh
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ~>
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '2.6'
|
101
160
|
type: :runtime
|
102
|
-
version_requirements: *id010
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: net-scp
|
105
161
|
prerelease: false
|
106
|
-
|
107
|
-
requirements:
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
108
164
|
- - ~>
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version:
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '2.6'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: net-scp
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '1.1'
|
111
174
|
type: :runtime
|
112
|
-
version_requirements: *id011
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: inifile
|
115
175
|
prerelease: false
|
116
|
-
|
117
|
-
requirements:
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
118
178
|
- - ~>
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version:
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '1.1'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: inifile
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ~>
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '2.0'
|
121
188
|
type: :runtime
|
122
|
-
version_requirements: *id012
|
123
|
-
- !ruby/object:Gem::Dependency
|
124
|
-
name: rbvmomi
|
125
189
|
prerelease: false
|
126
|
-
|
127
|
-
requirements:
|
128
|
-
- -
|
129
|
-
- !ruby/object:Gem::Version
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ~>
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '2.0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: rbvmomi
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - '='
|
200
|
+
- !ruby/object:Gem::Version
|
130
201
|
version: 1.8.1
|
131
202
|
type: :runtime
|
132
|
-
version_requirements: *id013
|
133
|
-
- !ruby/object:Gem::Dependency
|
134
|
-
name: blimpy
|
135
203
|
prerelease: false
|
136
|
-
|
137
|
-
requirements:
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - '='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 1.8.1
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: blimpy
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
138
213
|
- - ~>
|
139
|
-
- !ruby/object:Gem::Version
|
140
|
-
version:
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0.6'
|
141
216
|
type: :runtime
|
142
|
-
version_requirements: *id014
|
143
|
-
- !ruby/object:Gem::Dependency
|
144
|
-
name: fission
|
145
217
|
prerelease: false
|
146
|
-
|
147
|
-
requirements:
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
148
220
|
- - ~>
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version:
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0.6'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: fission
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ~>
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0.4'
|
151
230
|
type: :runtime
|
152
|
-
version_requirements: *id015
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: google-api-client
|
155
231
|
prerelease: false
|
156
|
-
|
157
|
-
requirements:
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
158
234
|
- - ~>
|
159
|
-
- !ruby/object:Gem::Version
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0.4'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: google-api-client
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ~>
|
242
|
+
- !ruby/object:Gem::Version
|
160
243
|
version: 0.7.1
|
161
244
|
type: :runtime
|
162
|
-
|
163
|
-
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ~>
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 0.7.1
|
251
|
+
- !ruby/object:Gem::Dependency
|
164
252
|
name: aws-sdk
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - '='
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 1.42.0
|
258
|
+
type: :runtime
|
165
259
|
prerelease: false
|
166
|
-
|
167
|
-
requirements:
|
168
|
-
- -
|
169
|
-
- !ruby/object:Gem::Version
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - '='
|
263
|
+
- !ruby/object:Gem::Version
|
170
264
|
version: 1.42.0
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: docker-api
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ! '>='
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
171
272
|
type: :runtime
|
172
|
-
version_requirements: *id017
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
|
-
name: nokogiri
|
175
273
|
prerelease: false
|
176
|
-
|
177
|
-
requirements:
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ! '>='
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: nokogiri
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
178
283
|
- - ~>
|
179
|
-
- !ruby/object:Gem::Version
|
284
|
+
- !ruby/object:Gem::Version
|
180
285
|
version: 1.5.10
|
181
286
|
type: :runtime
|
182
|
-
version_requirements: *id018
|
183
|
-
- !ruby/object:Gem::Dependency
|
184
|
-
name: mime-types
|
185
287
|
prerelease: false
|
186
|
-
|
187
|
-
requirements:
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ~>
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: 1.5.10
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: mime-types
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
188
297
|
- - ~>
|
189
|
-
- !ruby/object:Gem::Version
|
190
|
-
version:
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '1.25'
|
191
300
|
type: :runtime
|
192
|
-
version_requirements: *id019
|
193
|
-
- !ruby/object:Gem::Dependency
|
194
|
-
name: unf
|
195
301
|
prerelease: false
|
196
|
-
|
197
|
-
requirements:
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
198
304
|
- - ~>
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version:
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '1.25'
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: unf
|
309
|
+
requirement: !ruby/object:Gem::Requirement
|
310
|
+
requirements:
|
311
|
+
- - ~>
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: '0.1'
|
201
314
|
type: :runtime
|
202
|
-
|
315
|
+
prerelease: false
|
316
|
+
version_requirements: !ruby/object:Gem::Requirement
|
317
|
+
requirements:
|
318
|
+
- - ~>
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
version: '0.1'
|
203
321
|
description: Puppetlabs accceptance testing harness
|
204
|
-
email:
|
322
|
+
email:
|
205
323
|
- delivery@puppetlabs.com
|
206
|
-
executables:
|
324
|
+
executables:
|
207
325
|
- beaker
|
208
326
|
extensions: []
|
209
|
-
|
210
327
|
extra_rdoc_files: []
|
211
|
-
|
212
|
-
files:
|
328
|
+
files:
|
213
329
|
- .gitignore
|
214
330
|
- .rspec
|
215
331
|
- .simplecov
|
@@ -227,11 +343,13 @@ files:
|
|
227
343
|
- lib/beaker/answers/version28.rb
|
228
344
|
- lib/beaker/answers/version30.rb
|
229
345
|
- lib/beaker/answers/version32.rb
|
346
|
+
- lib/beaker/answers/version34.rb
|
230
347
|
- lib/beaker/cli.rb
|
231
348
|
- lib/beaker/command.rb
|
232
349
|
- lib/beaker/command_factory.rb
|
233
350
|
- lib/beaker/dsl.rb
|
234
351
|
- lib/beaker/dsl/assertions.rb
|
352
|
+
- lib/beaker/dsl/ezbake_utils.rb
|
235
353
|
- lib/beaker/dsl/helpers.rb
|
236
354
|
- lib/beaker/dsl/install_utils.rb
|
237
355
|
- lib/beaker/dsl/outcomes.rb
|
@@ -300,6 +418,7 @@ files:
|
|
300
418
|
- spec/beaker/cli_spec.rb
|
301
419
|
- spec/beaker/command_spec.rb
|
302
420
|
- spec/beaker/dsl/assertions_spec.rb
|
421
|
+
- spec/beaker/dsl/ezbake_utils_spec.rb
|
303
422
|
- spec/beaker/dsl/helpers_spec.rb
|
304
423
|
- spec/beaker/dsl/install_utils_spec.rb
|
305
424
|
- spec/beaker/dsl/outcomes_spec.rb
|
@@ -352,33 +471,35 @@ files:
|
|
352
471
|
- spec/mocks.rb
|
353
472
|
- spec/spec_helper.rb
|
354
473
|
homepage: https://github.com/puppetlabs/beaker
|
355
|
-
licenses:
|
474
|
+
licenses:
|
356
475
|
- Apache2
|
357
476
|
metadata: {}
|
358
|
-
|
359
477
|
post_install_message:
|
360
478
|
rdoc_options: []
|
361
|
-
|
362
|
-
require_paths:
|
479
|
+
require_paths:
|
363
480
|
- lib
|
364
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
365
|
-
requirements:
|
366
|
-
-
|
367
|
-
|
368
|
-
|
369
|
-
|
481
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
482
|
+
requirements:
|
483
|
+
- - ! '>='
|
484
|
+
- !ruby/object:Gem::Version
|
485
|
+
version: '0'
|
486
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
487
|
+
requirements:
|
488
|
+
- - ! '>='
|
489
|
+
- !ruby/object:Gem::Version
|
490
|
+
version: '0'
|
370
491
|
requirements: []
|
371
|
-
|
372
492
|
rubyforge_project:
|
373
493
|
rubygems_version: 2.2.2
|
374
494
|
signing_key:
|
375
495
|
specification_version: 4
|
376
496
|
summary: Let's test Puppet!
|
377
|
-
test_files:
|
497
|
+
test_files:
|
378
498
|
- spec/beaker/answers_spec.rb
|
379
499
|
- spec/beaker/cli_spec.rb
|
380
500
|
- spec/beaker/command_spec.rb
|
381
501
|
- spec/beaker/dsl/assertions_spec.rb
|
502
|
+
- spec/beaker/dsl/ezbake_utils_spec.rb
|
382
503
|
- spec/beaker/dsl/helpers_spec.rb
|
383
504
|
- spec/beaker/dsl/install_utils_spec.rb
|
384
505
|
- spec/beaker/dsl/outcomes_spec.rb
|