eb31df40d6
Don't generate it anymore, and remove any existing file from people's systems
100 lines
3 KiB
Ruby
100 lines
3 KiB
Ruby
require 'spec_helper_system'
|
|
|
|
describe "nginx::resource::vhost define:" do
|
|
context 'new vhost on port 80' do
|
|
it 'should configure a nginx vhost' do
|
|
|
|
pp = "
|
|
class { 'nginx': }
|
|
nginx::resource::vhost { 'www.puppetlabs.com':
|
|
ensure => present,
|
|
www_root => '/var/www/www.puppetlabs.com',
|
|
}
|
|
host { 'www.puppetlabs.com': ip => '127.0.0.1', }
|
|
file { ['/var/www','/var/www/www.puppetlabs.com']: ensure => directory }
|
|
file { '/var/www/www.puppetlabs.com/index.html': ensure => file, content => 'Hello from www\n', }
|
|
"
|
|
|
|
puppet_apply(pp) do |r|
|
|
[0,2].should include r.exit_code
|
|
r.refresh
|
|
r.stderr.should be_empty
|
|
r.exit_code.should be_zero
|
|
end
|
|
end
|
|
|
|
describe file('/etc/nginx/sites-available/www.puppetlabs.com.conf') do
|
|
it { should be_file }
|
|
it { should contain "www.puppetlabs.com" }
|
|
end
|
|
|
|
describe file('/etc/nginx/sites-enabled/www.puppetlabs.com.conf') do
|
|
it { should be_linked_to '/etc/nginx/sites-available/www.puppetlabs.com.conf' }
|
|
end
|
|
|
|
describe service('nginx') do
|
|
it { should be_running }
|
|
end
|
|
|
|
it 'should answer to www.puppetlabs.com' do
|
|
shell("/usr/bin/curl http://www.puppetlabs.com:80") do |r|
|
|
r.stdout.should == "Hello from www\n"
|
|
r.exit_code.should be_zero
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'should run successfully with ssl' do
|
|
it 'should configure a nginx SSL vhost' do
|
|
|
|
pp = "
|
|
class { 'nginx': }
|
|
nginx::resource::vhost { 'www.puppetlabs.com':
|
|
ensure => present,
|
|
ssl => true,
|
|
ssl_cert => '/tmp/blah.cert',
|
|
ssl_key => '/tmp/blah.key',
|
|
www_root => '/var/www/www.puppetlabs.com',
|
|
}
|
|
host { 'www.puppetlabs.com': ip => '127.0.0.1', }
|
|
file { ['/var/www','/var/www/www.puppetlabs.com']: ensure => directory }
|
|
file { '/var/www/www.puppetlabs.com/index.html': ensure => file, content => 'Hello from www\n', }
|
|
"
|
|
|
|
puppet_apply(pp) do |r|
|
|
[0,2].should include r.exit_code
|
|
r.refresh
|
|
r.stderr.should be_empty
|
|
r.exit_code.should be_zero
|
|
end
|
|
end
|
|
|
|
describe file('/etc/nginx/sites-available/www.puppetlabs.com.conf') do
|
|
it { should be_file }
|
|
it { should contain "ssl on;" }
|
|
end
|
|
|
|
describe file('/etc/nginx/sites-enabled/www.puppetlabs.com.conf') do
|
|
it { should be_linked_to '/etc/nginx/sites-available/www.puppetlabs.com.conf' }
|
|
end
|
|
|
|
describe service('nginx') do
|
|
it { should be_running }
|
|
end
|
|
|
|
it 'should answer to http://www.puppetlabs.com' do
|
|
shell("/usr/bin/curl http://www.puppetlabs.com:80") do |r|
|
|
r.stdout.should == "Hello from www\n"
|
|
r.exit_code.should == 0
|
|
end
|
|
end
|
|
|
|
it 'should answer to https://www.puppetlabs.com' do
|
|
# use --insecure because it's a self-signed cert
|
|
shell("/usr/bin/curl --insecure https://www.puppetlabs.com:443") do |r|
|
|
r.stdout.should == "Hello from www\n"
|
|
r.exit_code.should == 0
|
|
end
|
|
end
|
|
end
|
|
end
|