diff options
-rwxr-xr-x | lib/puppet/provider/mailalias/aliases.rb | 8 | ||||
-rwxr-xr-x | spec/integration/provider/mailalias/aliases.rb | 25 | ||||
-rw-r--r-- | test/data/providers/mailalias/aliases/test1 | 28 |
3 files changed, 61 insertions, 0 deletions
diff --git a/lib/puppet/provider/mailalias/aliases.rb b/lib/puppet/provider/mailalias/aliases.rb index 8b5c45617..f9217123e 100755 --- a/lib/puppet/provider/mailalias/aliases.rb +++ b/lib/puppet/provider/mailalias/aliases.rb @@ -17,6 +17,14 @@ Puppet::Type.type(:mailalias).provide(:aliases, record end + def process(line) + ret = {} + records = line.split(':',2) + ret[:name] = records[0].strip() + ret[:recipient] = records[1].strip() + ret + end + def to_line(record) dest = record[:recipient].collect do |d| # Quote aliases that have non-alpha chars diff --git a/spec/integration/provider/mailalias/aliases.rb b/spec/integration/provider/mailalias/aliases.rb new file mode 100755 index 000000000..3f28239a6 --- /dev/null +++ b/spec/integration/provider/mailalias/aliases.rb @@ -0,0 +1,25 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../../../spec_helper' + +require 'puppettest' +require 'puppettest/support/utils' +require 'puppettest/fileparsing' + +provider_class = Puppet::Type.type(:mailalias).provider(:aliases) + +describe provider_class do + include PuppetTest + include PuppetTest::FileParsing + + before :each do + @provider = provider_class + end + + # #1560 + it "should be able to parse each example" do + fakedata("data/providers/mailalias/aliases").each { |file| + fakedataparse(file) + } + end +end diff --git a/test/data/providers/mailalias/aliases/test1 b/test/data/providers/mailalias/aliases/test1 new file mode 100644 index 000000000..20f90989f --- /dev/null +++ b/test/data/providers/mailalias/aliases/test1 @@ -0,0 +1,28 @@ +# Basic system aliases -- these MUST be present +MAILER-DAEMON: postmaster +postmaster: root + +# General redirections for pseudo accounts +bin: root +daemon: root +named: root +nobody: root +uucp: root +www: root +ftp-bugs: root +postfix: root + +# Put your local aliases here. + +# Well-known aliases +manager: root +dumper: root +operator: root +abuse: postmaster + +# trap decode to catch security attacks +decode: root + +# Other tests +anothertest: "|/path/to/rt-mailgate --queue 'another test' --action correspond --url http://my.com/" +test: "|/path/to/rt-mailgate --queue 'test' --action correspond --url http://my.com/" |