Skip to content

Commit 9a168f3

Browse files
committed
Trying to fix tests
1 parent 5fc7ef8 commit 9a168f3

6 files changed

Lines changed: 69 additions & 163 deletions

File tree

environments/etc/manifests/site.pp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
node default {
22
class { 'datadog_agent':
33
api_key => 'somenonnullapikeythats32charlong',
4+
manage_install => false,
45
}
56
}

manifests/init.pp

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -437,27 +437,15 @@
437437
}
438438
}
439439

440-
# Start service
441-
if ($::operatingsystem == 'Windows') {
442-
if ($win_ensure == present) {
443-
service { $datadog_agent::params::service_name:
444-
ensure => $service_ensure,
445-
enable => $service_enable,
446-
require => Package[$datadog_agent::params::package_name]
440+
# Declare service
441+
if ($::operatingsystem != 'Windows' or $win_ensure != absent) {
442+
class { 'datadog_agent::service' :
443+
service_ensure => $service_ensure,
444+
service_enable => $service_enable,
445+
service_provider => $service_provider,
447446
}
448-
}
449-
} else {
450-
service { $datadog_agent::params::service_name:
451-
ensure => $service_ensure,
452-
enable => $service_enable,
453-
provider => $service_provider,
454-
hasstatus => false,
455-
pattern => 'dd-agent',
456-
require => Package[$datadog_agent::params::package_name],
457-
}
458447
}
459448

460-
461449
if ($::operatingsystem != 'Windows') {
462450
if ($dd_groups) {
463451
user { $dd_user:

manifests/service.pp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Class: datadog_agent::service
2+
#
3+
# This class declares the datadog-agent service
4+
#
5+
6+
class datadog_agent::service(
7+
$service_ensure = 'running',
8+
Boolean $service_enable = true,
9+
Optional[String] $service_provider = undef,
10+
) inherits datadog_agent::params {
11+
12+
if ($::operatingsystem == 'Windows') {
13+
service { $datadog_agent::params::service_name:
14+
ensure => $service_ensure,
15+
enable => $service_enable,
16+
require => Package[$datadog_agent::params::package_name]
17+
}
18+
} else {
19+
if $service_provider {
20+
service { $datadog_agent::params::service_name:
21+
ensure => $service_ensure,
22+
enable => $service_enable,
23+
provider => $service_provider,
24+
hasstatus => false,
25+
pattern => 'dd-agent',
26+
require => Package[$datadog_agent::params::package_name],
27+
}
28+
} else {
29+
service { $datadog_agent::params::service_name:
30+
ensure => $service_ensure,
31+
enable => $service_enable,
32+
hasstatus => false,
33+
pattern => 'dd-agent',
34+
require => Package[$datadog_agent::params::package_name],
35+
}
36+
}
37+
}
38+
39+
40+
}

spec/classes/datadog_agent_redhat_spec.rb

Lines changed: 1 addition & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -44,37 +44,13 @@
4444
is_expected.not_to contain_yumrepo('datadog6')
4545
end
4646
end
47-
context 'overriding provider' do
48-
let(:params) do
49-
{
50-
service_provider: 'upstart',
51-
agent_major_version: 5,
52-
}
53-
end
54-
55-
it do
56-
is_expected.to contain_service('datadog-agent')\
57-
.that_requires('package[datadog-agent]')
58-
end
59-
it do
60-
is_expected.to contain_service('datadog-agent').with(
61-
'provider' => 'upstart',
62-
'ensure' => 'running',
63-
)
64-
end
65-
end
66-
6747
# it should install the packages
6848
it do
6949
is_expected.to contain_package('datadog-agent')\
7050
.with_ensure('latest')
7151
end
7252

73-
# it should be able to start the service and enable the service by default
74-
it do
75-
is_expected.to contain_service('datadog-agent')\
76-
.that_requires('Package[datadog-agent]')
77-
end
53+
7854
end
7955

8056
context 'agent 6' do
@@ -115,37 +91,13 @@
11591
is_expected.not_to contain_yumrepo('datadog6')
11692
end
11793
end
118-
context 'overriding provider' do
119-
let(:params) do
120-
{
121-
service_provider: 'upstart',
122-
agent_major_version: 6,
123-
}
124-
end
125-
126-
it do
127-
is_expected.to contain_service('datadog-agent')\
128-
.that_requires('package[datadog-agent]')
129-
end
130-
it do
131-
is_expected.to contain_service('datadog-agent').with(
132-
'provider' => 'upstart',
133-
'ensure' => 'running',
134-
)
135-
end
136-
end
13794

13895
# it should install the packages
13996
it do
14097
is_expected.to contain_package('datadog-agent')\
14198
.with_ensure('latest')
14299
end
143100

144-
# it should be able to start the service and enable the service by default
145-
it do
146-
is_expected.to contain_service('datadog-agent')\
147-
.that_requires('Package[datadog-agent]')
148-
end
149101
end
150102

151103
context 'agent 7' do
@@ -187,36 +139,12 @@
187139
is_expected.not_to contain_yumrepo('datadog6')
188140
end
189141
end
190-
context 'overriding provider' do
191-
let(:params) do
192-
{
193-
service_provider: 'upstart',
194-
agent_major_version: 7,
195-
}
196-
end
197-
198-
it do
199-
is_expected.to contain_service('datadog-agent')\
200-
.that_requires('package[datadog-agent]')
201-
end
202-
it do
203-
is_expected.to contain_service('datadog-agent').with(
204-
'provider' => 'upstart',
205-
'ensure' => 'running',
206-
)
207-
end
208-
end
209142

210143
# it should install the packages
211144
it do
212145
is_expected.to contain_package('datadog-agent')\
213146
.with_ensure('latest')
214147
end
215148

216-
# it should be able to start the service and enable the service by default
217-
it do
218-
is_expected.to contain_service('datadog-agent')\
219-
.that_requires('Package[datadog-agent]')
220-
end
221149
end
222150
end

spec/classes/datadog_agent_spec.rb

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,27 @@
134134
end
135135
end
136136

137+
context 'service' do
138+
it do
139+
is_expected.to contain_service('datadog-agent').with('ensure' => 'running').that_requires('package[datadog-agent]')
140+
end
141+
end
142+
143+
context 'service overriding provider' do
144+
let(:params) do
145+
{
146+
service_provider: 'systemd',
147+
}
148+
end
149+
it do
150+
is_expected.to contain_service('datadog-agent').with(
151+
'provider' => 'systemd',
152+
'ensure' => 'running',
153+
)
154+
end
155+
end
156+
157+
137158
# Test all supported OSes
138159
context 'all supported operating systems' do
139160
ALL_OS.each do |operatingsystem|

spec/classes/datadog_agent_ubuntu_spec.rb

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -62,30 +62,6 @@
6262
.that_requires('exec[apt_update]')
6363
end
6464

65-
# it should be able to start the service and enable the service by default
66-
it do
67-
is_expected.to contain_service('datadog-agent')\
68-
.that_requires('package[datadog-agent]')
69-
end
70-
71-
context 'overriding provider' do
72-
let(:params) do
73-
{
74-
service_provider: 'upstart',
75-
}
76-
end
77-
78-
it do
79-
is_expected.to contain_service('datadog-agent')\
80-
.that_requires('package[datadog-agent]')
81-
end
82-
it do
83-
is_expected.to contain_service('datadog-agent').with(
84-
'provider' => 'upstart',
85-
'ensure' => 'running',
86-
)
87-
end
88-
end
8965
end
9066

9167
context 'agent 6' do
@@ -133,30 +109,6 @@
133109
.that_requires('exec[apt_update]')
134110
end
135111

136-
# it should be able to start the service and enable the service by default
137-
it do
138-
is_expected.to contain_service('datadog-agent')\
139-
.that_requires('package[datadog-agent]')
140-
end
141-
142-
context 'overriding provider' do
143-
let(:params) do
144-
{
145-
service_provider: 'upstart',
146-
}
147-
end
148-
149-
it do
150-
is_expected.to contain_service('datadog-agent')\
151-
.that_requires('package[datadog-agent]')
152-
end
153-
it do
154-
is_expected.to contain_service('datadog-agent').with(
155-
'provider' => 'upstart',
156-
'ensure' => 'running',
157-
)
158-
end
159-
end
160112
end
161113

162114
context 'agent 7' do
@@ -204,29 +156,5 @@
204156
.that_requires('exec[apt_update]')
205157
end
206158

207-
# it should be able to start the service and enable the service by default
208-
it do
209-
is_expected.to contain_service('datadog-agent')\
210-
.that_requires('package[datadog-agent]')
211-
end
212-
213-
context 'overriding provider' do
214-
let(:params) do
215-
{
216-
service_provider: 'upstart',
217-
}
218-
end
219-
220-
it do
221-
is_expected.to contain_service('datadog-agent')\
222-
.that_requires('package[datadog-agent]')
223-
end
224-
it do
225-
is_expected.to contain_service('datadog-agent').with(
226-
'provider' => 'upstart',
227-
'ensure' => 'running',
228-
)
229-
end
230-
end
231159
end
232160
end

0 commit comments

Comments
 (0)