puppet 6.0.4-universal-darwin → 6.0.5-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.

Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +15 -15
  3. data/Rakefile +3 -1
  4. data/ext/solaris/smf/svc-puppetd +8 -1
  5. data/ext/solaris/smf/svc-puppetmasterd +8 -1
  6. data/lib/puppet/application/device.rb +48 -32
  7. data/lib/puppet/application/ssl.rb +31 -17
  8. data/lib/puppet/defaults.rb +2 -1
  9. data/lib/puppet/face/config.rb +1 -1
  10. data/lib/puppet/forge.rb +4 -1
  11. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +3 -1
  12. data/lib/puppet/pops/model/pn_transformer.rb +5 -0
  13. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  14. data/lib/puppet/pops/types/string_converter.rb +11 -2
  15. data/lib/puppet/provider/package/dnf.rb +2 -1
  16. data/lib/puppet/provider/package/windows/exe_package.rb +13 -0
  17. data/lib/puppet/provider/package/windows/msi_package.rb +8 -0
  18. data/lib/puppet/provider/package/windows/package.rb +9 -1
  19. data/lib/puppet/provider/package/yum.rb +1 -1
  20. data/lib/puppet/provider/parsedfile.rb +25 -4
  21. data/lib/puppet/provider/service/smf.rb +54 -0
  22. data/lib/puppet/provider/service/systemd.rb +2 -0
  23. data/lib/puppet/provider/service/upstart.rb +1 -0
  24. data/lib/puppet/rest/route.rb +1 -1
  25. data/lib/puppet/ssl/host.rb +23 -11
  26. data/lib/puppet/transaction.rb +4 -1
  27. data/lib/puppet/transaction/event_manager.rb +13 -1
  28. data/lib/puppet/transaction/resource_harness.rb +3 -1
  29. data/lib/puppet/util/command_line.rb +2 -3
  30. data/lib/puppet/util/filetype.rb +36 -4
  31. data/lib/puppet/util/selinux.rb +1 -1
  32. data/lib/puppet/util/windows/api_types.rb +1 -1
  33. data/lib/puppet/util/windows/registry.rb +29 -5
  34. data/lib/puppet/util/windows/service.rb +106 -99
  35. data/lib/puppet/version.rb +1 -1
  36. data/locales/ja/puppet.po +232 -183
  37. data/locales/puppet.pot +145 -117
  38. data/man/man5/puppet.conf.5 +3 -3
  39. data/man/man8/puppet-agent.8 +1 -1
  40. data/man/man8/puppet-apply.8 +1 -1
  41. data/man/man8/puppet-catalog.8 +1 -1
  42. data/man/man8/puppet-config.8 +2 -2
  43. data/man/man8/puppet-describe.8 +1 -1
  44. data/man/man8/puppet-device.8 +23 -19
  45. data/man/man8/puppet-doc.8 +1 -1
  46. data/man/man8/puppet-epp.8 +1 -1
  47. data/man/man8/puppet-facts.8 +1 -1
  48. data/man/man8/puppet-filebucket.8 +1 -1
  49. data/man/man8/puppet-generate.8 +1 -1
  50. data/man/man8/puppet-help.8 +1 -1
  51. data/man/man8/puppet-key.8 +1 -1
  52. data/man/man8/puppet-lookup.8 +1 -1
  53. data/man/man8/puppet-man.8 +1 -1
  54. data/man/man8/puppet-module.8 +1 -1
  55. data/man/man8/puppet-node.8 +1 -1
  56. data/man/man8/puppet-parser.8 +1 -1
  57. data/man/man8/puppet-plugin.8 +1 -1
  58. data/man/man8/puppet-report.8 +1 -1
  59. data/man/man8/puppet-resource.8 +1 -1
  60. data/man/man8/puppet-script.8 +1 -1
  61. data/man/man8/puppet-ssl.8 +6 -3
  62. data/man/man8/puppet-status.8 +1 -1
  63. data/man/man8/puppet.8 +2 -2
  64. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +6 -0
  65. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +13 -0
  66. data/spec/integration/ssl/key_spec.rb +0 -4
  67. data/spec/integration/transaction_spec.rb +559 -0
  68. data/spec/integration/util/windows/registry_spec.rb +39 -0
  69. data/spec/unit/application/device_spec.rb +10 -7
  70. data/spec/unit/application/lookup_spec.rb +2 -1
  71. data/spec/unit/application/ssl_spec.rb +21 -2
  72. data/spec/unit/forge/forge_spec.rb +4 -2
  73. data/spec/unit/functions/logging_spec.rb +10 -3
  74. data/spec/unit/indirector/yaml_spec.rb +1 -1
  75. data/spec/unit/pops/loaders/loader_spec.rb +6 -7
  76. data/spec/unit/pops/model/pn_transformer_spec.rb +4 -0
  77. data/spec/unit/pops/types/p_timespan_type_spec.rb +22 -0
  78. data/spec/unit/pops/types/p_timestamp_type_spec.rb +19 -0
  79. data/spec/unit/pops/types/string_converter_spec.rb +20 -0
  80. data/spec/unit/provider/group/ldap_spec.rb +22 -25
  81. data/spec/unit/provider/group/pw_spec.rb +7 -10
  82. data/spec/unit/provider/nameservice/directoryservice_spec.rb +97 -103
  83. data/spec/unit/provider/package/aix_spec.rb +5 -8
  84. data/spec/unit/provider/package/apt_spec.rb +3 -6
  85. data/spec/unit/provider/package/dnf_spec.rb +36 -37
  86. data/spec/unit/provider/package/dpkg_spec.rb +18 -21
  87. data/spec/unit/provider/package/freebsd_spec.rb +4 -7
  88. data/spec/unit/provider/package/gem_spec.rb +41 -41
  89. data/spec/unit/provider/package/hpux_spec.rb +7 -10
  90. data/spec/unit/provider/package/macports_spec.rb +13 -15
  91. data/spec/unit/provider/package/nim_spec.rb +3 -10
  92. data/spec/unit/provider/package/openbsd_spec.rb +14 -17
  93. data/spec/unit/provider/package/pip3_spec.rb +3 -6
  94. data/spec/unit/provider/package/pip_spec.rb +45 -49
  95. data/spec/unit/provider/package/pkgin_spec.rb +13 -18
  96. data/spec/unit/provider/package/pkgng_spec.rb +21 -24
  97. data/spec/unit/provider/package/puppet_gem_spec.rb +6 -9
  98. data/spec/unit/provider/package/tdnf_spec.rb +9 -12
  99. data/spec/unit/provider/package/yum_spec.rb +30 -16
  100. data/spec/unit/provider/package/zypper_spec.rb +17 -19
  101. data/spec/unit/provider/service/bsd_spec.rb +7 -9
  102. data/spec/unit/provider/service/daemontools_spec.rb +12 -16
  103. data/spec/unit/provider/service/debian_spec.rb +6 -10
  104. data/spec/unit/provider/service/freebsd_spec.rb +2 -2
  105. data/spec/unit/provider/service/openbsd_spec.rb +13 -17
  106. data/spec/unit/provider/service/rcng_spec.rb +2 -4
  107. data/spec/unit/provider/service/redhat_spec.rb +12 -11
  108. data/spec/unit/provider/service/runit_spec.rb +7 -14
  109. data/spec/unit/provider/service/smf_spec.rb +77 -13
  110. data/spec/unit/provider/service/src_spec.rb +11 -16
  111. data/spec/unit/provider/service/systemd_spec.rb +18 -0
  112. data/spec/unit/provider/user/hpux_spec.rb +3 -5
  113. data/spec/unit/provider/user/ldap_spec.rb +29 -32
  114. data/spec/unit/provider/user/pw_spec.rb +10 -13
  115. data/spec/unit/rest/route_spec.rb +1 -1
  116. data/spec/unit/ssl/host_spec.rb +21 -0
  117. data/spec/unit/ssl/key_spec.rb +2 -4
  118. data/spec/unit/transaction/event_manager_spec.rb +12 -1
  119. data/spec/unit/transaction/resource_harness_spec.rb +18 -0
  120. data/spec/unit/transaction_spec.rb +25 -0
  121. data/spec/unit/util/filetype_spec.rb +13 -5
  122. data/spec/unit/util/logging_spec.rb +0 -41
  123. data/spec/unit/util/monkey_patches_spec.rb +18 -5
  124. data/spec/unit/util/selinux_spec.rb +4 -0
  125. metadata +8 -2
