summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.fixtures.yml3
-rw-r--r--Rakefile6
-rw-r--r--manifests/client.pp22
-rw-r--r--manifests/config.pp38
-rw-r--r--manifests/database.pp28
-rw-r--r--manifests/imfile.pp23
-rw-r--r--manifests/init.pp16
-rw-r--r--manifests/install.pp14
-rw-r--r--manifests/params.pp12
-rw-r--r--manifests/server.pp43
-rw-r--r--manifests/service.pp16
-rw-r--r--manifests/snippet.pp17
-rw-r--r--spec/classes/rsyslog_client_spec.rb51
-rw-r--r--spec/classes/rsyslog_config_spec.rb54
-rw-r--r--spec/classes/rsyslog_database_spec.rb145
-rw-r--r--spec/classes/rsyslog_install_spec.rb54
-rw-r--r--spec/classes/rsyslog_server_spec.rb51
-rw-r--r--spec/classes/rsyslog_service_spec.rb51
-rw-r--r--spec/classes/rsyslog_spec.rb57
-rw-r--r--spec/defines/rsyslog_imfile_spec.rb75
-rw-r--r--spec/defines/rsyslog_snippet_spec.rb69
-rw-r--r--spec/fixtures/.gitignore2
-rw-r--r--spec/spec_helper.rb19
23 files changed, 818 insertions, 48 deletions
diff --git a/.fixtures.yml b/.fixtures.yml
new file mode 100644
index 0000000..b1fb3e0
--- /dev/null
+++ b/.fixtures.yml
@@ -0,0 +1,3 @@
+fixtures:
+ symlinks:
+ "rsyslog": "#{source_dir}"
diff --git a/Rakefile b/Rakefile
new file mode 100644
index 0000000..469b83c
--- /dev/null
+++ b/Rakefile
@@ -0,0 +1,6 @@
+require 'puppetlabs_spec_helper/rake_tasks'
+
+# Enable puppet-lint for all manifests: rake lint
+require 'puppet-lint/tasks/puppet-lint'
+PuppetLint.configuration.send("disable_80chars") # no warnings on lines over 80 chars.
+PuppetLint.configuration.ignore_paths = ["spec/fixtures/**/*.pp"]
diff --git a/manifests/client.pp b/manifests/client.pp
index fd76f1e..74f839a 100644
--- a/manifests/client.pp
+++ b/manifests/client.pp
@@ -1,3 +1,25 @@
+# == Class: rsyslog::client
+#
+# Full description of class role here.
+#
+# === Parameters
+#
+# [*sample_parameter*]
+# [*log_remote*]
+# [*spool_size*]
+# [*remote_type*]
+# [*log_local*]
+# [*log_auth_local*]
+# [*custom_config*]
+# [*server*]
+# [*port*]
+#
+# === Variables
+#
+# === Examples
+#
+# class { 'rsyslog::client': }
+#
class rsyslog::client (
$log_remote = true,
$spool_size = '1g',
diff --git a/manifests/config.pp b/manifests/config.pp
index aa06535..cbafe61 100644
--- a/manifests/config.pp
+++ b/manifests/config.pp
@@ -1,37 +1,49 @@
-class rsyslog::config {
+# == Class: rsyslog::config
+#
+# Full description of class role here.
+#
+# === Parameters
+#
+# === Variables
+#
+# === Examples
+#
+# class { 'rsyslog::config': }
+#
+class rsyslog::config inherits rsyslog::params {
file { $rsyslog::params::rsyslog_d:
+ ensure => directory,
owner => root,
group => $rsyslog::params::run_group,
purge => true,
recurse => true,
force => true,
- require => Class["rsyslog::install"],
- ensure => directory,
+ require => Class['rsyslog::install'],
}
file { $rsyslog::params::rsyslog_conf:
+ ensure => file,
owner => root,
group => $rsyslog::params::run_group,
- ensure => file,
content => template("${module_name}/rsyslog.conf.erb"),
- require => Class["rsyslog::install"],
- notify => Class["rsyslog::service"],
+ require => Class['rsyslog::install'],
+ notify => Class['rsyslog::service'],
}
file { $rsyslog::params::rsyslog_default:
+ ensure => file,
owner => root,
group => $rsyslog::params::run_group,
- ensure => file,
- source => "puppet:///modules/rsyslog/rsyslog_default",
- require => Class["rsyslog::install"],
- notify => Class["rsyslog::service"],
+ source => 'puppet:///modules/rsyslog/rsyslog_default',
+ require => Class['rsyslog::install'],
+ notify => Class['rsyslog::service'],
}
file { $rsyslog::params::spool_dir:
+ ensure => directory,
owner => root,
group => $rsyslog::params::run_group,
- ensure => directory,
- require => Class["rsyslog::install"],
- notify => Class["rsyslog::service"],
+ require => Class['rsyslog::install'],
+ notify => Class['rsyslog::service'],
}
}
diff --git a/manifests/database.pp b/manifests/database.pp
index 183c870..c0112be 100644
--- a/manifests/database.pp
+++ b/manifests/database.pp
@@ -1,3 +1,27 @@
+# == Class: rsyslog::database
+#
+# Full description of class role here.
+#
+# === Parameters
+#
+# [*backend*] - Which backend server to use (mysql|pgsql)
+# [*server*] - Server hostname
+# [*database*] - Database name
+# [*username*] - Database username
+# [*password*] - Database password
+#
+# === Variables
+#
+# === Examples
+#
+# class { 'rsyslog::database':
+# backend => 'mysql',
+# server => 'localhost',
+# database => 'mydb',
+# username => 'myuser',
+# password => 'mypass',
+# }
+#
class rsyslog::database (
$backend,
$server,
@@ -8,13 +32,13 @@ class rsyslog::database (
$db_module = "om${backend}"
$db_conf = "${rsyslog::params::rsyslog_d}${backend}.conf"
-
+
case $backend {
mysql: { $db_package = $rsyslog::params::mysql_package_name }
pgsql: { $db_package = $rsyslog::params::pgsql_package_name }
default: { fail("Unsupported backend: ${backend}. Only MySQL (mysql) and PostgreSQL (pgsql) are supported.") }
}
-
+
package { $db_package:
ensure => $rsyslog::params::package_status,
before => File[$db_conf],
diff --git a/manifests/imfile.pp b/manifests/imfile.pp
index 64e6e2f..58554a4 100644
--- a/manifests/imfile.pp
+++ b/manifests/imfile.pp
@@ -1,3 +1,26 @@
+# == Define: rsyslog::imfile
+#
+# Full description of class role here.
+#
+# === Parameters
+#
+# [*file_name*]
+# [*file_tag*]
+# [*file_facility*]
+# [*polling_interval*]
+# [*file_severity*]
+# [*run_file_monitor*]
+#
+# === Variables
+#
+# === Examples
+#
+# rsyslog::imfile { 'my-imfile':
+# file_name => '/some/file',
+# file_tag => 'mytag',
+# file_facility => 'myfacility',
+# }
+#
define rsyslog::imfile(
$file_name,
$file_tag,
diff --git a/manifests/init.pp b/manifests/init.pp
index 80db400..2f9b015 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -1,3 +1,17 @@
+# == Class: rsyslog
+#
+# Meta class to install rsyslog with a basic configuration. You probably want rsyslog::client or rsyslog::server
+#
+# === Parameters
+#
+# === Variables
+#
+# === Examples
+#
+# class { 'rsyslog': }
+#
class rsyslog {
- include rsyslog::params, rsyslog::install, rsyslog::config, rsyslog::service
+ class { 'rsyslog::install': }
+ class { 'rsyslog::config': }
+ class { 'rsyslog::service': }
}
diff --git a/manifests/install.pp b/manifests/install.pp
index e0601bd..d2cdcb6 100644
--- a/manifests/install.pp
+++ b/manifests/install.pp
@@ -1,4 +1,16 @@
-class rsyslog::install {
+# == Class: rsyslog::install
+#
+# This class makes sure that the required packages are installed
+#
+# === Parameters
+#
+# === Variables
+#
+# === Examples
+#
+# class { 'rsyslog::install': }
+#
+class rsyslog::install inherits rsyslog::params {
package { $rsyslog::params::rsyslog_package_name:
ensure => $rsyslog::params::package_status,
}
diff --git a/manifests/params.pp b/manifests/params.pp
index 96c0b27..d5c48b2 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -1,3 +1,15 @@
+# == Class: rsyslog::params
+#
+# This defines default configuration values for rsyslog. You don't want to use it directly.
+#
+# === Parameters
+#
+# === Variables
+#
+# === Examples
+#
+# class { 'rsyslog::params': }
+#
class rsyslog::params {
case $::osfamily {
debian: {
diff --git a/manifests/server.pp b/manifests/server.pp
index acdc7db..70c22c9 100644
--- a/manifests/server.pp
+++ b/manifests/server.pp
@@ -1,3 +1,22 @@
+# == Class: rsyslog::server
+#
+# This class configures rsyslog for a server role.
+#
+# === Parameters
+#
+# [*enable_tcp*]
+# [*enable_udp*]
+# [*enable_onfile*]
+# [*server_dir*]
+# [*custom_config*]
+# [*high_precision_timestamps*]
+#
+# === Variables
+#
+# === Examples
+#
+# class { 'rsyslog::server': }
+#
class rsyslog::server (
$enable_tcp = true,
$enable_udp = true,
@@ -7,15 +26,17 @@ class rsyslog::server (
$high_precision_timestamps = false
) inherits rsyslog {
- file { $rsyslog::params::server_conf:
- ensure => present,
- owner => root,
- group => $rsyslog::params::run_group,
- content => $custom_config ? {
- '' => template("${module_name}/server.conf.erb"),
- default => template($custom_config),
- },
- require => Class['rsyslog::config'],
- notify => Class['rsyslog::service'],
- }
+ $real_content = $custom_config ? {
+ '' => template("${module_name}/server.conf.erb"),
+ default => template($custom_config),
+ }
+
+ file { $rsyslog::params::server_conf:
+ ensure => present,
+ owner => root,
+ group => $rsyslog::params::run_group,
+ content => $real_content,
+ require => Class['rsyslog::config'],
+ notify => Class['rsyslog::service'],
+ }
}
diff --git a/manifests/service.pp b/manifests/service.pp
index 66c03dc..94bd603 100644
--- a/manifests/service.pp
+++ b/manifests/service.pp
@@ -1,7 +1,19 @@
-class rsyslog::service {
+# == Class: rsyslog::service
+#
+# This class enforces running of the rsyslog service.
+#
+# === Parameters
+#
+# === Variables
+#
+# === Examples
+#
+# class { 'rsyslog::service': }
+#
+class rsyslog::service inherits rsyslog::params {
service { $rsyslog::params::service_name:
ensure => running,
enable => true,
- require => Class["rsyslog::config"],
+ require => Class['rsyslog::config'],
}
}
diff --git a/manifests/snippet.pp b/manifests/snippet.pp
index d59a829..38e71d4 100644
--- a/manifests/snippet.pp
+++ b/manifests/snippet.pp
@@ -1,3 +1,20 @@
+# == Define: rsyslog::snippet
+#
+# This class allows for you to create a rsyslog configuration file with whatever content you pass in.
+#
+# === Parameters
+#
+# [*content*] - The actual content to place in the file.
+# [*ensure*] - How to enforce the file (default: present)
+#
+# === Variables
+#
+# === Examples
+#
+# rsyslog::snippet { 'my-rsyslog-config':
+# content => '<Some rsyslog directive>',
+# }
+#
define rsyslog::snippet(
$content,
$ensure = 'present'
diff --git a/spec/classes/rsyslog_client_spec.rb b/spec/classes/rsyslog_client_spec.rb
new file mode 100644
index 0000000..bdfccbf
--- /dev/null
+++ b/spec/classes/rsyslog_client_spec.rb
@@ -0,0 +1,51 @@
+require 'spec_helper'
+
+describe 'rsyslog::client', :type => :class do
+ context "osfamily = RedHat" do
+ let :facts do
+ {
+ :osfamily => 'RedHat',
+ }
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-client-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/client.conf')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ {
+ :osfamily => 'Debian',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-client-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/client.conf')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ {
+ :osfamily => 'freebsd',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-client-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/client.conf')
+ end
+ end
+ end
+end
diff --git a/spec/classes/rsyslog_config_spec.rb b/spec/classes/rsyslog_config_spec.rb
new file mode 100644
index 0000000..640da2d
--- /dev/null
+++ b/spec/classes/rsyslog_config_spec.rb
@@ -0,0 +1,54 @@
+require 'spec_helper'
+
+describe 'rsyslog::config', :type => :class do
+ context "osfamily = RedHat" do
+ let :facts do
+ {
+ :osfamily => 'RedHat',
+ }
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.conf')
+ should contain_file('/etc/rsyslog.d/')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ {
+ :osfamily => 'Debian',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.conf')
+ should contain_file('/etc/rsyslog.d/')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ {
+ :osfamily => 'freebsd',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.conf')
+ should contain_file('/etc/syslog.d/')
+ end
+ end
+ end
+end
diff --git a/spec/classes/rsyslog_database_spec.rb b/spec/classes/rsyslog_database_spec.rb
new file mode 100644
index 0000000..982ccde
--- /dev/null
+++ b/spec/classes/rsyslog_database_spec.rb
@@ -0,0 +1,145 @@
+require 'spec_helper'
+
+describe 'rsyslog::database', :type => :class do
+ context "osfamily = RedHat" do
+ let :facts do
+ {
+ :osfamily => 'RedHat',
+ }
+ end
+
+ context "default usage mysql (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-database-mysql' }
+
+ let (:params) {
+ {
+ 'backend' => 'mysql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('rsyslog-mysql')
+ should contain_file('/etc/rsyslog.d/mysql.conf')
+ end
+ end
+
+ context "default usage pgsql (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-database-pgsql' }
+
+ let (:params) {
+ {
+ 'backend' => 'pgsql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('rsyslog-pgsql')
+ should contain_file('/etc/rsyslog.d/pgsql.conf')
+ end
+ end
+ end
+
+
+
+ context "osfamily = Debian" do
+ let :facts do
+ {
+ :osfamily => 'Debian',
+ }
+ end
+
+ context "default usage mysql (osfamily = Debian)" do
+ let(:title) { 'rsyslog-database-mysql' }
+
+ let (:params) {
+ {
+ 'backend' => 'mysql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('rsyslog-mysql')
+ should contain_file('/etc/rsyslog.d/mysql.conf')
+ end
+ end
+
+ context "default usage pgsql (osfamily = Debian)" do
+ let(:title) { 'rsyslog-database-pgsql' }
+
+ let (:params) {
+ {
+ 'backend' => 'pgsql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('rsyslog-pgsql')
+ should contain_file('/etc/rsyslog.d/pgsql.conf')
+ end
+ end
+ end
+
+
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ {
+ :osfamily => 'freebsd',
+ }
+ end
+
+ context "default usage mysql (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-database-mysql' }
+
+ let (:params) {
+ {
+ 'backend' => 'mysql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('sysutils/rsyslog5-mysql')
+ should contain_file('/etc/syslog.d/mysql.conf')
+ end
+ end
+
+ context "default usage pgsql (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-database-pgsql' }
+
+ let (:params) {
+ {
+ 'backend' => 'pgsql',
+ 'server' => 'localhost',
+ 'database' => 'rsyslog',
+ 'username' => 'us3rname',
+ 'password' => 'passw0rd',
+ }
+ }
+
+ it 'should compile' do
+ should contain_package('sysutils/rsyslog5-pgsql')
+ should contain_file('/etc/syslog.d/pgsql.conf')
+ end
+ end
+ end
+end
diff --git a/spec/classes/rsyslog_install_spec.rb b/spec/classes/rsyslog_install_spec.rb
new file mode 100644
index 0000000..a1baea3
--- /dev/null
+++ b/spec/classes/rsyslog_install_spec.rb
@@ -0,0 +1,54 @@
+require 'spec_helper'
+
+describe 'rsyslog::install', :type => :class do
+ context "osfamily = RedHat" do
+ let :facts do
+ {
+ :osfamily => 'RedHat',
+ }
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-install-basic' }
+
+ it 'should compile' do
+ should contain_package('rsyslog')
+ should contain_package('rsyslog-relp')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ {
+ :osfamily => 'Debian',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-install-basic' }
+
+ it 'should compile' do
+ should contain_package('rsyslog')
+ should contain_package('rsyslog-relp')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ {
+ :osfamily => 'freebsd',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-install-basic' }
+
+ it 'should compile' do
+ should contain_package('sysutils/rsyslog5')
+ should contain_package('sysutils/rsyslog5-relp')
+ end
+ end
+ end
+end
diff --git a/spec/classes/rsyslog_server_spec.rb b/spec/classes/rsyslog_server_spec.rb
new file mode 100644
index 0000000..4f8bb62
--- /dev/null
+++ b/spec/classes/rsyslog_server_spec.rb
@@ -0,0 +1,51 @@
+require 'spec_helper'
+
+describe 'rsyslog::server', :type => :class do
+ context "osfamily = RedHat" do
+ let :facts do
+ {
+ :osfamily => 'RedHat',
+ }
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-server-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/server.conf')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ {
+ :osfamily => 'Debian',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-server-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/server.conf')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ {
+ :osfamily => 'freebsd',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-server-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/server.conf')
+ end
+ end
+ end
+end
diff --git a/spec/classes/rsyslog_service_spec.rb b/spec/classes/rsyslog_service_spec.rb
new file mode 100644
index 0000000..411f8c1
--- /dev/null
+++ b/spec/classes/rsyslog_service_spec.rb
@@ -0,0 +1,51 @@
+require 'spec_helper'
+
+describe 'rsyslog::service', :type => :class do
+ context "osfamily = RedHat" do
+ let :facts do
+ {
+ :osfamily => 'RedHat',
+ }
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-service-basic' }
+
+ it 'should compile' do
+ should contain_service('rsyslog')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ {
+ :osfamily => 'Debian',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-service-basic' }
+
+ it 'should compile' do
+ should contain_service('rsyslog')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ {
+ :osfamily => 'freebsd',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-service-basic' }
+
+ it 'should compile' do
+ should contain_service('syslogd')
+ end
+ end
+ end
+end
diff --git a/spec/classes/rsyslog_spec.rb b/spec/classes/rsyslog_spec.rb
new file mode 100644
index 0000000..d6a6bf7
--- /dev/null
+++ b/spec/classes/rsyslog_spec.rb
@@ -0,0 +1,57 @@
+require 'spec_helper'
+
+describe 'rsyslog', :type => :class do
+ context "osfamily = RedHat" do
+ let :facts do
+ {
+ :osfamily => 'RedHat',
+ }
+ end
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_class('rsyslog::install')
+ should contain_class('rsyslog::config')
+ should contain_class('rsyslog::service')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ {
+ :osfamily => 'Debian',
+ }
+ end
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_class('rsyslog::install')
+ should contain_class('rsyslog::config')
+ should contain_class('rsyslog::service')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ {
+ :osfamily => 'freebsd',
+ }
+ end
+
+ context "default usage (osfamily = FreeBSD)" do
+ let(:title) { 'rsyslog-basic' }
+
+ it 'should compile' do
+ should contain_class('rsyslog::install')
+ should contain_class('rsyslog::config')
+ should contain_class('rsyslog::service')
+ end
+ end
+ end
+end
diff --git a/spec/defines/rsyslog_imfile_spec.rb b/spec/defines/rsyslog_imfile_spec.rb
new file mode 100644
index 0000000..82c8312
--- /dev/null
+++ b/spec/defines/rsyslog_imfile_spec.rb
@@ -0,0 +1,75 @@
+require 'spec_helper'
+
+describe 'rsyslog::imfile', :type => :define do
+ context "osfamily = RedHat" do
+ let :facts do
+ {
+ :osfamily => 'RedHat',
+ }
+ end
+
+ let (:params) {
+ {
+ 'file_name' => 'mylogfile',
+ 'file_tag' => 'mytag',
+ 'file_facility' => 'myfacility',
+ }
+ }
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-imfile-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf')
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ {
+ :osfamily => 'Debian',
+ }
+ end
+
+ let (:params) {
+ {
+ 'file_name' => 'mylogfile',
+ 'file_tag' => 'mytag',
+ 'file_facility' => 'myfacility',
+ }
+ }
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-imfile-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-imfile-basic.conf')
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ {
+ :osfamily => 'freebsd',
+ }
+ end
+
+ let (:params) {
+ {
+ 'file_name' => 'mylogfile',
+ 'file_tag' => 'mytag',
+ 'file_facility' => 'myfacility',
+ }
+ }
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-imfile-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/rsyslog-imfile-basic.conf')
+ end
+ end
+ end
+end
diff --git a/spec/defines/rsyslog_snippet_spec.rb b/spec/defines/rsyslog_snippet_spec.rb
new file mode 100644
index 0000000..b279cce
--- /dev/null
+++ b/spec/defines/rsyslog_snippet_spec.rb
@@ -0,0 +1,69 @@
+require 'spec_helper'
+
+describe 'rsyslog::snippet', :type => :define do
+ context "osfamily = RedHat" do
+ let :facts do
+ {
+ :osfamily => 'RedHat',
+ }
+ end
+
+ let (:params) {
+ {
+ 'content' => 'Random Content',
+ }
+ }
+
+ context "default usage (osfamily = RedHat)" do
+ let(:title) { 'rsyslog-snippet-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("Random Content\n")
+ end
+ end
+ end
+
+ context "osfamily = Debian" do
+ let :facts do
+ {
+ :osfamily => 'Debian',
+ }
+ end
+
+ let (:params) {
+ {
+ 'content' => 'Random Content',
+ }
+ }
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-snippet-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/rsyslog.d/rsyslog-snippet-basic.conf').with_content("Random Content\n")
+ end
+ end
+ end
+
+ context "osfamily = FreeBSD" do
+ let :facts do
+ {
+ :osfamily => 'freebsd',
+ }
+ end
+
+ let (:params) {
+ {
+ 'content' => 'Random Content',
+ }
+ }
+
+ context "default usage (osfamily = Debian)" do
+ let(:title) { 'rsyslog-snippet-basic' }
+
+ it 'should compile' do
+ should contain_file('/etc/syslog.d/rsyslog-snippet-basic.conf').with_content("Random Content\n")
+ end
+ end
+ end
+end
diff --git a/spec/fixtures/.gitignore b/spec/fixtures/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/spec/fixtures/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index a4aeeae..2c6f566 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,18 +1 @@
-require 'pathname'
-dir = Pathname.new(__FILE__).parent
-$LOAD_PATH.unshift(dir, dir + 'lib', dir + '../lib')
-
-require 'mocha'
-require 'puppet'
-gem 'rspec', '=1.2.9'
-require 'spec/autorun'
-
-Spec::Runner.configure do |config|
- config.mock_with :mocha
-end
-
-# We need this because the RAL uses 'should' as a method. This
-# allows us the same behaviour but with a different method name.
-class Object
- alias :must :should
-end
+require 'puppetlabs_spec_helper/module_spec_helper'