summaryrefslogtreecommitdiff
path: root/spec/unit/puppet/type
diff options
context:
space:
mode:
authorDan Bode <dan@puppetlabs.com>2011-07-26 15:27:42 -0700
committerDan Bode <dan@puppetlabs.com>2011-07-26 15:30:28 -0700
commite82370a26d15181b6c3b17b25c2349752e41ed38 (patch)
tree42d12c5726f9a59a95cb77b40aec4cc8c9b84e6b /spec/unit/puppet/type
parenta6ed9fbca3f256304df17b1cfae157728d60bb1d (diff)
downloadpuppet-stdlib-e82370a26d15181b6c3b17b25c2349752e41ed38.tar.gz
puppet-stdlib-e82370a26d15181b6c3b17b25c2349752e41ed38.tar.bz2
(#8628) Add append_line native type
This commit adds a native type that can check if a line exists and append it to a file. This use case seems common enough to warrant its inclusion into stdlib. Reviewed-by: Jeff McCune
Diffstat (limited to 'spec/unit/puppet/type')
-rw-r--r--spec/unit/puppet/type/append_line_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/unit/puppet/type/append_line_spec.rb b/spec/unit/puppet/type/append_line_spec.rb
new file mode 100644
index 0000000..d0564c3
--- /dev/null
+++ b/spec/unit/puppet/type/append_line_spec.rb
@@ -0,0 +1,24 @@
+require 'puppet'
+require 'tempfile'
+describe Puppet::Type.type(:append_line) do
+ before :each do
+ @append_line = Puppet::Type.type(:append_line).new(:name => 'foo', :line => 'line', :path => '/tmp/path')
+ end
+ it 'should accept a line and path' do
+ @append_line[:line] = 'my_line'
+ @append_line[:line].should == 'my_line'
+ end
+ it 'should accept posix filenames' do
+ @append_line[:path] = '/tmp/path'
+ @append_line[:path].should == '/tmp/path'
+ end
+ it 'should not accept unqualified path' do
+ expect { @append_line[:path] = 'file' }.should raise_error(Puppet::Error, /File paths must be fully qualified/)
+ end
+ it 'should require that a line is specified' do
+ expect { Puppet::Type.type(:append_line).new(:name => 'foo', :path => '/tmp/file') }.should raise_error(Puppet::Error, /Both line and path are required attributes/)
+ end
+ it 'should require that a file is specified' do
+ expect { Puppet::Type.type(:append_line).new(:name => 'foo', :line => 'path') }.should raise_error(Puppet::Error, /Both line and path are required attributes/)
+ end
+end