summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xlib/puppet/provider/mailalias/aliases.rb8
-rwxr-xr-xspec/integration/provider/mailalias/aliases.rb25
-rw-r--r--test/data/providers/mailalias/aliases/test128
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/"