diff options
author | Pete Brown <pete@abstractit.com.au> | 2016-07-06 00:03:45 +1000 |
---|---|---|
committer | Pete Brown <pete@abstractit.com.au> | 2016-07-06 00:03:45 +1000 |
commit | 52b8916a8754f397dfc65e055f52d10905e42d74 (patch) | |
tree | 6989a2d36e32155603e4d35811c2725eab06130b /spec/defines | |
parent | ac7073b8633b361788cc6a2d08f42a8cc532593f (diff) | |
download | puppet-samba-52b8916a8754f397dfc65e055f52d10905e42d74.tar.gz puppet-samba-52b8916a8754f397dfc65e055f52d10905e42d74.tar.bz2 |
Initial tests for samba::share
Diffstat (limited to 'spec/defines')
-rw-r--r-- | spec/defines/samba__server__share_spec.rb | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/spec/defines/samba__server__share_spec.rb b/spec/defines/samba__server__share_spec.rb new file mode 100644 index 0000000..e6b24b8 --- /dev/null +++ b/spec/defines/samba__server__share_spec.rb @@ -0,0 +1,103 @@ +require 'spec_helper' + +describe 'samba::server::share', :type => :define do + let(:pre_condition){ 'class{"samba::server":}'} + on_supported_os.each do |os, facts| + context "When on an #{os} system" do + let(:facts) do + facts.merge({ + :concat_basedir => '/tmp', + :domain => 'domain.com' + }) + end + + context 'when called with base options' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present' + }} + + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"] + ).that_requires('Class[Samba::Server::Config]' + ).that_notifies('Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + ).that_requires('Class[Samba::Server::Config]' + ).that_notifies('Class[Samba::Server::Service]') + } + end#no params + + context 'when called with ensure set to absent' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'absent' + }} + + it 'should not contain the share' do + skip 'this is not working' + should_not contain_samba__server__share('test_share') + end + end#no params + + context 'when called with available set to true' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :available => true, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"] + ).that_requires('Class[Samba::Server::Config]' + ).that_notifies('Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set \"target[. = 'test_share']/available\" yes"] + ).that_requires('Class[Samba::Server::Config]' + ).that_notifies('Class[Samba::Server::Service]') + } + end#no params + + context 'when called with root_preexec set to something' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :root_preexec => '/bin/true', + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"] + ).that_requires('Class[Samba::Server::Config]' + ).that_notifies('Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set \"target[. = 'test_share']/root_preexec\" /bin/true"] + ).that_requires('Class[Samba::Server::Config]' + ).that_notifies('Class[Samba::Server::Service]') + } + end#no params + + end + end +end + |