Skip to content

Commit

Permalink
first set of specs
Browse files Browse the repository at this point in the history
  • Loading branch information
ajjahn committed Apr 11, 2015
1 parent 111bb7e commit 109024f
Show file tree
Hide file tree
Showing 8 changed files with 112 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .fixtures.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
fixtures:
repositories:
symlinks:
samba: "#{source_dir}"
10 changes: 10 additions & 0 deletions spec/classes/samba__server__config_spec.rb
Original file line number Diff line number Diff line change
@@ -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

9 changes: 9 additions & 0 deletions spec/classes/samba__server__install_spec.rb
Original file line number Diff line number Diff line change
@@ -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

40 changes: 40 additions & 0 deletions spec/classes/samba__server__service_spec.rb
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions spec/classes/samba__server_spec.rb
Original file line number Diff line number Diff line change
@@ -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
7 changes: 7 additions & 0 deletions spec/fixtures/manifests/init.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
node 'testhost.example.com' {

include samba::server

}

node default {}
8 changes: 8 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
require 'puppetlabs_spec_helper/module_spec_helper'

RSpec.configure do |c|
c.before do
# avoid "Only root can execute commands as other users"
Puppet.features.stubs(:root? => true)
end
end
25 changes: 25 additions & 0 deletions tests/init.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Smoketest.

class {'samba::server':
workgroup => 'example',
server_string => "Example Samba Server",
interfaces => "eth0 lo",
security => 'share'
}

samba::server::share {'example-share':
comment => 'Example Share',
path => '/path/to/share',
guest_only => true,
guest_ok => true,
guest_account => "guest",
browsable => false,
create_mask => 0777,
force_create_mask => 0777,
directory_mask => 0777,
force_directory_mask => 0777,
force_group => 'group',
force_user => 'user',
copy => 'some-other-share',
}
}

0 comments on commit 109024f

Please sign in to comment.