@@ -1,9 +1,6 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
- provider_class = Puppet::Type.type(:package).provider(:puppet_gem)
5
-
6
- describe provider_class do
3
+ describe Puppet::Type.type(:package).provider(:puppet_gem) do
7
4
  let(:resource) do
8
5
  Puppet::Type.type(:package).new(
9
6
  :name => 'myresource',
@@ -12,7 +9,7 @@ describe provider_class do
12
9
  end
13
10
 
14
11
  let(:provider) do
15
- provider = provider_class.new
12
+ provider = described_class.new
16
13
  provider.resource = resource
17
14
  provider
18
15
  end
@@ -27,9 +24,9 @@ describe provider_class do
27
24
  resource.provider = provider
28
25
  end
29
26
 
30
- describe "when installing" do
27
+ context "when installing" do
31
28
  it "should use the path to the gem" do
32
- provider_class.expects(:which).with(puppet_gem).returns(puppet_gem)
29
+ described_class.expects(:which).with(puppet_gem).returns(puppet_gem)
33
30
  provider.expects(:execute).with { |args| args[0] == puppet_gem }.returns ''
34
31
  provider.install
35
32
  end
@@ -46,9 +43,9 @@ describe provider_class do
46
43
  end
47
44
  end
48
45
 
49
- describe "when uninstalling" do
46
+ context "when uninstalling" do
50
47
  it "should use the path to the gem" do
51
- provider_class.expects(:which).with(puppet_gem).returns(puppet_gem)
48
+ described_class.expects(:which).with(puppet_gem).returns(puppet_gem)
52
49
  provider.expects(:execute).with { |args| args[0] == puppet_gem }.returns ''
53
50
  provider.install
54
51
  end
@@ -2,17 +2,14 @@ require 'spec_helper'
2
2
 
3
3
  # Note that much of the functionality of the tdnf provider is already tested with yum provider tests,
4
4
  # as yum is the parent provider, via dnf
5
-
6
- provider_class = Puppet::Type.type(:package).provider(:tdnf)
7
-
8
- context 'default' do
9
- it 'should be the default provider on PhotonOS' do
10
- Facter.stubs(:value).with(:osfamily).returns(:redhat)
11
- Facter.stubs(:value).with(:operatingsystem).returns("PhotonOS")
12
- expect(provider_class).to be_default
5
+ describe Puppet::Type.type(:package).provider(:tdnf) do
6
+ it_behaves_like 'RHEL package provider', described_class, 'tdnf'
7
+
8
+ context 'default' do
9
+ it 'should be the default provider on PhotonOS' do
10
+ Facter.stubs(:value).with(:osfamily).returns(:redhat)
11
+ Facter.stubs(:value).with(:operatingsystem).returns("PhotonOS")
12
+ expect(described_class).to be_default
13
+ end
13
14
  end
14
15
  end
15
-
16
- describe provider_class do
17
- it_behaves_like 'RHEL package provider', provider_class, 'tdnf'
18
- end
@@ -1,17 +1,15 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
- provider_class = Puppet::Type.type(:package).provider(:yum)
5
-
6
- describe provider_class do
3
+ describe Puppet::Type.type(:package).provider(:yum) do
7
4
  include PuppetSpec::Fixtures
8
- it_behaves_like 'RHEL package provider', provider_class, 'yum'
5
+
6
+ it_behaves_like 'RHEL package provider', described_class, 'yum'
9
7
 
10
8
  it "should have lower specificity" do
11
9
  Facter.stubs(:value).with(:osfamily).returns(:redhat)
12
10
  Facter.stubs(:value).with(:operatingsystem).returns(:fedora)
13
11
  Facter.stubs(:value).with(:operatingsystemmajrelease).returns("22")
14
- expect(provider_class.specificity).to be < 200
12
+ expect(described_class.specificity).to be < 200
15
13
  end
16
14
 
17
15
  describe "when supplied the source param" do
@@ -25,12 +23,12 @@ describe provider_class do
25
23
  end
26
24
 
27
25
  let(:provider) do
28
- provider = provider_class.new
26
+ provider = described_class.new
29
27
  provider.resource = resource
30
28
  provider
31
29
  end
32
30
 
33
- before { provider_class.stubs(:command).with(:cmd).returns("/usr/bin/yum") }
31
+ before { described_class.stubs(:command).with(:cmd).returns("/usr/bin/yum") }
34
32
 
35
33
  context "when installing" do
36
34
  it "should use the supplied source as the explicit path to a package to install" do
@@ -58,16 +56,18 @@ describe provider_class do
58
56
  end
59
57
  end
60
58
 
61
- describe "parsing the output of check-update" do
62
- describe "with no multiline entries" do
59
+ context "parsing the output of check-update" do
60
+ context "with no multiline entries" do
63
61
  let(:check_update) { File.read(my_fixture("yum-check-update-simple.txt")) }
64
62
  let(:output) { described_class.parse_updates(check_update) }
63
+
65
64
  it 'creates an entry for each package keyed on the package name' do
66
65
  expect(output['curl']).to eq([{:name => 'curl', :epoch => '0', :version => '7.32.0', :release => '10.fc20', :arch => 'i686'}, {:name => 'curl', :epoch => '0', :version => '7.32.0', :release => '10.fc20', :arch => 'x86_64'}])
67
66
  expect(output['gawk']).to eq([{:name => 'gawk', :epoch => '0', :version => '4.1.0', :release => '3.fc20', :arch => 'i686'}])
68
67
  expect(output['dhclient']).to eq([{:name => 'dhclient', :epoch => '12', :version => '4.1.1', :release => '38.P1.fc20', :arch => 'i686'}])
69
68
  expect(output['selinux-policy']).to eq([{:name => 'selinux-policy', :epoch => '0', :version => '3.12.1', :release => '163.fc20', :arch => 'noarch'}])
70
69
  end
70
+
71
71
  it 'creates an entry for each package keyed on the package name and package architecture' do
72
72
  expect(output['curl.i686']).to eq([{:name => 'curl', :epoch => '0', :version => '7.32.0', :release => '10.fc20', :arch => 'i686'}])
73
73
  expect(output['curl.x86_64']).to eq([{:name => 'curl', :epoch => '0', :version => '7.32.0', :release => '10.fc20', :arch => 'x86_64'}])
@@ -77,55 +77,69 @@ describe provider_class do
77
77
  expect(output['java-1.8.0-openjdk.x86_64']).to eq([{:name => 'java-1.8.0-openjdk', :epoch => '1', :version => '1.8.0.131', :release => '2.b11.el7_3', :arch => 'x86_64'}])
78
78
  end
79
79
  end
80
- describe "with multiline entries" do
80
+
81
+ context "with multiline entries" do
81
82
  let(:check_update) { File.read(my_fixture("yum-check-update-multiline.txt")) }
82
83
  let(:output) { described_class.parse_updates(check_update) }
84
+
83
85
  it "parses multi-line values as a single package tuple" do
84
86
  expect(output['libpcap']).to eq([{:name => 'libpcap', :epoch => '14', :version => '1.4.0', :release => '1.20130826git2dbcaa1.el6', :arch => 'x86_64'}])
85
87
  end
86
88
  end
87
- describe "with obsoleted packages" do
89
+
90
+ context "with obsoleted packages" do
88
91
  let(:check_update) { File.read(my_fixture("yum-check-update-obsoletes.txt")) }
89
92
  let(:output) { described_class.parse_updates(check_update) }
93
+
90
94
  it "ignores all entries including and after 'Obsoleting Packages'" do
91
95
  expect(output).not_to include("Obsoleting")
92
96
  expect(output).not_to include("NetworkManager-bluetooth.x86_64")
93
97
  expect(output).not_to include("1:1.0.0-14.git20150121.b4ea599c.el7")
94
98
  end
95
99
  end
96
- describe "with security notifications" do
100
+
101
+ context "with security notifications" do
97
102
  let(:check_update) { File.read(my_fixture("yum-check-update-security.txt")) }
98
103
  let(:output) { described_class.parse_updates(check_update) }
104
+
99
105
  it "ignores all entries including and after 'Security'" do
100
106
  expect(output).not_to include("Security")
101
107
  end
108
+
102
109
  it "includes updates before 'Security'" do
103
110
  expect(output).to include("yum-plugin-fastestmirror.noarch")
104
111
  end
105
112
  end
106
- describe "with broken update notices" do
113
+
114
+ context "with broken update notices" do
107
115
  let(:check_update) { File.read(my_fixture("yum-check-update-broken-notices.txt")) }
108
116
  let(:output) { described_class.parse_updates(check_update) }
117
+
109
118
  it "ignores all entries including and after 'Update'" do
110
119
  expect(output).not_to include("Update")
111
120
  end
121
+
112
122
  it "includes updates before 'Update'" do
113
123
  expect(output).to include("yum-plugin-fastestmirror.noarch")
114
124
  end
115
125
  end
116
- describe "with improper package names in output" do
126
+
127
+ context "with improper package names in output" do
117
128
  it "raises an exception parsing package name" do
118
129
  expect {
119
130
  described_class.update_to_hash('badpackagename', '1')
120
131
  }.to raise_exception(Exception, /Failed to parse/)
121
132
  end
122
133
  end
123
- describe "with trailing plugin output" do
134
+
135
+ context "with trailing plugin output" do
124
136
  let(:check_update) { File.read(my_fixture("yum-check-update-plugin-output.txt")) }
125
137
  let(:output) { described_class.parse_updates(check_update) }
138
+
126
139
  it "parses correctly formatted entries" do
127
140
  expect(output['bash']).to eq([{:name => 'bash', :epoch => '0', :version => '4.2.46', :release => '12.el7', :arch => 'x86_64'}])
128
141
  end
142
+
129
143
  it "ignores all mentions of plugin output" do
130
144
  expect(output).not_to include("Random plugin")
131
145
  end
@@ -1,9 +1,6 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
- provider_class = Puppet::Type.type(:package).provider(:zypper)
5
-
6
- describe provider_class do
3
+ describe Puppet::Type.type(:package).provider(:zypper) do
7
4
  before(:each) do
8
5
  # Create a mock resource
9
6
  @resource = stub 'resource'
@@ -16,35 +13,35 @@ describe provider_class do
16
13
  @resource.stubs(:[]).with(:ensure).returns :installed
17
14
  @resource.stubs(:command).with(:zypper).returns "/usr/bin/zypper"
18
15
 
19
- @provider = provider_class.new(@resource)
16
+ @provider = described_class.new(@resource)
20
17
  end
21
18
 
22
19
  it "should have an install method" do
23
- @provider = provider_class.new
20
+ @provider = described_class.new
24
21
  expect(@provider).to respond_to(:install)
25
22
  end
26
23
 
27
24
  it "should have an uninstall method" do
28
- @provider = provider_class.new
25
+ @provider = described_class.new
29
26
  expect(@provider).to respond_to(:uninstall)
30
27
  end
31
28
 
32
29
  it "should have an update method" do
33
- @provider = provider_class.new
30
+ @provider = described_class.new
34
31
  expect(@provider).to respond_to(:update)
35
32
  end
36
33
 
37
34
  it "should have a latest method" do
38
- @provider = provider_class.new
35
+ @provider = described_class.new
39
36
  expect(@provider).to respond_to(:latest)
40
37
  end
41
38
 
42
39
  it "should have a install_options method" do
43
- @provider = provider_class.new
40
+ @provider = described_class.new
44
41
  expect(@provider).to respond_to(:install_options)
45
42
  end
46
43
 
47
- describe "when installing with zypper version >= 1.0" do
44
+ context "when installing with zypper version >= 1.0" do
48
45
  it "should use a command-line with versioned package'" do
49
46
  @resource.stubs(:should).with(:ensure).returns "1.2.3-4.5.6"
50
47
  @resource.stubs(:allow_virtual?).returns false
@@ -65,7 +62,7 @@ describe provider_class do
65
62
  end
66
63
  end
67
64
 
68
- describe "when installing with zypper version = 0.6.104" do
65
+ context "when installing with zypper version = 0.6.104" do
69
66
  it "should use a command-line with versioned package'" do
70
67
  @resource.stubs(:should).with(:ensure).returns "1.2.3-4.5.6"
71
68
  @resource.stubs(:allow_virtual?).returns false
@@ -86,7 +83,7 @@ describe provider_class do
86
83
  end
87
84
  end
88
85
 
89
- describe "when installing with zypper version = 0.6.13" do
86
+ context "when installing with zypper version = 0.6.13" do
90
87
  it "should use a command-line with versioned package'" do
91
88
  @resource.stubs(:should).with(:ensure).returns "1.2.3-4.5.6"
92
89
  @resource.stubs(:allow_virtual?).returns false
@@ -107,15 +104,16 @@ describe provider_class do
107
104
  end
108
105
  end
109
106
 
110
- describe "when updating" do
107
+ context "when updating" do
111
108
  it "should call install method of instance" do
112
109
  @provider.expects(:install)
113
110
  @provider.update
114
111
  end
115
112
  end
116
113
 
117
- describe "when getting latest version" do
118
- after do described_class.reset! end
114
+ context "when getting latest version" do
115
+ after { described_class.reset! }
116
+
119
117
  context "when the package has available update" do
120
118
  it "should return a version string with valid list-updates data from SLES11sp1" do
121
119
  fake_data = File.read(my_fixture('zypper-list-updates-SLES11sp1.out'))
@@ -144,7 +142,7 @@ describe provider_class do
144
142
  end
145
143
  end
146
144
 
147
- describe "should install a virtual package" do
145
+ context "should install a virtual package" do
148
146
  it "when zypper version = 0.6.13" do
149
147
  @resource.stubs(:should).with(:ensure).returns :installed
150
148
  @resource.stubs(:allow_virtual?).returns true
@@ -164,7 +162,7 @@ describe provider_class do
164
162
  end
165
163
  end
166
164
 
167
- describe "when installing with zypper install options" do
165
+ context "when installing with zypper install options" do
168
166
  it "should install the package without checking keys" do
169
167
  @resource.stubs(:[]).with(:name).returns "php5"
170
168
  @resource.stubs(:[]).with(:install_options).returns ['--no-gpg-check', {'-p' => '/vagrant/files/localrepo/'}]
@@ -215,7 +213,7 @@ describe provider_class do
215
213
  end
216
214
  end
217
215
 
218
- describe 'when uninstalling' do
216
+ context 'when uninstalling' do
219
217
  it 'should use remove to uninstall on zypper version 1.6 and above' do
220
218
  @provider.stubs(:zypper_version).returns '1.6.308'
221
219
  @provider.expects(:zypper).with(:remove, '--no-confirm', 'mypackage')
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  describe 'Puppet::Type::Service::Provider::Bsd',
6
4
  :unless => Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
7
-
8
5
  let(:provider_class) { Puppet::Type.type(:service).provider(:bsd) }
6
+
9
7
  before :each do
10
8
  Puppet::Type.type(:service).stubs(:defaultprovider).returns provider_class
11
9
  Facter.stubs(:value).with(:operatingsystem).returns :netbsd
@@ -15,7 +13,7 @@ describe 'Puppet::Type::Service::Provider::Bsd',
15
13
  @provider.stubs(:initscript)
16
14
  end
17
15
 
18
- describe "#instances" do
16
+ context "#instances" do
19
17
  it "should have an instances method" do
20
18
  expect(provider_class).to respond_to :instances
21
19
  end
@@ -25,7 +23,7 @@ describe 'Puppet::Type::Service::Provider::Bsd',
25
23
  end
26
24
  end
27
25
 
28
- describe "#disable" do
26
+ context "#disable" do
29
27
  it "should have a disable method" do
30
28
  expect(@provider).to respond_to(:disable)
31
29
  end
@@ -46,7 +44,7 @@ describe 'Puppet::Type::Service::Provider::Bsd',
46
44
  end
47
45
  end
48
46
 
49
- describe "#enable" do
47
+ context "#enable" do
50
48
  it "should have an enable method" do
51
49
  expect(@provider).to respond_to(:enable)
52
50
  end
@@ -71,7 +69,7 @@ describe 'Puppet::Type::Service::Provider::Bsd',
71
69
  end
72
70
  end
73
71
 
74
- describe "#enabled?" do
72
+ context "#enabled?" do
75
73
  it "should have an enabled? method" do
76
74
  expect(@provider).to respond_to(:enabled?)
77
75
  end
@@ -91,7 +89,7 @@ describe 'Puppet::Type::Service::Provider::Bsd',
91
89
  end
92
90
  end
93
91
 
94
- describe "#startcmd" do
92
+ context "#startcmd" do
95
93
  it "should have a startcmd method" do
96
94
  expect(@provider).to respond_to(:startcmd)
97
95
  end
@@ -110,7 +108,7 @@ describe 'Puppet::Type::Service::Provider::Bsd',
110
108
  end
111
109
  end
112
110
 
113
- describe "#stopcmd" do
111
+ context "#stopcmd" do
114
112
  it "should have a stopcmd method" do
115
113
  expect(@provider).to respond_to(:stopcmd)
116
114
  end
@@ -1,12 +1,7 @@
1
- #! /usr/bin/env ruby
2
- #
3
- # Unit testing for the Daemontools service Provider
4
- #
5
- # author Brice Figureau
6
- #
7
1
  require 'spec_helper'
8
2
 
9
- describe 'Puppet::Type::Service::Provider::Daemontools', unless: Puppet::Util::Platform.jruby? do
3
+ describe 'Puppet::Type::Service::Provider::Daemontools',
4
+ unless: Puppet::Util::Platform.jruby? do
10
5
  let(:provider_class) { Puppet::Type.type(:service).provider(:daemontools) }
11
6
 
12
7
  before(:each) do
@@ -62,7 +57,7 @@ describe 'Puppet::Type::Service::Provider::Daemontools', unless: Puppet::Util::P
62
57
  expect(@provider).to respond_to(:disable)
63
58
  end
64
59
 
65
- describe "when starting" do
60
+ context "when starting" do
66
61
  it "should use 'svc' to start the service" do
67
62
  @provider.stubs(:enabled?).returns :true
68
63
  @provider.expects(:svc).with("-u", "/etc/service/myservice")
@@ -80,7 +75,7 @@ describe 'Puppet::Type::Service::Provider::Daemontools', unless: Puppet::Util::P
80
75
  end
81
76
  end
82
77
 
83
- describe "when stopping" do
78
+ context "when stopping" do
84
79
  it "should use 'svc' to stop the service" do
85
80
  @provider.stubs(:disable)
86
81
  @provider.expects(:svc).with("-d", "/etc/service/myservice")
@@ -89,7 +84,7 @@ describe 'Puppet::Type::Service::Provider::Daemontools', unless: Puppet::Util::P
89
84
  end
90
85
  end
91
86
 
92
- describe "when restarting" do
87
+ context "when restarting" do
93
88
  it "should use 'svc' to restart the service" do
94
89
  @provider.expects(:svc).with("-t", "/etc/service/myservice")
95
90
 
@@ -97,7 +92,7 @@ describe 'Puppet::Type::Service::Provider::Daemontools', unless: Puppet::Util::P
97
92
  end
98
93
  end
99
94
 
100
- describe "when enabling" do
95
+ context "when enabling" do
101
96
  it "should create a symlink between daemon dir and service dir", :if => Puppet.features.manages_symlinks? do
102
97
  daemon_path = File.join(@daemondir, "myservice")
103
98
  service_path = File.join(@servicedir, "myservice")
@@ -108,7 +103,7 @@ describe 'Puppet::Type::Service::Provider::Daemontools', unless: Puppet::Util::P
108
103
  end
109
104
  end
110
105
 
111
- describe "when disabling" do
106
+ context "when disabling" do
112
107
  it "should remove the symlink between daemon dir and service dir" do
113
108
  FileTest.stubs(:directory?).returns(false)
114
109
  path = File.join(@servicedir,"myservice")
@@ -127,7 +122,7 @@ describe 'Puppet::Type::Service::Provider::Daemontools', unless: Puppet::Util::P
127
122
  end
128
123
  end
129
124
 
130
- describe "when checking if the service is enabled?" do
125
+ context "when checking if the service is enabled?" do
131
126
  it "should return true if it is running" do
132
127
  @provider.stubs(:status).returns(:running)
133
128
 
@@ -145,26 +140,27 @@ describe 'Puppet::Type::Service::Provider::Daemontools', unless: Puppet::Util::P
145
140
  end
146
141
  end
147
142
 
148
- describe "when checking status" do
143
+ context "when checking status" do
149
144
  it "should call the external command 'svstat /etc/service/myservice'" do
150
145
  @provider.expects(:svstat).with(File.join(@servicedir,"myservice"))
151
146
  @provider.status
152
147
  end
153
148
  end
154
149
 
155
- describe "when checking status" do
150
+ context "when checking status" do
156
151
  it "and svstat fails, properly raise a Puppet::Error" do
157
152
  @provider.expects(:svstat).with(File.join(@servicedir,"myservice")).raises(Puppet::ExecutionFailure, "failure")
158
153
  expect { @provider.status }.to raise_error(Puppet::Error, 'Could not get status for service Service[myservice]: failure')
159
154
  end
155
+
160
156
  it "and svstat returns up, then return :running" do
161
157
  @provider.expects(:svstat).with(File.join(@servicedir,"myservice")).returns("/etc/service/myservice: up (pid 454) 954326 seconds")
162
158
  expect(@provider.status).to eq(:running)
163
159
  end
160
+
164
161
  it "and svstat returns not running, then return :stopped" do
165
162
  @provider.expects(:svstat).with(File.join(@servicedir,"myservice")).returns("/etc/service/myservice: supervise not running")
166
163
  expect(@provider.status).to eq(:stopped)
167
164
  end
168
165
  end
169
-
170
166
  end