puppet 4.1.0-x86-mingw32 → 4.2.0-x86-mingw32
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.
- data/ext/osx/puppet.plist +32 -0
- data/ext/redhat/client.init +3 -6
- data/ext/redhat/client.sysconfig +1 -10
- data/ext/suse/client.init +3 -6
- data/ext/systemd/puppet.service +2 -1
- data/lib/puppet.rb +1 -1
- data/lib/puppet/agent.rb +4 -19
- data/lib/puppet/application/apply.rb +22 -6
- data/lib/puppet/configurer.rb +3 -2
- data/lib/puppet/configurer/plugin_handler.rb +6 -2
- data/lib/puppet/face/plugin.rb +7 -14
- data/lib/puppet/forge/repository.rb +1 -2
- data/lib/puppet/indirector/catalog/compiler.rb +4 -3
- data/lib/puppet/indirector/facts/facter.rb +8 -0
- data/lib/puppet/module.rb +17 -12
- data/lib/puppet/network/http/factory.rb +8 -4
- data/lib/puppet/node/environment.rb +11 -7
- data/lib/puppet/parser/ast/pops_bridge.rb +5 -0
- data/lib/puppet/parser/functions/fqdn_rand.rb +2 -2
- data/lib/puppet/parser/scope.rb +39 -13
- data/lib/puppet/pops.rb +1 -0
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -1
- data/lib/puppet/pops/evaluator/runtime3_support.rb +31 -0
- data/lib/puppet/pops/parser/epp_support.rb +4 -2
- data/lib/puppet/property/ensure.rb +1 -1
- data/lib/puppet/provider.rb +5 -0
- data/lib/puppet/provider/augeas/augeas.rb +5 -0
- data/lib/puppet/provider/group/pw.rb +1 -0
- data/lib/puppet/provider/group/windows_adsi.rb +9 -0
- data/lib/puppet/provider/mount/parsed.rb +15 -1
- data/lib/puppet/provider/package.rb +6 -2
- data/lib/puppet/provider/package/gem.rb +16 -0
- data/lib/puppet/provider/package/openbsd.rb +7 -7
- data/lib/puppet/provider/package/pacman.rb +9 -8
- data/lib/puppet/provider/package/pip.rb +1 -1
- data/lib/puppet/provider/package/pip3.rb +18 -0
- data/lib/puppet/provider/package/pkgdmg.rb +4 -2
- data/lib/puppet/provider/package/pkgin.rb +3 -3
- data/lib/puppet/provider/package/rpm.rb +8 -14
- data/lib/puppet/provider/package/yum.rb +5 -4
- data/lib/puppet/provider/service/base.rb +3 -2
- data/lib/puppet/provider/service/bsd.rb +7 -7
- data/lib/puppet/provider/service/debian.rb +2 -1
- data/lib/puppet/provider/service/freebsd.rb +1 -1
- data/lib/puppet/provider/service/systemd.rb +75 -6
- data/lib/puppet/provider/service/upstart.rb +1 -1
- data/lib/puppet/provider/user/pw.rb +1 -0
- data/lib/puppet/resource/catalog.rb +1 -1
- data/lib/puppet/resource/status.rb +9 -0
- data/lib/puppet/resource/type.rb +4 -2
- data/lib/puppet/settings.rb +43 -16
- data/lib/puppet/transaction.rb +27 -13
- data/lib/puppet/type/augeas.rb +1 -0
- data/lib/puppet/type/exec.rb +11 -2
- data/lib/puppet/type/group.rb +9 -1
- data/lib/puppet/type/mount.rb +2 -0
- data/lib/puppet/type/package.rb +13 -2
- data/lib/puppet/type/service.rb +9 -0
- data/lib/puppet/util.rb +8 -3
- data/lib/puppet/util/execution.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +60 -0
- data/lib/puppet/util/log.rb +1 -1
- data/lib/puppet/util/splayer.rb +18 -0
- data/lib/puppet/version.rb +1 -1
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +195 -0
- data/spec/integration/application/apply_spec.rb +72 -30
- data/spec/integration/indirector/facts/facter_spec.rb +38 -0
- data/spec/integration/parser/scope_spec.rb +20 -2
- data/spec/integration/provider/mount_spec.rb +23 -36
- data/spec/integration/transaction_spec.rb +40 -1
- data/spec/integration/type/file_spec.rb +36 -0
- data/spec/integration/type/package_spec.rb +65 -0
- data/spec/lib/matchers/include_in_order.rb +0 -1
- data/spec/lib/puppet_spec/files.rb +14 -0
- data/spec/unit/agent_spec.rb +0 -38
- data/spec/unit/application/apply_spec.rb +13 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +42 -13
- data/spec/unit/configurer_spec.rb +5 -0
- data/spec/unit/face/plugin_spec.rb +33 -4
- data/spec/unit/file_serving/configuration/parser_spec.rb +25 -30
- data/spec/unit/indirector/catalog/compiler_spec.rb +16 -0
- data/spec/unit/indirector/facts/facter_spec.rb +2 -1
- data/spec/unit/module_spec.rb +0 -23
- data/spec/unit/network/http/factory_spec.rb +14 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -2
- data/spec/unit/parser/functions/generate_spec.rb +3 -12
- data/spec/unit/parser/scope_spec.rb +9 -0
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +19 -0
- data/spec/unit/pops/evaluator/variables_spec.rb +1 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +35 -3
- data/spec/unit/provider/augeas/augeas_spec.rb +9 -0
- data/spec/unit/provider/group/windows_adsi_spec.rb +5 -0
- data/spec/unit/provider/package/aptrpm_spec.rb +2 -2
- data/spec/unit/provider/package/base_spec.rb +18 -0
- data/spec/unit/provider/package/gem_spec.rb +70 -0
- data/spec/unit/provider/package/pacman_spec.rb +55 -0
- data/spec/unit/provider/package/pip3_spec.rb +257 -0
- data/spec/unit/provider/package/pip_spec.rb +1 -1
- data/spec/unit/provider/package/pkgdmg_spec.rb +18 -0
- data/spec/unit/provider/package/pkgin_spec.rb +23 -13
- data/spec/unit/provider/package/yum_spec.rb +11 -0
- data/spec/unit/provider/service/bsd_spec.rb +130 -0
- data/spec/unit/provider/service/debian_spec.rb +12 -1
- data/spec/unit/provider/service/freebsd_spec.rb +16 -0
- data/spec/unit/provider/service/systemd_spec.rb +84 -7
- data/spec/unit/provider/service/upstart_spec.rb +1 -0
- data/spec/unit/provider/zone/solaris_spec.rb +45 -12
- data/spec/unit/puppet_spec.rb +1 -1
- data/spec/unit/resource/catalog_spec.rb +5 -0
- data/spec/unit/type/mount_spec.rb +8 -0
- data/spec/unit/type/service_spec.rb +5 -0
- data/spec/unit/util/http_proxy_spec.rb +87 -0
- data/spec/unit/util/log_spec.rb +12 -1
- data/spec/unit/util/splayer_spec.rb +45 -0
- metadata +3071 -3035
- checksums.yaml +0 -7
- data/ext/systemd/puppetmaster.service +0 -11
@@ -43,6 +43,20 @@ module PuppetSpec::Files
|
|
43
43
|
file
|
44
44
|
end
|
45
45
|
|
46
|
+
def script_containing(name, contents) PuppetSpec::Files.script_containing(name, contents) end
|
47
|
+
def self.script_containing(name, contents)
|
48
|
+
file = tmpfile(name)
|
49
|
+
if Puppet.features.microsoft_windows?
|
50
|
+
file += '.bat'
|
51
|
+
text = contents[:windows]
|
52
|
+
else
|
53
|
+
text = contents[:posix]
|
54
|
+
end
|
55
|
+
File.open(file, 'wb') { |f| f.write(text) }
|
56
|
+
Puppet::FileSystem.chmod(0755, file)
|
57
|
+
file
|
58
|
+
end
|
59
|
+
|
46
60
|
def tmpdir(name) PuppetSpec::Files.tmpdir(name) end
|
47
61
|
def self.tmpdir(name)
|
48
62
|
dir = Dir.mktmpdir(name)
|
data/spec/unit/agent_spec.rb
CHANGED
@@ -234,44 +234,6 @@ describe Puppet::Agent do
|
|
234
234
|
end
|
235
235
|
end
|
236
236
|
|
237
|
-
describe "when splaying" do
|
238
|
-
before do
|
239
|
-
Puppet[:splay] = true
|
240
|
-
Puppet[:splaylimit] = "10"
|
241
|
-
end
|
242
|
-
|
243
|
-
it "should do nothing if splay is disabled" do
|
244
|
-
Puppet[:splay] = false
|
245
|
-
@agent.expects(:sleep).never
|
246
|
-
@agent.splay
|
247
|
-
end
|
248
|
-
|
249
|
-
it "should do nothing if it has already splayed" do
|
250
|
-
@agent.expects(:splayed?).returns true
|
251
|
-
@agent.expects(:sleep).never
|
252
|
-
@agent.splay
|
253
|
-
end
|
254
|
-
|
255
|
-
it "should log that it is splaying" do
|
256
|
-
@agent.stubs :sleep
|
257
|
-
Puppet.expects :info
|
258
|
-
@agent.splay
|
259
|
-
end
|
260
|
-
|
261
|
-
it "should sleep for a random portion of the splaylimit plus 1" do
|
262
|
-
Puppet[:splaylimit] = "50"
|
263
|
-
@agent.expects(:rand).with(51).returns 10
|
264
|
-
@agent.expects(:sleep).with(10)
|
265
|
-
@agent.splay
|
266
|
-
end
|
267
|
-
|
268
|
-
it "should mark that it has splayed" do
|
269
|
-
@agent.stubs(:sleep)
|
270
|
-
@agent.splay
|
271
|
-
expect(@agent).to be_splayed
|
272
|
-
end
|
273
|
-
end
|
274
|
-
|
275
237
|
describe "when checking execution state" do
|
276
238
|
describe 'with regular run status' do
|
277
239
|
before :each do
|
@@ -120,6 +120,13 @@ describe Puppet::Application::Apply do
|
|
120
120
|
expect { @apply.setup }.to exit_with 1
|
121
121
|
end
|
122
122
|
|
123
|
+
it "should use :main, :puppetd, and :ssl" do
|
124
|
+
Puppet.settings.unstub(:use)
|
125
|
+
Puppet.settings.expects(:use).with(:main, :agent, :ssl)
|
126
|
+
|
127
|
+
@apply.setup
|
128
|
+
end
|
129
|
+
|
123
130
|
it "should tell the report handler to cache locally as yaml" do
|
124
131
|
Puppet::Transaction::Report.indirection.expects(:cache_class=).with(:yaml)
|
125
132
|
|
@@ -243,6 +250,12 @@ describe Puppet::Application::Apply do
|
|
243
250
|
expect(msg.level).to eq(:warning)
|
244
251
|
end
|
245
252
|
|
253
|
+
it "should splay" do
|
254
|
+
@apply.expects(:splay)
|
255
|
+
|
256
|
+
expect { @apply.main }.to exit_with 0
|
257
|
+
end
|
258
|
+
|
246
259
|
it "should raise an error if we can't find the node" do
|
247
260
|
Puppet::Node.indirection.expects(:find).returns(nil)
|
248
261
|
|
@@ -14,26 +14,55 @@ describe Puppet::Configurer::PluginHandler do
|
|
14
14
|
Puppet.expects(:err).never
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
context "when external facts are supported" do
|
18
|
+
before :each do
|
19
|
+
Puppet.features.stubs(:external_facts?).returns(true)
|
20
|
+
end
|
19
21
|
|
20
|
-
|
21
|
-
|
22
|
+
it "downloads plugins and facts" do
|
23
|
+
plugin_downloader = stub('plugin-downloader', :evaluate => [])
|
24
|
+
facts_downloader = stub('facts-downloader', :evaluate => [])
|
22
25
|
|
23
|
-
|
24
|
-
|
26
|
+
factory.expects(:create_plugin_downloader).returns(plugin_downloader)
|
27
|
+
factory.expects(:create_plugin_facts_downloader).returns(facts_downloader)
|
25
28
|
|
26
|
-
|
29
|
+
pluginhandler.download_plugins(environment)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "returns downloaded plugin and fact filenames" do
|
33
|
+
plugin_downloader = stub('plugin-downloader', :evaluate => %w[/a])
|
34
|
+
facts_downloader = stub('facts-downloader', :evaluate => %w[/b])
|
35
|
+
|
36
|
+
factory.expects(:create_plugin_downloader).returns(plugin_downloader)
|
37
|
+
factory.expects(:create_plugin_facts_downloader).returns(facts_downloader)
|
38
|
+
|
39
|
+
expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b])
|
40
|
+
end
|
27
41
|
end
|
28
42
|
|
29
|
-
|
30
|
-
|
43
|
+
context "when external facts are not supported" do
|
44
|
+
before :each do
|
45
|
+
Puppet.features.stubs(:external_facts?).returns(false)
|
46
|
+
end
|
47
|
+
|
48
|
+
it "downloads plugins only" do
|
49
|
+
plugin_downloader = stub('plugin-downloader', :evaluate => [])
|
50
|
+
|
51
|
+
factory.expects(:create_plugin_downloader).returns(plugin_downloader)
|
52
|
+
factory.expects(:create_plugin_facts_downloader).never
|
53
|
+
|
54
|
+
pluginhandler.download_plugins(environment)
|
55
|
+
end
|
56
|
+
|
57
|
+
it "returns downloaded plugin filenames only" do
|
58
|
+
Puppet.features.stubs(:external_facts?).returns(false)
|
31
59
|
|
32
|
-
|
60
|
+
plugin_downloader = stub('plugin-downloader', :evaluate => %w[/a])
|
61
|
+
facts_downloader = stub('facts-downloader')
|
33
62
|
|
34
|
-
|
35
|
-
factory.expects(:create_plugin_facts_downloader).never
|
63
|
+
factory.expects(:create_plugin_downloader).returns(plugin_downloader)
|
36
64
|
|
37
|
-
|
65
|
+
expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a])
|
66
|
+
end
|
38
67
|
end
|
39
68
|
end
|
@@ -531,6 +531,11 @@ describe Puppet::Configurer do
|
|
531
531
|
Puppet::Node.indirection.expects(:find).with(anything, has_entries(:transaction_uuid => anything)).twice
|
532
532
|
@agent.run
|
533
533
|
end
|
534
|
+
|
535
|
+
it "sends the configured environment in the request" do
|
536
|
+
Puppet::Node.indirection.expects(:find).with(anything, has_entries(:configured_environment => Puppet[:environment])).twice
|
537
|
+
@agent.run
|
538
|
+
end
|
534
539
|
end
|
535
540
|
|
536
541
|
describe "when retrieving a catalog" do
|
@@ -2,9 +2,38 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
require 'puppet/face'
|
4
4
|
|
5
|
-
describe Puppet::Face[:plugin,
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
describe Puppet::Face[:plugin, :current] do
|
6
|
+
|
7
|
+
let(:pluginface) { described_class }
|
8
|
+
let(:action) { pluginface.get_action(:download) }
|
9
|
+
|
10
|
+
def render(result)
|
11
|
+
action.when_rendering(:console).call(result)
|
12
|
+
end
|
13
|
+
|
14
|
+
context "download" do
|
15
|
+
before :each do
|
16
|
+
Puppet.features.stubs(:external_facts?).returns(true)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "downloads plugins and external facts" do
|
20
|
+
Puppet::Configurer::Downloader.any_instance.expects(:evaluate).twice.returns([])
|
21
|
+
|
22
|
+
pluginface.download
|
23
|
+
end
|
24
|
+
|
25
|
+
it "renders 'No plugins downloaded' if nothing was downloaded" do
|
26
|
+
Puppet::Configurer::Downloader.any_instance.expects(:evaluate).twice.returns([])
|
27
|
+
|
28
|
+
result = pluginface.download
|
29
|
+
expect(render(result)).to eq('No plugins downloaded.')
|
30
|
+
end
|
31
|
+
|
32
|
+
it "renders comma separate list of downloaded file names" do
|
33
|
+
Puppet::Configurer::Downloader.any_instance.expects(:evaluate).twice.returns(%w[/a]).then.returns(%w[/b])
|
34
|
+
|
35
|
+
result = pluginface.download
|
36
|
+
expect(render(result)).to eq('Downloaded these plugins: /a, /b')
|
37
|
+
end
|
9
38
|
end
|
10
39
|
end
|
@@ -33,16 +33,6 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
33
33
|
expect { @parser.parse }.not_to raise_error
|
34
34
|
end
|
35
35
|
|
36
|
-
it "should create a new mount for each section in the configuration" do
|
37
|
-
mount1 = mock 'one', :validate => true
|
38
|
-
mount2 = mock 'two', :validate => true
|
39
|
-
Puppet::FileServing::Mount::File.expects(:new).with("one").returns(mount1)
|
40
|
-
Puppet::FileServing::Mount::File.expects(:new).with("two").returns(mount2)
|
41
|
-
write_config_file "[one]\n[two]\n"
|
42
|
-
@parser.parse
|
43
|
-
end
|
44
|
-
|
45
|
-
# This test is almost the exact same as the previous one.
|
46
36
|
it "should return a hash of the created mounts" do
|
47
37
|
mount1 = mock 'one', :validate => true
|
48
38
|
mount2 = mock 'two', :validate => true
|
@@ -108,29 +98,34 @@ describe Puppet::FileServing::Configuration::Parser do
|
|
108
98
|
@parser.parse
|
109
99
|
end
|
110
100
|
|
111
|
-
|
112
|
-
|
101
|
+
[:allow,:deny].each { |acl_type|
|
102
|
+
it "should support inline comments in #{acl_type}" do
|
103
|
+
write_config_file "[one]\n#{acl_type} something \# will it work?\n"
|
113
104
|
|
114
105
|
@mount.expects(:info)
|
115
|
-
@mount.expects(
|
106
|
+
@mount.expects(acl_type).with("something")
|
116
107
|
@parser.parse
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should tell the mount to #{acl_type} from ACLs with varying spacing around commas" do
|
111
|
+
write_config_file "[one]\n#{acl_type} someone,sometwo, somethree , somefour ,somefive\n"
|
112
|
+
|
113
|
+
@mount.expects(:info).times(5)
|
114
|
+
@mount.expects(acl_type).times(5).with(any_of('someone','sometwo','somethree','somefour','somefive'))
|
115
|
+
@parser.parse
|
116
|
+
end
|
117
|
+
|
118
|
+
# each ip, with glob in the various octet positions
|
119
|
+
['100','4','42','*'].permutation.map {|permutes| permutes.join('.') }.each { |ip_pattern|
|
120
|
+
it "should tell the mount to #{acl_type} from ACLs with glob at #{ip_pattern}" do
|
121
|
+
write_config_file "[one]\n#{acl_type} #{ip_pattern}\n"
|
122
|
+
|
123
|
+
@mount.expects(:info)
|
124
|
+
@mount.expects(acl_type).with(ip_pattern)
|
125
|
+
@parser.parse
|
126
|
+
end
|
127
|
+
}
|
128
|
+
}
|
134
129
|
|
135
130
|
it "should return comprehensible error message, if failed on invalid attribute" do
|
136
131
|
write_config_file "[one]\ndo something\n"
|
@@ -200,6 +200,22 @@ describe Puppet::Resource::Catalog::Compiler do
|
|
200
200
|
|
201
201
|
compiler.find(request)
|
202
202
|
end
|
203
|
+
|
204
|
+
it "should pass the configured_environment to the node indirection" do
|
205
|
+
environment = 'foo'
|
206
|
+
node = Puppet::Node.new("thing")
|
207
|
+
compiler = Puppet::Resource::Catalog::Compiler.new
|
208
|
+
compiler.stubs(:compile)
|
209
|
+
request = Puppet::Indirector::Request.new(:catalog, :find, "thing",
|
210
|
+
nil, :configured_environment => environment)
|
211
|
+
|
212
|
+
Puppet::Node.indirection.expects(:find).with(
|
213
|
+
"thing",
|
214
|
+
has_entries(:configured_environment => environment)
|
215
|
+
).returns(node)
|
216
|
+
|
217
|
+
compiler.find(request)
|
218
|
+
end
|
203
219
|
end
|
204
220
|
|
205
221
|
describe "after finding nodes" do
|
@@ -43,10 +43,11 @@ describe Puppet::Node::Facts::Facter do
|
|
43
43
|
@facter.find(@request)
|
44
44
|
end
|
45
45
|
|
46
|
-
it 'should add the puppetversion
|
46
|
+
it 'should add the puppetversion and agent_specified_environment facts' do
|
47
47
|
reset = sequence 'reset'
|
48
48
|
Facter.expects(:reset).in_sequence(reset)
|
49
49
|
Facter.expects(:add).with(:puppetversion)
|
50
|
+
Facter.expects(:add).with(:agent_specified_environment)
|
50
51
|
@facter.find(@request)
|
51
52
|
end
|
52
53
|
|
data/spec/unit/module_spec.rb
CHANGED
@@ -132,23 +132,6 @@ describe Puppet::Module do
|
|
132
132
|
mod.description = "GPL2"
|
133
133
|
expect(mod.description).to eq("GPL2")
|
134
134
|
end
|
135
|
-
|
136
|
-
it "should support specifying a compatible puppet version" do
|
137
|
-
mod.puppetversion = "0.25"
|
138
|
-
expect(mod.puppetversion).to eq("0.25")
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
it "should validate that the puppet version is compatible" do
|
143
|
-
mod.puppetversion = "0.25"
|
144
|
-
Puppet.expects(:version).returns "0.25"
|
145
|
-
mod.validate_puppet_version
|
146
|
-
end
|
147
|
-
|
148
|
-
it "should fail if the specified puppet version is not compatible" do
|
149
|
-
mod.puppetversion = "0.25"
|
150
|
-
Puppet.stubs(:version).returns "0.24"
|
151
|
-
expect { mod.validate_puppet_version }.to raise_error(Puppet::Module::IncompatibleModule)
|
152
135
|
end
|
153
136
|
|
154
137
|
describe "when finding unmet dependencies" do
|
@@ -670,7 +653,6 @@ describe Puppet::Module do
|
|
670
653
|
:author => "luke",
|
671
654
|
:version => "1.0",
|
672
655
|
:source => "http://foo/",
|
673
|
-
:puppetversion => "0.25",
|
674
656
|
:dependencies => []
|
675
657
|
}
|
676
658
|
@module = a_module_with_metadata(@data)
|
@@ -692,11 +674,6 @@ describe Puppet::Module do
|
|
692
674
|
)
|
693
675
|
end
|
694
676
|
end
|
695
|
-
|
696
|
-
it "should set puppetversion if present in the metadata file" do
|
697
|
-
@module.load_metadata
|
698
|
-
expect(@module.puppetversion).to eq(@data[:puppetversion])
|
699
|
-
end
|
700
677
|
end
|
701
678
|
|
702
679
|
it "should be able to tell if there are local changes" do
|
@@ -1,6 +1,7 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
2
|
require 'spec_helper'
|
3
3
|
require 'puppet/network/http'
|
4
|
+
require 'puppet/util/http_proxy'
|
4
5
|
|
5
6
|
describe Puppet::Network::HTTP::Factory do
|
6
7
|
before :each do
|
@@ -41,13 +42,25 @@ describe Puppet::Network::HTTP::Factory do
|
|
41
42
|
|
42
43
|
it "should not set a proxy if the value is 'none'" do
|
43
44
|
Puppet[:http_proxy_host] = 'none'
|
45
|
+
Puppet::Util::HttpProxy.expects(:no_proxy?).returns false
|
44
46
|
conn = create_connection(site)
|
45
47
|
|
46
48
|
expect(conn.proxy_address).to be_nil
|
47
49
|
end
|
48
50
|
|
51
|
+
it 'should not set a proxy if a no_proxy env var matches the destination' do
|
52
|
+
Puppet[:http_proxy_host] = proxy_host
|
53
|
+
Puppet[:http_proxy_port] = proxy_port
|
54
|
+
Puppet::Util::HttpProxy.expects(:no_proxy?).returns true
|
55
|
+
conn = create_connection(site)
|
56
|
+
|
57
|
+
expect(conn.proxy_address).to be_nil
|
58
|
+
expect(conn.proxy_port).to be_nil
|
59
|
+
end
|
60
|
+
|
49
61
|
it 'sets proxy_address' do
|
50
62
|
Puppet[:http_proxy_host] = proxy_host
|
63
|
+
Puppet::Util::HttpProxy.expects(:no_proxy?).returns false
|
51
64
|
conn = create_connection(site)
|
52
65
|
|
53
66
|
expect(conn.proxy_address).to eq(proxy_host)
|
@@ -56,6 +69,7 @@ describe Puppet::Network::HTTP::Factory do
|
|
56
69
|
it 'sets proxy address and port' do
|
57
70
|
Puppet[:http_proxy_host] = proxy_host
|
58
71
|
Puppet[:http_proxy_port] = proxy_port
|
72
|
+
Puppet::Util::HttpProxy.expects(:no_proxy?).returns false
|
59
73
|
conn = create_connection(site)
|
60
74
|
|
61
75
|
expect(conn.proxy_port).to eq(proxy_port)
|
@@ -4,9 +4,13 @@ require 'puppet_spec/scope'
|
|
4
4
|
|
5
5
|
describe "the fqdn_rand function" do
|
6
6
|
include PuppetSpec::Scope
|
7
|
-
|
7
|
+
|
8
|
+
it "returns an integer" do
|
9
|
+
expect(fqdn_rand(3)).to be_an(Integer)
|
10
|
+
end
|
11
|
+
|
8
12
|
it "provides a random number strictly less than the given max" do
|
9
|
-
expect(fqdn_rand(3)).to satisfy {|n| n
|
13
|
+
expect(fqdn_rand(3)).to satisfy {|n| n < 3 }
|
10
14
|
end
|
11
15
|
|
12
16
|
it "provides the same 'random' value on subsequent calls for the same host" do
|
@@ -92,18 +92,9 @@ describe "the generate function" do
|
|
92
92
|
end
|
93
93
|
|
94
94
|
let :command do
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
cmd += '.bat'
|
99
|
-
text = '@echo off' + "\n" + 'echo a-%1 b-%2'
|
100
|
-
else
|
101
|
-
text = '#!/bin/sh' + "\n" + 'echo a-$1 b-$2'
|
102
|
-
end
|
103
|
-
|
104
|
-
File.open(cmd, 'w') {|fh| fh.puts text }
|
105
|
-
File.chmod 0700, cmd
|
106
|
-
cmd
|
95
|
+
script_containing('function_generate',
|
96
|
+
:windows => '@echo off' + "\n" + 'echo a-%1 b-%2',
|
97
|
+
:posix => '#!/bin/sh' + "\n" + 'echo a-$1 b-$2')
|
107
98
|
end
|
108
99
|
|
109
100
|
after :each do
|