puppet 6.18.0-universal-darwin → 6.19.0-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -10
- data/README.md +1 -2
- data/Rakefile +4 -12
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application/agent.rb +8 -3
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/configurer.rb +39 -7
- data/lib/puppet/defaults.rb +55 -29
- data/lib/puppet/environments.rb +51 -10
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +46 -16
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/status.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +1 -1
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/http.rb +1 -0
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/resolver.rb +5 -8
- data/lib/puppet/http/resolver/server_list.rb +18 -36
- data/lib/puppet/http/resolver/settings.rb +4 -4
- data/lib/puppet/http/resolver/srv.rb +5 -5
- data/lib/puppet/http/service.rb +3 -1
- data/lib/puppet/http/service/compiler.rb +1 -1
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/puppetserver.rb +39 -0
- data/lib/puppet/http/session.rb +5 -4
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/facts/yaml.rb +1 -1
- data/lib/puppet/indirector/json.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +1 -0
- data/lib/puppet/resource/type.rb +2 -1
- data/lib/puppet/rest/route.rb +2 -2
- data/lib/puppet/settings.rb +19 -5
- data/lib/puppet/transaction/report.rb +11 -7
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/util/connection.rb +8 -8
- data/lib/puppet/util/run_mode.rb +5 -1
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +153 -156
- data/man/man5/puppet.conf.5 +29 -13
- data/man/man8/puppet-agent.8 +6 -3
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +4 -4
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet-status.8 +2 -2
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/integration/application/agent_spec.rb +23 -19
- data/spec/integration/application/filebucket_spec.rb +7 -7
- data/spec/integration/application/plugin_spec.rb +3 -3
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/defaults_spec.rb +26 -1
- data/spec/integration/util/windows/adsi_spec.rb +2 -2
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/facts_spec.rb +3 -1
- data/spec/unit/application_spec.rb +9 -4
- data/spec/unit/configurer_spec.rb +39 -6
- data/spec/unit/environments_spec.rb +99 -32
- data/spec/unit/face/config_spec.rb +56 -0
- data/spec/unit/face/node_spec.rb +2 -2
- data/spec/unit/file_system_spec.rb +1 -2
- data/spec/unit/http/resolver_spec.rb +24 -4
- data/spec/unit/http/service/ca_spec.rb +2 -2
- data/spec/unit/http/service/compiler_spec.rb +2 -2
- data/spec/unit/http/service/file_server_spec.rb +2 -2
- data/spec/unit/http/service/puppetserver_spec.rb +82 -0
- data/spec/unit/http/service/report_spec.rb +2 -2
- data/spec/unit/http/session_spec.rb +8 -20
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/json_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/unit/indirector/request_spec.rb +4 -4
- data/spec/unit/indirector/rest_spec.rb +1 -1
- data/spec/unit/indirector/status/rest_spec.rb +1 -1
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/package/dpkg_spec.rb +22 -7
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/yum_spec.rb +31 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +4 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +1 -1
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +3 -1
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/rest/route_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +44 -22
- data/spec/unit/transaction/report_spec.rb +2 -0
- data/spec/unit/type/file/source_spec.rb +1 -1
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/util/run_mode_spec.rb +6 -6
- metadata +13 -2
@@ -0,0 +1,137 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Puppet::Type.type(:package).provider(:puppetserver_gem) do
|
4
|
+
let(:resource) do
|
5
|
+
Puppet::Type.type(:package).new(
|
6
|
+
name: 'myresource',
|
7
|
+
ensure: :installed
|
8
|
+
)
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:provider) do
|
12
|
+
provider = described_class.new
|
13
|
+
provider.resource = resource
|
14
|
+
provider
|
15
|
+
end
|
16
|
+
|
17
|
+
let(:provider_gem_cmd) { '/opt/puppetlabs/bin/puppetserver' }
|
18
|
+
|
19
|
+
custom_environment = { HOME: ENV['HOME'] }
|
20
|
+
|
21
|
+
let(:execute_options) { { failonfail: true, combine: true, custom_environment: custom_environment } }
|
22
|
+
|
23
|
+
before :each do
|
24
|
+
resource.provider = provider
|
25
|
+
allow(Puppet::Util).to receive(:which).with(provider_gem_cmd).and_return(provider_gem_cmd)
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "#install" do
|
29
|
+
it "uses the path to the gem command" do
|
30
|
+
allow(described_class).to receive(:validate_command).with(provider_gem_cmd)
|
31
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(be_a(Array), execute_options) { |args| expect(args[0]).to eq(provider_gem_cmd) }.and_return('')
|
32
|
+
provider.install
|
33
|
+
end
|
34
|
+
|
35
|
+
it "appends version if given" do
|
36
|
+
resource[:ensure] = ['1.2.1']
|
37
|
+
expect(described_class).to receive(:puppetservercmd).with(%w{gem install -v 1.2.1 --no-document myresource}).and_return('')
|
38
|
+
provider.install
|
39
|
+
end
|
40
|
+
|
41
|
+
context "with install_options" do
|
42
|
+
it "does not append the parameter by default" do
|
43
|
+
expect(described_class).to receive(:puppetservercmd).with(%w{gem install --no-document myresource}).and_return('')
|
44
|
+
provider.install
|
45
|
+
end
|
46
|
+
|
47
|
+
it "allows setting the parameter" do
|
48
|
+
resource[:install_options] = [ '--force', {'--bindir' => '/usr/bin' } ]
|
49
|
+
expect(described_class).to receive(:puppetservercmd).with(%w{gem install --force --bindir=/usr/bin --no-document myresource}).and_return('')
|
50
|
+
provider.install
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context "with source" do
|
55
|
+
it "correctly sets http source" do
|
56
|
+
resource[:source] = 'http://rubygems.com'
|
57
|
+
expect(described_class).to receive(:puppetservercmd).with(%w{gem install --no-document --source http://rubygems.com myresource}).and_return('')
|
58
|
+
provider.install
|
59
|
+
end
|
60
|
+
|
61
|
+
it "correctly sets local file source" do
|
62
|
+
resource[:source] = 'paint-2.2.0.gem'
|
63
|
+
expect(described_class).to receive(:puppetservercmd).with(%w{gem install --no-document paint-2.2.0.gem}).and_return('')
|
64
|
+
provider.install
|
65
|
+
end
|
66
|
+
|
67
|
+
it "correctly sets local file source with URI scheme" do
|
68
|
+
resource[:source] = 'file:///root/paint-2.2.0.gem'
|
69
|
+
expect(described_class).to receive(:puppetservercmd).with(%w{gem install --no-document /root/paint-2.2.0.gem}).and_return('')
|
70
|
+
provider.install
|
71
|
+
end
|
72
|
+
|
73
|
+
it "raises if given a puppet URI scheme" do
|
74
|
+
resource[:source] = 'puppet:///paint-2.2.0.gem'
|
75
|
+
expect { provider.install }.to raise_error(Puppet::Error, 'puppet:// URLs are not supported as gem sources')
|
76
|
+
end
|
77
|
+
|
78
|
+
it "raises if given an invalid URI" do
|
79
|
+
resource[:source] = 'h;ttp://rubygems.com'
|
80
|
+
expect { provider.install }.to raise_error(Puppet::Error, /Invalid source '': bad URI\(is not URI\?\)/)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe "#uninstall" do
|
86
|
+
it "uses the path to the gem command" do
|
87
|
+
allow(described_class).to receive(:validate_command).with(provider_gem_cmd)
|
88
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(be_a(Array), execute_options) { |args| expect(args[0]).to eq(provider_gem_cmd) }.and_return('')
|
89
|
+
provider.uninstall
|
90
|
+
end
|
91
|
+
|
92
|
+
context "with uninstall_options" do
|
93
|
+
it "does not append the parameter by default" do
|
94
|
+
expect(described_class).to receive(:puppetservercmd).with(%w{gem uninstall --executables --all myresource}).and_return('')
|
95
|
+
provider.uninstall
|
96
|
+
end
|
97
|
+
|
98
|
+
it "allows setting the parameter" do
|
99
|
+
resource[:uninstall_options] = [ '--force', {'--bindir' => '/usr/bin' } ]
|
100
|
+
expect(described_class).to receive(:puppetservercmd).with(%w{gem uninstall --executables --all myresource --force --bindir=/usr/bin}).and_return('')
|
101
|
+
provider.uninstall
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
describe ".gemlist" do
|
107
|
+
context "listing installed packages" do
|
108
|
+
it "uses the puppet rubygems library to list local gems" do
|
109
|
+
expected = { name: 'world_airports', provider: :puppetserver_gem, ensure: ['1.1.3'] }
|
110
|
+
expect(described_class).to receive(:execute_rubygems_list_command).with(nil).and_return(File.read(my_fixture('gem-list-local-packages')))
|
111
|
+
expect(described_class.gemlist({ local: true })).to include(expected)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
it "appends the gem source if given" do
|
116
|
+
expect(described_class).to receive(:puppetservercmd).with(%w{gem list --remote --source https://rubygems.com}).and_return('')
|
117
|
+
described_class.gemlist({ source: 'https://rubygems.com' })
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
context 'calculated specificity' do
|
122
|
+
context 'when is not defaultfor' do
|
123
|
+
subject { described_class.specificity }
|
124
|
+
it { is_expected.to eql 1 }
|
125
|
+
end
|
126
|
+
|
127
|
+
context 'when is defaultfor' do
|
128
|
+
let(:os) { Facter.value(:operatingsystem) }
|
129
|
+
subject do
|
130
|
+
described_class.defaultfor(operatingsystem: os)
|
131
|
+
described_class.specificity
|
132
|
+
end
|
133
|
+
it { is_expected.to be > 100 }
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
end
|
@@ -158,6 +158,37 @@ describe Puppet::Type.type(:package).provider(:yum) do
|
|
158
158
|
end
|
159
159
|
end
|
160
160
|
|
161
|
+
context "latest" do
|
162
|
+
let(:name) { 'baz' }
|
163
|
+
|
164
|
+
let(:resource) do
|
165
|
+
Puppet::Type.type(:package).new(
|
166
|
+
:name => name,
|
167
|
+
:provider => 'yum',
|
168
|
+
)
|
169
|
+
end
|
170
|
+
|
171
|
+
let(:provider) do
|
172
|
+
provider = described_class.new
|
173
|
+
provider.resource = resource
|
174
|
+
provider
|
175
|
+
end
|
176
|
+
|
177
|
+
before {
|
178
|
+
allow(described_class).to receive(:command).with(:cmd).and_return("/usr/bin/yum")
|
179
|
+
Puppet[:log_level] = 'debug'
|
180
|
+
}
|
181
|
+
|
182
|
+
it "should print a debug message with the current version if newer package is not available" do
|
183
|
+
expect(provider).to receive(:query).and_return({:ensure => "1.2.3"})
|
184
|
+
expect(described_class).to receive(:latest_package_version).and_return(nil)
|
185
|
+
resource[:ensure] = :present
|
186
|
+
|
187
|
+
provider.latest
|
188
|
+
expect(@logs).to include(an_object_having_attributes(level: :debug, message: "Yum didn't find updates, current version (1.2.3) is the latest"))
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
161
192
|
context "parsing the output of check-update" do
|
162
193
|
context "with no multiline entries" do
|
163
194
|
let(:check_update) { File.read(my_fixture("yum-check-update-simple.txt")) }
|
@@ -14,10 +14,8 @@ describe "base service provider" do
|
|
14
14
|
|
15
15
|
subject { provider }
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
cmd = "cmd.exe /c \"exit 0\""
|
20
|
-
Puppet::Util::Execution.execute(cmd, {:failonfail => false})
|
17
|
+
before(:all) do
|
18
|
+
`exit 0`
|
21
19
|
end
|
22
20
|
|
23
21
|
context "basic operations" do
|
@@ -1,9 +1,13 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Bsd',
|
4
|
-
:
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:bsd) }
|
6
6
|
|
7
|
+
before(:all) do
|
8
|
+
`exit 0`
|
9
|
+
end
|
10
|
+
|
7
11
|
before :each do
|
8
12
|
allow(Puppet::Type.type(:service)).to receive(:defaultprovider).and_return(provider_class)
|
9
13
|
allow(Facter).to receive(:value).with(:operatingsystem).and_return(:netbsd)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Daemontools',
|
4
|
-
unless: Puppet::Util::Platform.jruby? do
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:daemontools) }
|
6
6
|
|
7
7
|
before(:each) do
|
@@ -1,13 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Debian',
|
4
|
-
unless: Puppet::Util::Platform.jruby? do
|
4
|
+
unless: Puppet::Util::Platform.jruby? || Puppet::Util::Platform.windows? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:debian) }
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
command = "cmd.exe /c \"exit 0\""
|
10
|
-
Puppet::Util::Execution.execute(command, {:failonfail => false})
|
7
|
+
before(:all) do
|
8
|
+
`exit 0`
|
11
9
|
end
|
12
10
|
|
13
11
|
before(:each) do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Freebsd',
|
4
|
-
unless: Puppet::Util::Platform.jruby? do
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:freebsd) }
|
6
6
|
|
7
7
|
before :each do
|
@@ -1,12 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Gentoo',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Gentoo',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:gentoo) }
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
command = "cmd.exe /c \"exit 0\""
|
9
|
-
Puppet::Util::Execution.execute(command, {:failonfail => false})
|
7
|
+
before(:all) do
|
8
|
+
`exit 0`
|
10
9
|
end
|
11
10
|
|
12
11
|
before :each do
|
@@ -1,12 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Init',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Init',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:init) }
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
cmd = "cmd.exe /c \"exit 0\""
|
9
|
-
Puppet::Util::Execution.execute(cmd, {:failonfail => false})
|
7
|
+
before :all do
|
8
|
+
`exit 0`
|
10
9
|
end
|
11
10
|
|
12
11
|
before do
|
@@ -1,20 +1,19 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Launchd',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Launchd',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:launchd) }
|
5
|
-
|
6
6
|
let (:plistlib) { Puppet::Util::Plist }
|
7
7
|
let (:joblabel) { "com.foo.food" }
|
8
8
|
let (:provider) { subject.class }
|
9
9
|
let (:resource) { Puppet::Type.type(:service).new(:name => joblabel, :provider => :launchd) }
|
10
10
|
let (:launchd_overrides_6_9) { '/var/db/launchd.db/com.apple.launchd/overrides.plist' }
|
11
11
|
let (:launchd_overrides_10_) { '/var/db/com.apple.xpc.launchd/disabled.plist' }
|
12
|
+
|
12
13
|
subject { resource.provider }
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
command = "cmd.exe /c \"exit 0\""
|
17
|
-
Puppet::Util::Execution.execute(command, {:failonfail => false})
|
15
|
+
before :all do
|
16
|
+
`exit 0`
|
18
17
|
end
|
19
18
|
|
20
19
|
describe "the type interface" do
|
@@ -1,12 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Openrc',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Openrc',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:openrc) }
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
cmd = "cmd.exe /c \"exit 0\""
|
9
|
-
Puppet::Util::Execution.execute(cmd, {:failonfail => false})
|
7
|
+
before :all do
|
8
|
+
`exit 0`
|
10
9
|
end
|
11
10
|
|
12
11
|
before :each do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Openwrt',
|
4
|
-
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:openwrt) }
|
6
6
|
|
7
7
|
let(:resource) do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Redhat',
|
4
|
-
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:redhat) }
|
6
6
|
|
7
7
|
# `execute` and `texecute` start a new process, consequently setting $CHILD_STATUS to a Process::Status instance,
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Runit',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Runit',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:runit) }
|
5
6
|
|
6
7
|
before(:each) do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Smf',
|
4
|
-
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:smf) }
|
6
6
|
|
7
7
|
before(:each) do
|
@@ -1,13 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Puppet::Type::Service::Provider::Src',
|
4
|
-
unless: Puppet::Util::Platform.jruby? do
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
5
|
let(:provider_class) { Puppet::Type.type(:service).provider(:src) }
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
command = "cmd.exe /c \"exit 0\""
|
10
|
-
Puppet::Util::Execution.execute(command, {:failonfail => false})
|
7
|
+
before :all do
|
8
|
+
`exit 0`
|
11
9
|
end
|
12
10
|
|
13
11
|
before :each do
|
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Systemd',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Systemd',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
5
|
+
|
4
6
|
let(:provider_class) { Puppet::Type.type(:service).provider(:systemd) }
|
5
7
|
|
6
8
|
before :each do
|
@@ -1,14 +1,13 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'Puppet::Type::Service::Provider::Upstart',
|
3
|
+
describe 'Puppet::Type::Service::Provider::Upstart',
|
4
|
+
unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
4
5
|
let(:manual) { "\nmanual" }
|
5
6
|
let(:start_on_default_runlevels) { "\nstart on runlevel [2,3,4,5]" }
|
6
7
|
let!(:provider_class) { Puppet::Type.type(:service).provider(:upstart) }
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
command = "cmd.exe /c \"exit 0\""
|
11
|
-
Puppet::Util::Execution.execute(command, {:failonfail => false})
|
9
|
+
before :each do
|
10
|
+
`exit 0`
|
12
11
|
end
|
13
12
|
|
14
13
|
def given_contents_of(file, content)
|
@@ -30,7 +30,7 @@ describe Puppet::Rest::Route do
|
|
30
30
|
|
31
31
|
it "yields a base URL with Puppet's configured server and port when no defaults are specified" do
|
32
32
|
Puppet[:server] = 'configured.net'
|
33
|
-
Puppet[:
|
33
|
+
Puppet[:serverport] = 8140
|
34
34
|
fallback_route = Puppet::Rest::Route.new(api: '/fakeapi/v1/')
|
35
35
|
count = 0
|
36
36
|
rval = fallback_route.with_base_url(dns_resolver) do |url|
|
@@ -55,9 +55,9 @@ describe Puppet::Rest::Route do
|
|
55
55
|
expect(rval).to eq('Block return value')
|
56
56
|
end
|
57
57
|
|
58
|
-
it 'falls back to :server and :
|
58
|
+
it 'falls back to :server and :serverport if nil is passed' do
|
59
59
|
Puppet[:server] = 'one.net'
|
60
|
-
Puppet[:
|
60
|
+
Puppet[:serverport] = 111
|
61
61
|
nil_route = Puppet::Rest::Route.new(api: '/fakeapi/v1/',
|
62
62
|
server_setting: nil,
|
63
63
|
port_setting: nil)
|
@@ -109,7 +109,7 @@ describe Puppet::Rest::Route do
|
|
109
109
|
|
110
110
|
it "should fall back to the default server when the block raises a SystemCallError" do
|
111
111
|
Puppet[:server] = "testserver"
|
112
|
-
Puppet[:
|
112
|
+
Puppet[:serverport] = 555
|
113
113
|
|
114
114
|
count = 0
|
115
115
|
rval = route.with_base_url(Puppet::Network::Resolver.new) do |url|
|
data/spec/unit/settings_spec.rb
CHANGED
@@ -9,7 +9,7 @@ describe Puppet::Settings do
|
|
9
9
|
include Matchers::Resource
|
10
10
|
|
11
11
|
let(:main_config_file_default_location) do
|
12
|
-
File.join(Puppet::Util::RunMode[:
|
12
|
+
File.join(Puppet::Util::RunMode[:server].conf_dir, "puppet.conf")
|
13
13
|
end
|
14
14
|
|
15
15
|
let(:user_config_file_default_location) do
|
@@ -112,9 +112,9 @@ describe Puppet::Settings do
|
|
112
112
|
# case behaviors / uses. However, until that time... we need to make sure that our private run_mode=
|
113
113
|
# setter method gets properly called during app initialization.
|
114
114
|
it "sets the preferred run mode when initializing the app defaults" do
|
115
|
-
@settings.initialize_app_defaults(default_values.merge(:run_mode => :
|
115
|
+
@settings.initialize_app_defaults(default_values.merge(:run_mode => :server))
|
116
116
|
|
117
|
-
expect(@settings.preferred_run_mode).to eq(:
|
117
|
+
expect(@settings.preferred_run_mode).to eq(:server)
|
118
118
|
end
|
119
119
|
|
120
120
|
it "creates ancestor directories for all required app settings" do
|
@@ -326,7 +326,7 @@ describe Puppet::Settings do
|
|
326
326
|
end
|
327
327
|
|
328
328
|
it "should identify configured settings from the specified run mode" do
|
329
|
-
user_config_text = "[
|
329
|
+
user_config_text = "[server]\nmyval = foo"
|
330
330
|
|
331
331
|
allow(Puppet.features).to receive(:root?).and_return(false)
|
332
332
|
expect(Puppet::FileSystem).to receive(:exist?).
|
@@ -337,7 +337,7 @@ describe Puppet::Settings do
|
|
337
337
|
and_return(user_config_text).ordered
|
338
338
|
|
339
339
|
@settings.send(:parse_config_files)
|
340
|
-
expect(@settings.set_by_config?(:myval, nil, :
|
340
|
+
expect(@settings.set_by_config?(:myval, nil, :server)).to be_truthy
|
341
341
|
end
|
342
342
|
|
343
343
|
it "should not identify configured settings from an unspecified run mode" do
|
@@ -382,7 +382,7 @@ describe Puppet::Settings do
|
|
382
382
|
|
383
383
|
it "should clear the cache when the preferred_run_mode is changed" do
|
384
384
|
expect(@settings).to receive(:flush_cache)
|
385
|
-
@settings.preferred_run_mode = :
|
385
|
+
@settings.preferred_run_mode = :server
|
386
386
|
end
|
387
387
|
|
388
388
|
it "should not clear other values when setting getopt-specific values" do
|
@@ -658,6 +658,28 @@ describe Puppet::Settings do
|
|
658
658
|
expect(@settings[:one]).to eq("modeval")
|
659
659
|
end
|
660
660
|
|
661
|
+
[:master, :server].each do |run_mode|
|
662
|
+
describe "when run mode is '#{run_mode}'" do
|
663
|
+
before(:each) { @settings.preferred_run_mode = run_mode }
|
664
|
+
|
665
|
+
it "returns values set in the 'master' section if the 'server' section does not exist" do
|
666
|
+
text = "[main]\none = mainval\n[master]\none = modeval\n"
|
667
|
+
allow(@settings).to receive(:read_file).and_return(text)
|
668
|
+
@settings.send(:parse_config_files)
|
669
|
+
|
670
|
+
expect(@settings[:one]).to eq("modeval")
|
671
|
+
end
|
672
|
+
|
673
|
+
it "prioritizes values set in the 'server' section if set" do
|
674
|
+
text = "[main]\none = mainval\n[server]\none = serverval\n[master]\none = masterval\n"
|
675
|
+
allow(@settings).to receive(:read_file).and_return(text)
|
676
|
+
@settings.send(:parse_config_files)
|
677
|
+
|
678
|
+
expect(@settings[:one]).to eq("serverval")
|
679
|
+
end
|
680
|
+
end
|
681
|
+
end
|
682
|
+
|
661
683
|
it "should not return values outside of its search path" do
|
662
684
|
text = "[other]\none = oval\n"
|
663
685
|
allow(@settings).to receive(:read_file).and_return(text)
|
@@ -854,10 +876,10 @@ describe Puppet::Settings do
|
|
854
876
|
default_values[key] = 'default value'
|
855
877
|
end
|
856
878
|
@settings.define_settings :main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS
|
857
|
-
@settings.define_settings :
|
879
|
+
@settings.define_settings :server, :myfile => { :type => :file, :default => make_absolute("/myfile"), :desc => "a" }
|
858
880
|
|
859
881
|
otherfile = make_absolute("/other/file")
|
860
|
-
text = "[
|
882
|
+
text = "[server]
|
861
883
|
myfile = #{otherfile} {mode = 664}
|
862
884
|
"
|
863
885
|
expect(@settings).to receive(:read_file).and_return(text)
|
@@ -866,9 +888,9 @@ describe Puppet::Settings do
|
|
866
888
|
expect(@settings.preferred_run_mode).to eq(:user)
|
867
889
|
@settings.send(:parse_config_files)
|
868
890
|
|
869
|
-
# change app run_mode to
|
870
|
-
@settings.initialize_app_defaults(default_values.merge(:run_mode => :
|
871
|
-
expect(@settings.preferred_run_mode).to eq(:
|
891
|
+
# change app run_mode to server
|
892
|
+
@settings.initialize_app_defaults(default_values.merge(:run_mode => :server))
|
893
|
+
expect(@settings.preferred_run_mode).to eq(:server)
|
872
894
|
|
873
895
|
# initializing the app should have reloaded the metadata based on run_mode
|
874
896
|
expect(@settings[:myfile]).to eq(otherfile)
|
@@ -884,9 +906,9 @@ describe Puppet::Settings do
|
|
884
906
|
file = make_absolute("/file")
|
885
907
|
default_mode = "0600"
|
886
908
|
@settings.define_settings :main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS
|
887
|
-
@settings.define_settings :
|
909
|
+
@settings.define_settings :server, :myfile => { :type => :file, :default => file, :desc => "a", :mode => default_mode }
|
888
910
|
|
889
|
-
text = "[
|
911
|
+
text = "[server]
|
890
912
|
myfile = #{file}/foo
|
891
913
|
[agent]
|
892
914
|
myfile = #{file} {mode = 664}
|
@@ -897,9 +919,9 @@ describe Puppet::Settings do
|
|
897
919
|
expect(@settings.preferred_run_mode).to eq(:user)
|
898
920
|
@settings.send(:parse_config_files)
|
899
921
|
|
900
|
-
# change app run_mode to
|
901
|
-
@settings.initialize_app_defaults(default_values.merge(:run_mode => :
|
902
|
-
expect(@settings.preferred_run_mode).to eq(:
|
922
|
+
# change app run_mode to server
|
923
|
+
@settings.initialize_app_defaults(default_values.merge(:run_mode => :server))
|
924
|
+
expect(@settings.preferred_run_mode).to eq(:server)
|
903
925
|
|
904
926
|
# initializing the app should have reloaded the metadata based on run_mode
|
905
927
|
expect(@settings[:myfile]).to eq("#{file}/foo")
|
@@ -1900,18 +1922,18 @@ describe Puppet::Settings do
|
|
1900
1922
|
end
|
1901
1923
|
|
1902
1924
|
it "should set preferred run mode from --run_mode <foo> string without error" do
|
1903
|
-
args = ["--run_mode", "
|
1904
|
-
expect(settings).not_to receive(:handlearg).with("--run_mode", "
|
1925
|
+
args = ["--run_mode", "server"]
|
1926
|
+
expect(settings).not_to receive(:handlearg).with("--run_mode", "server")
|
1905
1927
|
expect { settings.send(:parse_global_options, args) } .to_not raise_error
|
1906
|
-
expect(Puppet.settings.preferred_run_mode).to eq(:
|
1928
|
+
expect(Puppet.settings.preferred_run_mode).to eq(:server)
|
1907
1929
|
expect(args.empty?).to eq(true)
|
1908
1930
|
end
|
1909
1931
|
|
1910
1932
|
it "should set preferred run mode from --run_mode=<foo> string without error" do
|
1911
|
-
args = ["--run_mode=
|
1912
|
-
expect(settings).not_to receive(:handlearg).with("--run_mode", "
|
1933
|
+
args = ["--run_mode=server"]
|
1934
|
+
expect(settings).not_to receive(:handlearg).with("--run_mode", "server")
|
1913
1935
|
expect { settings.send(:parse_global_options, args) }.to_not raise_error
|
1914
|
-
expect(Puppet.settings.preferred_run_mode).to eq(:
|
1936
|
+
expect(Puppet.settings.preferred_run_mode).to eq(:server)
|
1915
1937
|
expect(args.empty?).to eq(true)
|
1916
1938
|
end
|
1917
1939
|
end
|