3 describe 'apache::vhost', :type => :define do
5 'class { "apache": default_vhost => false, default_mods => false, vhost_enable_dir => "/etc/apache2/sites-enabled"}'
10 let :default_params do
12 :docroot => '/rspec/docroot',
16 describe 'os-dependent items' do
17 context "on RedHat based systems" do
20 :osfamily => 'RedHat',
21 :operatingsystemrelease => '6',
22 :concat_basedir => '/dne',
23 :operatingsystem => 'RedHat',
26 :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
30 let :params do default_params end
31 let :facts do default_facts end
32 it { is_expected.to contain_class("apache") }
33 it { is_expected.to contain_class("apache::params") }
35 context "on Debian based systems" do
38 :osfamily => 'Debian',
39 :operatingsystemrelease => '6',
40 :concat_basedir => '/dne',
41 :lsbdistcodename => 'squeeze',
42 :operatingsystem => 'Debian',
45 :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
49 let :params do default_params end
50 let :facts do default_facts end
51 it { is_expected.to contain_class("apache") }
52 it { is_expected.to contain_class("apache::params") }
53 it { is_expected.to contain_file("25-rspec.example.com.conf").with(
55 :path => '/etc/apache2/sites-available/25-rspec.example.com.conf'
57 it { is_expected.to contain_file("25-rspec.example.com.conf symlink").with(
59 :path => '/etc/apache2/sites-enabled/25-rspec.example.com.conf',
60 :target => '/etc/apache2/sites-available/25-rspec.example.com.conf'
63 context "on FreeBSD systems" do
66 :osfamily => 'FreeBSD',
67 :operatingsystemrelease => '9',
68 :concat_basedir => '/dne',
69 :operatingsystem => 'FreeBSD',
72 :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
76 let :params do default_params end
77 let :facts do default_facts end
78 it { is_expected.to contain_class("apache") }
79 it { is_expected.to contain_class("apache::params") }
80 it { is_expected.to contain_file("25-rspec.example.com.conf").with(
82 :path => '/usr/local/etc/apache24/Vhosts/25-rspec.example.com.conf'
85 context "on Gentoo systems" do
88 :osfamily => 'Gentoo',
89 :operatingsystem => 'Gentoo',
90 :operatingsystemrelease => '3.16.1-gentoo',
91 :concat_basedir => '/dne',
94 :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin',
98 let :params do default_params end
99 let :facts do default_facts end
100 it { is_expected.to contain_class("apache") }
101 it { is_expected.to contain_class("apache::params") }
102 it { is_expected.to contain_file("25-rspec.example.com.conf").with(
103 :ensure => 'present',
104 :path => '/etc/apache2/vhosts.d/25-rspec.example.com.conf'
108 describe 'os-independent items' do
111 :osfamily => 'Debian',
112 :operatingsystemrelease => '6',
113 :concat_basedir => '/dne',
114 :lsbdistcodename => 'squeeze',
115 :operatingsystem => 'Debian',
118 :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
122 describe 'basic assumptions' do
123 let :params do default_params end
124 it { is_expected.to contain_class("apache") }
125 it { is_expected.to contain_class("apache::params") }
126 it { is_expected.to contain_apache__listen(params[:port]) }
127 it { is_expected.to contain_apache__namevirtualhost("*:#{params[:port]}") }
129 context 'set everything!' do
132 'docroot' => '/var/www/foo',
133 'manage_docroot' => false,
134 'virtual_docroot' => true,
138 'add_listen' => false,
139 'docroot_owner' => 'user',
140 'docroot_group' => 'wheel',
141 'docroot_mode' => '0664',
142 'serveradmin' => 'foo@localhost',
144 'ssl_cert' => '/ssl/cert',
145 'ssl_key' => '/ssl/key',
146 'ssl_chain' => '/ssl/chain',
147 'ssl_crl_path' => '/ssl/crl',
148 'ssl_crl' => 'foo.crl',
149 'ssl_certs_dir' => '/ssl/certs',
150 'ssl_protocol' => 'SSLv2',
151 'ssl_cipher' => 'HIGH',
152 'ssl_honorcipherorder' => 'Off',
153 'ssl_verify_client' => 'optional',
154 'ssl_verify_depth' => '3',
155 'ssl_options' => '+ExportCertData',
156 'ssl_proxyengine' => true,
158 'default_vhost' => true,
159 'servername' => 'example.com',
160 'serveraliases' => ['test-example.com'],
161 'options' => ['MultiView'],
162 'override' => ['All'],
163 'directoryindex' => 'index.html',
164 'vhost_name' => 'test',
165 'logroot' => '/var/www/logs',
166 'logroot_ensure' => 'directory',
167 'logroot_mode' => '0600',
168 'log_level' => 'crit',
169 'access_log' => false,
170 'access_log_file' => 'httpd_access_log',
171 'access_log_syslog' => true,
172 'access_log_format' => '%h %l %u %t \"%r\" %>s %b',
173 'access_log_env_var' => '',
174 'aliases' => '/image',
177 'path' => '/var/www/files',
178 'provider' => 'files',
179 'require' => [ 'valid-user', 'all denied', ],
182 'path' => '/var/www/files',
183 'provider' => 'files',
184 'require' => 'all granted',
186 { 'path' => '/var/www/files/indexed_directory',
187 'directoryindex' => 'disabled',
188 'options' => ['Indexes','FollowSymLinks','MultiViews'],
189 'index_options' => ['FancyIndexing'],
190 'index_style_sheet' => '/styles/style.css',
193 'error_log' => false,
194 'error_log_file' => 'httpd_error_log',
195 'error_log_syslog' => true,
196 'error_documents' => 'true',
197 'fallbackresource' => '/index.php',
198 'scriptalias' => '/usr/lib/cgi-bin',
201 'alias' => '/myscript',
202 'path' => '/usr/share/myscript',
205 'aliasmatch' => '^/foo(.*)',
206 'path' => '/usr/share/fooscripts$1',
213 'url' => 'http://backend-a/',
214 'keywords' => ['noquery', 'interpolate'],
219 'setenv' => ['proxy-nokeepalive 1','force-proxy-request-1.0 1'],
222 'proxy_pass_match' => [
225 'url' => 'http://backend-a/',
226 'keywords' => ['noquery', 'interpolate'],
231 'setenv' => ['proxy-nokeepalive 1','force-proxy-request-1.0 1'],
234 'suphp_addhandler' => 'foo',
235 'suphp_engine' => 'on',
236 'suphp_configpath' => '/var/www/html',
237 'php_admin_flags' => ['foo', 'bar'],
238 'php_admin_values' => ['true', 'false'],
239 'no_proxy_uris' => '/foo',
240 'no_proxy_uris_match' => '/foomatch',
241 'proxy_preserve_host' => true,
242 'proxy_error_override' => true,
243 'redirect_source' => '/bar',
244 'redirect_dest' => '/',
245 'redirect_status' => 'temp',
246 'redirectmatch_status' => ['404'],
247 'redirectmatch_regexp' => ['\.git$'],
248 'redirectmatch_dest' => ['http://www.example.com'],
249 'rack_base_uris' => ['/rackapp1'],
250 'headers' => 'Set X-Robots-Tag "noindex, noarchive, nosnippet"',
251 'request_headers' => ['append MirrorID "mirror 12"'],
254 'rewrite_rule' => ['^index\.html$ welcome.html']
257 'rewrite_base' => '/',
258 'rewrite_rule' => '^index\.html$ welcome.html',
259 'rewrite_cond' => '%{HTTP_USER_AGENT} ^MSIE',
260 'setenv' => ['FOO=/bin/true'],
261 'setenvif' => 'Request_URI "\.gif$" object_is_image=gif',
263 'wsgi_application_group' => '%{GLOBAL}',
264 'wsgi_daemon_process' => 'wsgi',
265 'wsgi_daemon_process_options' => {
268 'display-name' => '%{GROUP}',
270 'wsgi_import_script' => '/var/www/demo.wsgi',
271 'wsgi_import_script_options' => {
272 'process-group' => 'wsgi',
273 'application-group' => '%{GLOBAL}'
275 'wsgi_process_group' => 'wsgi',
276 'wsgi_script_aliases' => {
277 '/' => '/var/www/demo.wsgi'
279 'wsgi_pass_authorization' => 'On',
280 'custom_fragment' => '#custom string',
282 'user' => 'someuser',
283 'group' => 'somegroup'
285 'wsgi_chunked_request' => 'On',
287 'fastcgi_server' => 'localhost',
288 'fastcgi_socket' => '/tmp/fastcgi.socket',
289 'fastcgi_dir' => '/tmp',
290 'additional_includes' => '/custom/path/includes',
291 'apache_version' => '2.4',
292 'suexec_user_group' => 'root root',
293 'allow_encoded_slashes' => 'nodecode',
294 'passenger_app_root' => '/usr/share/myapp',
295 'passenger_app_env' => 'test',
296 'passenger_ruby' => '/usr/bin/ruby1.9.1',
297 'passenger_min_instances' => '1',
298 'passenger_start_timeout' => '600',
299 'passenger_pre_start' => 'http://localhost/myapp',
300 'add_default_charset' => 'UTF-8',
305 :osfamily => 'RedHat',
306 :operatingsystemrelease => '7',
307 :concat_basedir => '/dne',
308 :operatingsystem => 'RedHat',
311 :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
312 :kernelversion => '3.6.2',
317 it { is_expected.to compile }
318 it { is_expected.to_not contain_file('/var/www/foo') }
319 it { is_expected.to contain_class('apache::mod::ssl') }
320 it { is_expected.to contain_file('ssl.conf').with(
321 :content => /^\s+SSLHonorCipherOrder On$/ ) }
322 it { is_expected.to contain_file('ssl.conf').with(
323 :content => /^\s+SSLPassPhraseDialog builtin$/ ) }
324 it { is_expected.to contain_file('ssl.conf').with(
325 :content => /^\s+SSLSessionCacheTimeout 300$/ ) }
326 it { is_expected.to contain_class('apache::mod::mime') }
327 it { is_expected.to contain_class('apache::mod::vhost_alias') }
328 it { is_expected.to contain_class('apache::mod::wsgi') }
329 it { is_expected.to contain_class('apache::mod::suexec') }
330 it { is_expected.to contain_class('apache::mod::passenger') }
331 it { is_expected.to contain_file('/var/www/logs').with({
332 'ensure' => 'directory',
336 it { is_expected.to contain_class('apache::mod::rewrite') }
337 it { is_expected.to contain_class('apache::mod::alias') }
338 it { is_expected.to contain_class('apache::mod::proxy') }
339 it { is_expected.to contain_class('apache::mod::proxy_http') }
340 it { is_expected.to contain_class('apache::mod::passenger') }
341 it { is_expected.to contain_class('apache::mod::passenger') }
342 it { is_expected.to contain_class('apache::mod::fastcgi') }
343 it { is_expected.to contain_class('apache::mod::headers') }
344 it { is_expected.to contain_class('apache::mod::setenvif') }
345 it { is_expected.to contain_concat('30-rspec.example.com.conf').with({
348 'require' => 'Package[httpd]',
349 'notify' => 'Class[Apache::Service]',
352 it { is_expected.to contain_file('30-rspec.example.com.conf symlink').with({
354 'path' => '/etc/apache2/sites-enabled/30-rspec.example.com.conf',
357 it { is_expected.to contain_concat__fragment('rspec.example.com-apache-header') }
358 it { is_expected.to contain_concat__fragment('rspec.example.com-docroot') }
359 it { is_expected.to contain_concat__fragment('rspec.example.com-aliases') }
360 it { is_expected.to contain_concat__fragment('rspec.example.com-itk') }
361 it { is_expected.to contain_concat__fragment('rspec.example.com-fallbackresource') }
362 it { is_expected.to contain_concat__fragment('rspec.example.com-directories') }
363 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
364 :content => /^\s+Require valid-user$/ ) }
365 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
366 :content => /^\s+Require all denied$/ ) }
367 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
368 :content => /^\s+Require all granted$/ ) }
369 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
370 :content => /^\s+Options\sIndexes\sFollowSymLinks\sMultiViews$/ ) }
371 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
372 :content => /^\s+IndexOptions\sFancyIndexing$/ ) }
373 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
374 :content => /^\s+IndexStyleSheet\s'\/styles\/style\.css'$/ ) }
375 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
376 :content => /^\s+DirectoryIndex\sdisabled$/ ) }
377 it { is_expected.to contain_concat__fragment('rspec.example.com-additional_includes') }
378 it { is_expected.to contain_concat__fragment('rspec.example.com-logging') }
379 it { is_expected.to contain_concat__fragment('rspec.example.com-serversignature') }
380 it { is_expected.to_not contain_concat__fragment('rspec.example.com-access_log') }
381 it { is_expected.to contain_concat__fragment('rspec.example.com-action') }
382 it { is_expected.to contain_concat__fragment('rspec.example.com-block') }
383 it { is_expected.to contain_concat__fragment('rspec.example.com-error_document') }
384 it { is_expected.to contain_concat__fragment('rspec.example.com-proxy').with_content(
386 it { is_expected.to contain_concat__fragment('rspec.example.com-proxy').with_content(
388 it { is_expected.to contain_concat__fragment('rspec.example.com-proxy').with_content(
389 /SetEnv force-proxy-request-1.0 1/) }
390 it { is_expected.to contain_concat__fragment('rspec.example.com-proxy').with_content(
391 /SetEnv proxy-nokeepalive 1/) }
392 it { is_expected.to contain_concat__fragment('rspec.example.com-proxy').with_content(
393 /noquery interpolate/) }
394 it { is_expected.to contain_concat__fragment('rspec.example.com-rack') }
395 it { is_expected.to contain_concat__fragment('rspec.example.com-redirect') }
396 it { is_expected.to contain_concat__fragment('rspec.example.com-rewrite') }
397 it { is_expected.to contain_concat__fragment('rspec.example.com-scriptalias') }
398 it { is_expected.to contain_concat__fragment('rspec.example.com-serveralias') }
399 it { is_expected.to contain_concat__fragment('rspec.example.com-setenv') }
400 it { is_expected.to contain_concat__fragment('rspec.example.com-ssl') }
401 it { is_expected.to contain_concat__fragment('rspec.example.com-suphp') }
402 it { is_expected.to contain_concat__fragment('rspec.example.com-php_admin') }
403 it { is_expected.to contain_concat__fragment('rspec.example.com-header') }
404 it { is_expected.to contain_concat__fragment('rspec.example.com-requestheader') }
405 it { is_expected.to contain_concat__fragment('rspec.example.com-wsgi') }
406 it { is_expected.to contain_concat__fragment('rspec.example.com-custom_fragment') }
407 it { is_expected.to contain_concat__fragment('rspec.example.com-fastcgi') }
408 it { is_expected.to contain_concat__fragment('rspec.example.com-suexec') }
409 it { is_expected.to contain_concat__fragment('rspec.example.com-allow_encoded_slashes') }
410 it { is_expected.to contain_concat__fragment('rspec.example.com-passenger') }
411 it { is_expected.to contain_concat__fragment('rspec.example.com-charsets') }
412 it { is_expected.to contain_concat__fragment('rspec.example.com-file_footer') }
414 context 'not everything can be set together...' do
417 'access_log_pipe' => '/dev/null',
418 'error_log_pipe' => '/dev/null',
419 'docroot' => '/var/www/foo',
420 'ensure' => 'absent',
421 'manage_docroot' => true,
422 'logroot' => '/tmp/logroot',
423 'logroot_ensure' => 'absent',
426 'path' => '/var/www/files',
427 'provider' => 'files',
428 'allow' => [ 'from 127.0.0.1', 'from 127.0.0.2', ],
429 'deny' => [ 'from 127.0.0.3', 'from 127.0.0.4', ],
433 'path' => '/var/www/foo',
434 'provider' => 'files',
435 'allow' => 'from 127.0.0.5',
436 'deny' => 'from all',
437 'order' => 'deny,allow',
445 :osfamily => 'RedHat',
446 :operatingsystemrelease => '6',
447 :concat_basedir => '/dne',
448 :operatingsystem => 'RedHat',
451 :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
452 :kernelversion => '3.6.2',
457 it { is_expected.to compile }
458 it { is_expected.to_not contain_class('apache::mod::ssl') }
459 it { is_expected.to_not contain_class('apache::mod::mime') }
460 it { is_expected.to_not contain_class('apache::mod::vhost_alias') }
461 it { is_expected.to_not contain_class('apache::mod::wsgi') }
462 it { is_expected.to_not contain_class('apache::mod::passenger') }
463 it { is_expected.to_not contain_class('apache::mod::suexec') }
464 it { is_expected.to_not contain_class('apache::mod::rewrite') }
465 it { is_expected.to_not contain_class('apache::mod::alias') }
466 it { is_expected.to_not contain_class('apache::mod::proxy') }
467 it { is_expected.to_not contain_class('apache::mod::proxy_http') }
468 it { is_expected.to_not contain_class('apache::mod::passenger') }
469 it { is_expected.to_not contain_class('apache::mod::headers') }
470 it { is_expected.to contain_file('/var/www/foo') }
471 it { is_expected.to contain_file('/tmp/logroot').with({
472 'ensure' => 'absent',
475 it { is_expected.to contain_concat('25-rspec.example.com.conf').with({
476 'ensure' => 'absent',
479 it { is_expected.to contain_concat__fragment('rspec.example.com-apache-header') }
480 it { is_expected.to contain_concat__fragment('rspec.example.com-docroot') }
481 it { is_expected.to_not contain_concat__fragment('rspec.example.com-aliases') }
482 it { is_expected.to_not contain_concat__fragment('rspec.example.com-itk') }
483 it { is_expected.to_not contain_concat__fragment('rspec.example.com-fallbackresource') }
484 it { is_expected.to contain_concat__fragment('rspec.example.com-directories') }
485 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
486 :content => /^\s+Allow from 127\.0\.0\.1$/ ) }
487 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
488 :content => /^\s+Allow from 127\.0\.0\.2$/ ) }
489 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
490 :content => /^\s+Allow from 127\.0\.0\.5$/ ) }
491 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
492 :content => /^\s+Deny from 127\.0\.0\.3$/ ) }
493 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
494 :content => /^\s+Deny from 127\.0\.0\.4$/ ) }
495 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
496 :content => /^\s+Deny from all$/ ) }
497 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
498 :content => /^\s+Satisfy any$/ ) }
499 it { is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
500 :content => /^\s+Order deny,allow$/ ) }
501 it { is_expected.to_not contain_concat__fragment('rspec.example.com-additional_includes') }
502 it { is_expected.to contain_concat__fragment('rspec.example.com-logging') }
503 it { is_expected.to contain_concat__fragment('rspec.example.com-serversignature') }
504 it { is_expected.to contain_concat__fragment('rspec.example.com-access_log') }
505 it { is_expected.to_not contain_concat__fragment('rspec.example.com-action') }
506 it { is_expected.to_not contain_concat__fragment('rspec.example.com-block') }
507 it { is_expected.to_not contain_concat__fragment('rspec.example.com-error_document') }
508 it { is_expected.to_not contain_concat__fragment('rspec.example.com-proxy') }
509 it { is_expected.to_not contain_concat__fragment('rspec.example.com-rack') }
510 it { is_expected.to_not contain_concat__fragment('rspec.example.com-redirect') }
511 it { is_expected.to_not contain_concat__fragment('rspec.example.com-rewrite') }
512 it { is_expected.to_not contain_concat__fragment('rspec.example.com-scriptalias') }
513 it { is_expected.to_not contain_concat__fragment('rspec.example.com-serveralias') }
514 it { is_expected.to_not contain_concat__fragment('rspec.example.com-setenv') }
515 it { is_expected.to_not contain_concat__fragment('rspec.example.com-ssl') }
516 it { is_expected.to_not contain_concat__fragment('rspec.example.com-suphp') }
517 it { is_expected.to_not contain_concat__fragment('rspec.example.com-php_admin') }
518 it { is_expected.to_not contain_concat__fragment('rspec.example.com-header') }
519 it { is_expected.to_not contain_concat__fragment('rspec.example.com-requestheader') }
520 it { is_expected.to_not contain_concat__fragment('rspec.example.com-wsgi') }
521 it { is_expected.to_not contain_concat__fragment('rspec.example.com-custom_fragment') }
522 it { is_expected.to_not contain_concat__fragment('rspec.example.com-fastcgi') }
523 it { is_expected.to_not contain_concat__fragment('rspec.example.com-suexec') }
524 it { is_expected.to_not contain_concat__fragment('rspec.example.com-charsets') }
525 it { is_expected.to contain_concat__fragment('rspec.example.com-file_footer') }
528 describe 'access logs' do
531 :osfamily => 'RedHat',
532 :operatingsystemrelease => '6',
533 :concat_basedir => '/dne',
534 :operatingsystem => 'RedHat',
537 :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
541 context 'single log file' do
544 'docroot' => '/rspec/docroot',
545 'access_log_file' => 'my_log_file',
548 it { is_expected.to contain_concat__fragment('rspec.example.com-access_log').with(
549 :content => /^\s+CustomLog.*my_log_file" combined\s*$/
552 context 'single log file with environment' do
555 'docroot' => '/rspec/docroot',
556 'access_log_file' => 'my_log_file',
557 'access_log_env_var' => 'prod'
560 it { is_expected.to contain_concat__fragment('rspec.example.com-access_log').with(
561 :content => /^\s+CustomLog.*my_log_file" combined\s+env=prod$/
564 context 'multiple log files' do
567 'docroot' => '/rspec/docroot',
569 { 'file' => '/tmp/log1', 'env' => 'dev' },
570 { 'file' => 'log2' },
571 { 'syslog' => 'syslog', 'format' => '%h %l' }
575 it { is_expected.to contain_concat__fragment('rspec.example.com-access_log').with(
576 :content => /^\s+CustomLog "\/tmp\/log1"\s+combined\s+env=dev$/
578 it { is_expected.to contain_concat__fragment('rspec.example.com-access_log').with(
579 :content => /^\s+CustomLog "\/var\/log\/httpd\/log2"\s+combined\s*$/
581 it { is_expected.to contain_concat__fragment('rspec.example.com-access_log').with(
582 :content => /^\s+CustomLog "syslog" "%h %l"\s*$/
586 describe 'validation' do
587 context 'bad ensure' do
590 'docroot' => '/rspec/docroot',
594 let :facts do default_facts end
595 it { expect { is_expected.to compile }.to raise_error }
597 context 'bad suphp_engine' do
600 'docroot' => '/rspec/docroot',
601 'suphp_engine' => 'bogus',
604 let :facts do default_facts end
605 it { expect { is_expected.to compile }.to raise_error }
607 context 'bad ip_based' do
610 'docroot' => '/rspec/docroot',
611 'ip_based' => 'bogus',
614 let :facts do default_facts end
615 it { expect { is_expected.to compile }.to raise_error }
617 context 'bad access_log' do
620 'docroot' => '/rspec/docroot',
621 'access_log' => 'bogus',
624 let :facts do default_facts end
625 it { expect { is_expected.to compile }.to raise_error }
627 context 'bad error_log' do
630 'docroot' => '/rspec/docroot',
631 'error_log' => 'bogus',
634 let :facts do default_facts end
635 it { expect { is_expected.to compile }.to raise_error }
640 'docroot' => '/rspec/docroot',
644 let :facts do default_facts end
645 it { expect { is_expected.to compile }.to raise_error }
647 context 'bad default_vhost' do
650 'docroot' => '/rspec/docroot',
651 'default_vhost' => 'bogus',
654 let :facts do default_facts end
655 it { expect { is_expected.to compile }.to raise_error }
657 context 'bad ssl_proxyengine' do
660 'docroot' => '/rspec/docroot',
661 'ssl_proxyengine' => 'bogus',
664 let :facts do default_facts end
665 it { expect { is_expected.to compile }.to raise_error }
667 context 'bad rewrites' do
670 'docroot' => '/rspec/docroot',
671 'rewrites' => 'bogus',
674 let :facts do default_facts end
675 it { expect { is_expected.to compile }.to raise_error }
677 context 'bad rewrites 2' do
680 'docroot' => '/rspec/docroot',
681 'rewrites' => ['bogus'],
684 let :facts do default_facts end
685 it { expect { is_expected.to compile }.to raise_error }
687 context 'bad suexec_user_group' do
690 'docroot' => '/rspec/docroot',
691 'suexec_user_group' => 'bogus',
694 let :facts do default_facts end
695 it { expect { is_expected.to compile }.to raise_error }
697 context 'bad wsgi_script_alias' do
700 'docroot' => '/rspec/docroot',
701 'wsgi_script_alias' => 'bogus',
704 let :facts do default_facts end
705 it { expect { is_expected.to compile }.to raise_error }
707 context 'bad wsgi_daemon_process_options' do
710 'docroot' => '/rspec/docroot',
711 'wsgi_daemon_process_options' => 'bogus',
714 let :facts do default_facts end
715 it { expect { is_expected.to compile }.to raise_error }
717 context 'bad wsgi_import_script_alias' do
720 'docroot' => '/rspec/docroot',
721 'wsgi_import_script_alias' => 'bogus',
724 let :facts do default_facts end
725 it { expect { is_expected.to compile }.to raise_error }
730 'docroot' => '/rspec/docroot',
734 let :facts do default_facts end
735 it { expect { is_expected.to compile }.to raise_error }
737 context 'bad logroot_ensure' do
740 'docroot' => '/rspec/docroot',
741 'log_level' => 'bogus',
744 let :facts do default_facts end
745 it { expect { is_expected.to compile }.to raise_error }
747 context 'bad log_level' do
750 'docroot' => '/rspec/docroot',
751 'log_level' => 'bogus',
754 let :facts do default_facts end
755 it { expect { is_expected.to compile }.to raise_error }
757 context 'access_log_file and access_log_pipe' do
760 'docroot' => '/rspec/docroot',
761 'access_log_file' => 'bogus',
762 'access_log_pipe' => 'bogus',
765 let :facts do default_facts end
766 it { expect { is_expected.to compile }.to raise_error }
768 context 'error_log_file and error_log_pipe' do
771 'docroot' => '/rspec/docroot',
772 'error_log_file' => 'bogus',
773 'error_log_pipe' => 'bogus',
776 let :facts do default_facts end
777 it { expect { is_expected.to compile }.to raise_error }
779 context 'bad fallbackresource' do
782 'docroot' => '/rspec/docroot',
783 'fallbackresource' => 'bogus',
786 let :facts do default_facts end
787 it { expect { is_expected.to compile }.to raise_error }
789 context 'bad custom_fragment' do
792 'docroot' => '/rspec/docroot',
793 'custom_fragment' => true,
796 let :facts do default_facts end
797 it { expect { is_expected.to compile }.to raise_error }
799 context 'bad access_logs' do
802 'docroot' => '/rspec/docroot',
803 'access_logs' => '/var/log/somewhere',
806 let :facts do default_facts end
807 it { expect { is_expected.to compile }.to raise_error }