Skip to content
This repository was archived by the owner on Oct 22, 2019. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .fixtures.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
fixtures:
repositories:
stdlib: "https://github.com/puppetlabs/puppetlabs-stdlib.git"
concat: "https://github.com/puppetlabs/puppetlabs-concat.git"
motd: "https://github.com/torian/puppet-motd.git"
6 changes: 3 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source :rubygems
source 'https://rubygems.org'

gem 'rake', '~> 0.8.7'
gem 'rake', '~> 10.3'
gem 'puppet', '~> 2.7'
gem 'rspec-puppet', '~> 0.1.6'
gem 'rspec-puppet', '~> 1.0.1'
gem 'puppetlabs_spec_helper', '~> 0.4.1'
35 changes: 0 additions & 35 deletions Gemfile.lock

This file was deleted.

13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,19 @@ TODO
the schemas specified by *index_inc*. It just adds an include to slapd
* Need support for extending ACLs

Run Tests
---------
To run the tests you need bundler (```apt-get install bundler``` or see http://bundler.io/).

Install needed gems with bundler:

bundler install --path=vendor

Run the tests with bundler:

bundler exec rake spec


CopyLeft
---------

Expand Down
10 changes: 3 additions & 7 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint/tasks/puppet-lint'

require 'rake'
require 'rspec/core/rake_task'

RSpec::Core::RakeTask.new(:spec) do |t|
t.pattern = 'spec/*/*_spec.rb'
t.rspec_opts = File.read("spec/spec.opts").chomp || ""
end
PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "vendor/**/*.pp"]
97 changes: 49 additions & 48 deletions spec/classes/ldap_client_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,62 +5,63 @@

describe 'ldap::client' do

oses.keys.each do |os|
oses.keys.each do |os|

describe "Running on #{os}" do
describe "Running on #{os}" do

let(:facts) { {
:osfamily => oses[os][:osfamily],
:operatingsystem => oses[os][:operatingsystem],
:operatingsystemmajrelease => oses[os][:operatingsystemmajrelease],
:architecture => oses[os][:architecture],
} }
let(:facts) { {
:osfamily => oses[os][:osfamily],
:operatingsystem => oses[os][:operatingsystem],
:operatingsystemmajrelease => oses[os][:operatingsystemmajrelease],
:architecture => oses[os][:architecture],
:concat_basedir => '/nonexistent',
} }

let(:params) { {
:uri => 'ldap://ldap.example.com',
:base => 'dc=suffix',
} }

it { should include_class('ldap::params') }
it { should contain_file(oses[os][:utils_cfg]) }
let(:params) { {
:uri => 'ldap://ldap.example.com',
:base => 'dc=suffix',
} }

context 'Motd disabled (default)' do
it { should_not contain_motd__register('ldap') }
end
context 'Motd enabled' do
let(:params) { {
:uri => 'ldap://ldap.example.com',
:base => 'dc=suffix',
:enable_motd => true
} }
it { should contain_motd__register('ldap') }
end
it { should contain_class('ldap::params') }
it { should contain_file(oses[os][:utils_cfg]) }

context 'SSL Enabled with certificate filename' do
let(:params) { {
:uri => 'ldap://ldap.example.com',
:base => 'dc=suffix',
:ssl => true,
:ssl_cert => oses[os][:ssl_cert],
} }
it { should contain_file("#{oses[os][:cacertdir]}/#{oses[os][:ssl_cert]}") }
end
context 'Motd disabled (default)' do
it { should_not contain_motd__register('ldap') }
end
context 'Motd enabled' do
let(:params) { {
:uri => 'ldap://ldap.example.com',
:base => 'dc=suffix',
:enable_motd => true
} }
it { should contain_motd__register('ldap') }
end

context 'SSL Enabled without certificate' do
let(:params) { {
:uri => 'ldap://ldap.example.com',
:base => 'dc=suffix',
:ssl => true,
} }
it { expect {
should contain_file("#{oses[os][:cacertdir]}/#{oses[os][:ssl_cert]}")
}.to raise_error(Puppet::Error, /^When ssl is.*/)
}
context 'SSL Enabled with certificate filename' do
let(:params) { {
:uri => 'ldap://ldap.example.com',
:base => 'dc=suffix',
:ssl => true,
:ssl_cert => oses[os][:ssl_cert],
} }
it { should contain_file("#{oses[os][:cacertdir]}/#{oses[os][:ssl_cert]}") }
end

end
context 'SSL Enabled without certificate' do
let(:params) { {
:uri => 'ldap://ldap.example.com',
:base => 'dc=suffix',
:ssl => true,
} }
it { expect {
should contain_file("#{oses[os][:cacertdir]}/#{oses[os][:ssl_cert]}")
}.to raise_error(Puppet::Error, /^When ssl is.*/)
}

end
end

end
end

end

end
91 changes: 46 additions & 45 deletions spec/classes/ldap_server_master_spec.rb
Original file line number Diff line number Diff line change
@@ -1,57 +1,58 @@

require 'spec_helper'

oses = @oses

describe 'ldap::server::master' do

oses.keys.each do |os|

describe "Running on #{os}" do

let(:facts) { {
:osfamily => oses[os][:osfamily],
:operatingsystem => oses[os][:operatingsystem],
:operatingsystemmajrelease => oses[os][:operatingsystemmajrelease],
:architecture => oses[os][:architecture],

describe "Running on #{os}" do

let(:facts) { {
:osfamily => oses[os][:osfamily],
:operatingsystem => oses[os][:operatingsystem],
:operatingsystemmajrelease => oses[os][:operatingsystemmajrelease],
:architecture => oses[os][:architecture],
:concat_basedir => '/nonexistent',
} }
let(:params) { {

let(:params) { {
:suffix => 'dc=example,dc=com',
:rootpw => 'asdqw',
} }
it { should include_class('ldap') }
it { should contain_service(oses[os][:service]) }
it { should contain_package(oses[os][:server_pkg]) }
it { should contain_file(oses[os][:server_cfg]) }

context 'Motd disabled (default)' do
it { should_not contain_motd__register('ldap::server::master') }
end
context 'Motd enabled' do
let(:params) { {
:suffix => 'dc=example,dc=com',
:rootpw => 'asdqw',
:enable_motd => true
} }
it { should contain_motd__register('ldap::server::master') }
end
end
end
describe "Running on unsupported OS" do
let(:facts) { { :osfamily => 'solaris' } }
let(:params) { {
:suffix => 'dc=example,dc=com',
:rootpw => 'asdqw',
} }
it {
expect {
should include_class('ldap')
}.to raise_error(Puppet::Error, /^Operating system.*/)
}
end

it { should contain_class('ldap') }
it { should contain_service(oses[os][:service]) }
it { should contain_package(oses[os][:server_pkg]) }
it { should contain_file(oses[os][:server_cfg]) }

context 'Motd disabled (default)' do
it { should_not contain_motd__register('ldap::server::master') }
end

context 'Motd enabled' do
let(:params) { {
:suffix => 'dc=example,dc=com',
:rootpw => 'asdqw',
:enable_motd => true
} }
it { should contain_motd__register('ldap::server::master') }
end
end
end

describe "Running on unsupported OS" do
let(:facts) { { :osfamily => 'solaris' } }
let(:params) { {
:suffix => 'dc=example,dc=com',
:rootpw => 'asdqw',
} }
it {
expect {
should contain_class('ldap')
}.to raise_error(Puppet::Error, /^Operating system.*/)
}
end

end
Loading