Skip to content
This repository has been archived by the owner on Jul 21, 2021. It is now read-only.

Commit

Permalink
Merge pull request #3 from adamcrews/fix_spec
Browse files Browse the repository at this point in the history
Cleanup some spec tests, added coverage report
  • Loading branch information
adamcrews committed Aug 27, 2014
2 parents a9548a7 + 1cef6ee commit 127831c
Show file tree
Hide file tree
Showing 7 changed files with 75 additions and 17 deletions.
28 changes: 16 additions & 12 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
source ENV['GEM_SOURCE'] || "https://rubygems.org"
rspecversion = ENV.key?('RSPEC_VERSION') ? "= #{ENV['RSPEC_VERSION']}" : ['>= 2.9 ', '< 3.0.0']

group :development, :test do
gem 'rake', :require => false
gem 'rspec-puppet', :require => false
gem 'puppetlabs_spec_helper', :require => false
gem 'serverspec', :require => false
gem 'puppet-lint', :require => false
gem 'rspec', '< 2.99', :require => false
end
gem 'rake'
gem 'rspec', rspecversion
gem 'rspec-puppet', :git => 'https://github.com/rodjek/rspec-puppet.git'
gem 'rspec-puppet-utils'
gem 'parallel_tests'
gem 'puppet-lint'

gem 'puppetlabs_spec_helper'

#gem 'pry'
#gem 'serverspec'

if facterversion = ENV['FACTER_GEM_VERSION']
gem 'facter', facterversion, :require => false
gem 'facter', facterversion
else
gem 'facter', :require => false
gem 'facter', '< 2.0.0'
end

if puppetversion = ENV['PUPPET_GEM_VERSION']
gem 'puppet', puppetversion, :require => false
gem 'puppet', puppetversion
else
gem 'puppet', :require => false
gem 'puppet', '~> 3.6.0'
end

# vim:ft=ruby
4 changes: 1 addition & 3 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
require 'puppet-lint'
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint/tasks/puppet-lint'

PuppetLint.configuration.fail_on_warnings
PuppetLint.configuration.send('disable_80chars')
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
PuppetLint.configuration.send('disable_class_parameter_defaults')
PuppetLint.configuration.send('disable_documentation')
PuppetLint.configuration.send('disable_single_quote_string_with_variables')
PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp"]
1 change: 1 addition & 0 deletions spec/classes/coverage_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
at_exit { RSpec::Puppet::Coverage.report! }
3 changes: 3 additions & 0 deletions spec/classes/nessus_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@

let(:facts) {{ :osfamily => system }}

it { should contain_anchor('nessus::begin') }
it { should contain_class('nessus::params') }
it { should contain_class('nessus::install') }
it { should contain_class('nessus::config') }
it { should contain_class('nessus::service') }
it { should contain_anchor('nessus::end') }

describe "nessus::install on #{system}" do
let(:params) {{
Expand Down
8 changes: 6 additions & 2 deletions spec/defines/user_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
:user_base => '/tmp/foo',
}}

it { should contain_nessus__user('joebob') }

it { should contain_file("#{params[:user_base]}").with(
:ensure => 'directory',
:owner => 'root',
Expand Down Expand Up @@ -52,7 +54,8 @@
:admin => 'Im a string!'
}}
it do
expect{ should compile }.to raise_error(Puppet::Error)
should_not compile
#expect{ should compile }.to raise_error(Puppet::Error)
end
end
end
Expand All @@ -77,7 +80,8 @@
}}

it do
expect{ should compile }.to raise_error(Puppet::Error)
#expect{ should compile }.to raise_error(Puppet::Error)
should_not compile
end
end
end
Expand Down
18 changes: 18 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -1 +1,19 @@
require 'puppetlabs_spec_helper/module_spec_helper'
require 'rspec-puppet-utils'

FIXTURES_PATH = File.expand_path(File.dirname(__FILE__) + '/fixtures')
# Set up our $LOAD_PATH to properly include custom provider code from modules
# in spec/fixtures
$LOAD_PATH.unshift(*Dir["#{FIXTURES_PATH}/modules/*/lib"])

Dir[File.absolute_path(File.dirname(__FILE__) + '/support/*.rb')].each do |f|
require f
end

RSpec.configure do |c|
c.mock_with :rspec
c.formatter = :documentation
c.default_facts = PathDefender::CentOS.centos_facts.merge({:fqdn => 'pd.example.com'})
c.hiera_config = File.join(FIXTURES_PATH, 'hiera.yaml')
c.treat_symbols_as_metadata_keys_with_true_values = true
end
30 changes: 30 additions & 0 deletions spec/support/centos.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# common utilities for CentOS servers
#
require 'rspec/core/shared_context'

# we need a module to have a default shared_context, we can't use include_contest from RSpec.configure
module PathDefender
module CentOS
extend RSpec::Core::SharedContext

def self.centos_facts
{
:ipaddress => '192.168.1.1',
:kernel => 'Linux',
:operatingsystem => 'CentOS',
:operatingsystemrelease => '6.5',
:osfamily => 'RedHat',
:architecture => 'x86_64',
:concat_basedir => "/tmp/concat", # Until we can upgrade rspec-puppet and supply this via default_facts
}
end

let(:centos_facts) {centos_facts}
let(:facts) { centos_facts }
end
end

shared_context :centos do
extend PathDefender::CentOS
end

0 comments on commit 127831c

Please sign in to comment.