Skip to content

Commit 1726187

Browse files
authored
Merge pull request #526 from TuningYourCode/simplify-removal
Simplify php (extension) removal
2 parents 3c66d69 + 3a744a4 commit 1726187

2 files changed

Lines changed: 66 additions & 40 deletions

File tree

manifests/extension.pp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
# [*ensure*]
66
# The ensure of the package to install
7-
# Could be "latest", "installed" or a pinned version
7+
# Could be "present", "absent", "latest", "installed" or a pinned version
88
#
99
# [*package_prefix*]
1010
# Prefix to prepend to the package name for the package provider
@@ -71,7 +71,7 @@
7171
# Array of String or Hash options to pass to the provider.
7272
#
7373
define php::extension (
74-
String $ensure = 'installed',
74+
String $ensure = $php::ensure,
7575
Optional[Php::Provider] $provider = undef,
7676
Optional[String] $source = undef,
7777
Optional[String] $so_name = undef,

spec/classes/php_spec.rb

Lines changed: 64 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -25,42 +25,42 @@
2525
'php5-cli'
2626
end
2727
end
28-
php_fpm_ackage = case facts[:os]['name']
29-
when 'Debian'
30-
case facts[:os]['release']['major']
31-
when '9'
32-
'php7.0-fpm'
33-
else
34-
'php5-fpm'
35-
end
36-
when 'Ubuntu'
37-
case facts[:os]['release']['major']
38-
when '18.04'
39-
'php7.2-fpm'
40-
when '16.04'
41-
'php7.0-fpm'
42-
else
43-
'php5-fpm'
44-
end
45-
end
46-
php_dev_ackage = case facts[:os]['name']
47-
when 'Debian'
48-
case facts[:os]['release']['major']
49-
when '9'
50-
'php7.0-dev'
51-
else
52-
'php5-dev'
53-
end
54-
when 'Ubuntu'
55-
case facts[:os]['release']['major']
56-
when '18.04'
57-
'php7.2-dev'
58-
when '16.04'
59-
'php7.0-dev'
60-
else
61-
'php5-dev'
62-
end
63-
end
28+
php_fpm_package = case facts[:os]['name']
29+
when 'Debian'
30+
case facts[:os]['release']['major']
31+
when '9'
32+
'php7.0-fpm'
33+
else
34+
'php5-fpm'
35+
end
36+
when 'Ubuntu'
37+
case facts[:os]['release']['major']
38+
when '18.04'
39+
'php7.2-fpm'
40+
when '16.04'
41+
'php7.0-fpm'
42+
else
43+
'php5-fpm'
44+
end
45+
end
46+
php_dev_package = case facts[:os]['name']
47+
when 'Debian'
48+
case facts[:os]['release']['major']
49+
when '9'
50+
'php7.0-dev'
51+
else
52+
'php5-dev'
53+
end
54+
when 'Ubuntu'
55+
case facts[:os]['release']['major']
56+
when '18.04'
57+
'php7.2-dev'
58+
when '16.04'
59+
'php7.0-dev'
60+
else
61+
'php5-dev'
62+
end
63+
end
6464

6565
describe 'when called with no parameters' do
6666
case facts[:osfamily]
@@ -75,8 +75,8 @@
7575
it { is_expected.to contain_package('php-pear').with_ensure('present') }
7676
it { is_expected.to contain_class('php::composer') }
7777
it { is_expected.to contain_package(php_cli_package).with_ensure('present') }
78-
it { is_expected.to contain_package(php_fpm_ackage).with_ensure('present') }
79-
it { is_expected.to contain_package(php_dev_ackage).with_ensure('present') }
78+
it { is_expected.to contain_package(php_fpm_package).with_ensure('present') }
79+
it { is_expected.to contain_package(php_dev_package).with_ensure('present') }
8080
when 'Suse'
8181
it { is_expected.to contain_package('php5').with_ensure('present') }
8282
it { is_expected.to contain_package('php5-devel').with_ensure('present') }
@@ -90,6 +90,32 @@
9090
end
9191
end
9292

93+
describe 'when called with extensions' do
94+
let(:params) { { extensions: { xml: {} } } }
95+
96+
it { is_expected.to contain_php__extension('xml').with_ensure('present') }
97+
end
98+
99+
describe 'when called with ensure absent and extensions' do
100+
extensions = { xml: {} }
101+
let(:params) { { ensure: 'absent', extensions: extensions } }
102+
103+
it { is_expected.to contain_php__extension('xml').with_ensure('absent') }
104+
105+
case facts[:osfamily]
106+
when 'Debian'
107+
it { is_expected.to contain_package(php_cli_package).with_ensure('absent') }
108+
it { is_expected.to contain_package(php_fpm_package).with_ensure('absent') }
109+
it { is_expected.to contain_package(php_dev_package).with_ensure('absent') }
110+
when 'Suse'
111+
it { is_expected.to contain_package('php5').with_ensure('absent') }
112+
it { is_expected.to contain_package('php5-devel').with_ensure('absent') }
113+
when 'RedHat', 'CentOS'
114+
it { is_expected.to contain_package('php-cli').with_ensure('absent') }
115+
it { is_expected.to contain_package('php-common').with_ensure('absent') }
116+
end
117+
end
118+
93119
describe 'when called with package_prefix parameter' do
94120
package_prefix = 'myphp-'
95121
let(:params) { { package_prefix: package_prefix } }

0 commit comments

Comments
 (0)