@@ -452,6 +452,25 @@ class { 'apache': }
452452 auth_require => 'valid-user',
453453 satisfy => 'Any',
454454 },
455+ {
456+ path => '/var/www/files/authz',
457+ auth_type => 'Basic',
458+ auth_name => 'Basic Auth',
459+ authz_core => {
460+ require_all => {
461+ require_any => {
462+ require => [
463+ '127.0.0.1'
464+ '10.10.10.10'
465+ ],
466+ require_all => {
467+ auth_user_file => ['/var/www/htpasswd'],
468+ require => ['valid-user'],
469+ },
470+ },
471+ }
472+ }
473+ },
455474 ],
456475 }
457476 file { '/var/www/files/foo':
@@ -463,6 +482,9 @@ class { 'apache': }
463482 file { '/var/www/files/baz':
464483 ensure => directory,
465484 }
485+ file { '/var/www/files/authz':
486+ ensure => directory,
487+ }
466488 file { '/var/www/files/foo/index.html':
467489 ensure => file,
468490 content => "Hello World\\ n",
@@ -475,6 +497,10 @@ class { 'apache': }
475497 ensure => file,
476498 content => "Hello World\\ n",
477499 }
500+ file { '/var/www/files/authz/index.html':
501+ ensure => file,
502+ content => "Hello World\\ n",
503+ }
478504 file { '/var/www/htpasswd':
479505 ensure => file,
480506 content => "login:IZ7jMcLSx0oQk", # "password" as password
@@ -499,6 +525,10 @@ class { 'apache': }
499525 expect ( result . stderr ) . to match ( %r{curl: \( 22\) The requested URL returned error: 401} )
500526 expect ( result . exit_code ) . to eq 22
501527 expect ( run_shell ( '/usr/bin/curl -sSf -u login:password files.example.net:80/baz/index.html' ) . stdout ) . to eq ( "Hello World\n " )
528+ result = run_shell ( '/usr/bin/curl -sSf files.example.net:80/authz/index.html' , expect_failures : true )
529+ expect ( result . stderr ) . to match ( %r{curl: \( 22\) The requested URL returned error: 401} )
530+ expect ( result . exit_code ) . to eq 22
531+ expect ( run_shell ( '/usr/bin/curl -sSf -u login:password files.example.net:80/authz/index.html' ) . stdout ) . to eq ( "Hello World\n " )
502532 end
503533 end
504534 end
0 commit comments