From 109024fd916b67aebf983427bde8b8761a8d2a97 Mon Sep 17 00:00:00 2001 From: Adam Jahn Date: Sat, 11 Apr 2015 16:42:26 -0400 Subject: first set of specs --- spec/classes/samba__server__config_spec.rb | 10 ++++++++ spec/classes/samba__server__install_spec.rb | 9 +++++++ spec/classes/samba__server__service_spec.rb | 40 +++++++++++++++++++++++++++++ spec/classes/samba__server_spec.rb | 9 +++++++ 4 files changed, 68 insertions(+) create mode 100644 spec/classes/samba__server__config_spec.rb create mode 100644 spec/classes/samba__server__install_spec.rb create mode 100644 spec/classes/samba__server__service_spec.rb create mode 100644 spec/classes/samba__server_spec.rb (limited to 'spec/classes') diff --git a/spec/classes/samba__server__config_spec.rb b/spec/classes/samba__server__config_spec.rb new file mode 100644 index 0000000..5f13aa4 --- /dev/null +++ b/spec/classes/samba__server__config_spec.rb @@ -0,0 +1,10 @@ +require 'spec_helper' + +describe 'samba::server::config', :type => :class do + context "on a Debian OS" do + let( :facts ) { { :osfamily => 'Debian' } } + + it { should contain_file('/etc/samba/smb.conf').with_owner('root') } + end +end + diff --git a/spec/classes/samba__server__install_spec.rb b/spec/classes/samba__server__install_spec.rb new file mode 100644 index 0000000..9764687 --- /dev/null +++ b/spec/classes/samba__server__install_spec.rb @@ -0,0 +1,9 @@ +require 'spec_helper' + +describe 'samba::server::install', :type => :class do + context "on a Debian OS" do + let(:facts) {{ :osfamily => 'Debian' }} + it { should contain_package('samba') } + end +end + diff --git a/spec/classes/samba__server__service_spec.rb b/spec/classes/samba__server__service_spec.rb new file mode 100644 index 0000000..bc28a9b --- /dev/null +++ b/spec/classes/samba__server__service_spec.rb @@ -0,0 +1,40 @@ +require 'spec_helper' + +describe 'samba::server::service' do + context 'on a Debian os family' do + let(:facts) {{ :osfamily => 'Debian' }} + + it { should contain_service('samba') + .with_require('Class[Samba::Server::Config]') } + + context 'Debian' do + let(:facts) {{ :osfamily => 'Debian', :operatingsystem => 'Debian' }} + it { should contain_service('samba') } + end + + context 'Ubuntu' do + let(:facts) {{ :osfamily => 'Debian', :operatingsystem => 'Ubuntu' }} + it { should contain_service('smbd') } + end + end + + context 'on a Redhat os family' do + let(:facts) {{ :osfamily => 'Redhat' }} + it { should contain_service('smb') } + end + + context 'on a Archlinux os family' do + let(:facts) {{ :osfamily => 'Archlinux' }} + it { should contain_service('smbd') } + end + + context 'on a Gentoo os family' do + let(:facts) {{ :osfamily => 'Linux', :operatingsystem => 'Gentoo' }} + it { should contain_service('samba') } + end + + context 'on an unsupported OS' do + let(:facts) {{ :osfamily => 'Solaris' }} + it { should raise_error(/Solaris is not supported by this module./) } + end +end diff --git a/spec/classes/samba__server_spec.rb b/spec/classes/samba__server_spec.rb new file mode 100644 index 0000000..89d994f --- /dev/null +++ b/spec/classes/samba__server_spec.rb @@ -0,0 +1,9 @@ +require 'spec_helper' + +describe 'samba::server' do + let(:facts) {{ :osfamily => 'Debian' }} + + it { should contain_class('samba::server::install') } + it { should contain_class('samba::server::config') } + it { should contain_class('samba::server::service') } +end -- cgit v1.2.3