From f57be8bcfbccb30d4049972b993b024a61b41597 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Pinson?= <raphael.pinson@camptocamp.com>
Date: Mon, 27 May 2013 15:27:46 +0200
Subject: [PATCH] Add spec for postfix::satellite

---
 manifests/satellite.pp                 | 10 +++-------
 spec/classes/postfix_satellite_spec.rb | 13 +++++++++++++
 spec/fixtures/manifests/site.pp        |  6 ++++--
 3 files changed, 20 insertions(+), 9 deletions(-)
 create mode 100644 spec/classes/postfix_satellite_spec.rb

diff --git a/manifests/satellite.pp b/manifests/satellite.pp
index 93462a1..16cc4e1 100644
--- a/manifests/satellite.pp
+++ b/manifests/satellite.pp
@@ -23,15 +23,11 @@
 #
 class postfix::satellite {
 
-  # If $valid_fqdn exists, use it to override $fqdn
-  case $valid_fqdn {
-    '':      { $valid_fqdn = $::fqdn }
-    default: { $fqdn = $valid_fqdn }
-  }
+  validate_re($postfix::myorigin, '^\S+$')
 
-  include postfix::mta
+  include ::postfix::mta
 
-  postfix::virtual { "@${valid_fqdn}":
+  postfix::virtual { "@${postfix::myorigin}":
     ensure      => present,
     destination => 'root',
   }
diff --git a/spec/classes/postfix_satellite_spec.rb b/spec/classes/postfix_satellite_spec.rb
new file mode 100644
index 0000000..1777afd
--- /dev/null
+++ b/spec/classes/postfix_satellite_spec.rb
@@ -0,0 +1,13 @@
+require 'spec_helper'
+
+describe 'postfix::satellite' do
+  let (:facts) { {
+    :osfamily            => 'Debian',
+    :needs_postfix_class => true,
+  } }
+  it { should include_class('postfix::mta') }
+  it { should contain_postfix__virtual('@foo.example.com').with(
+    :ensure      => 'present',
+    :destination => 'root'
+  ) }
+end
diff --git a/spec/fixtures/manifests/site.pp b/spec/fixtures/manifests/site.pp
index 2786af2..cbff7d8 100644
--- a/spec/fixtures/manifests/site.pp
+++ b/spec/fixtures/manifests/site.pp
@@ -1,3 +1,5 @@
-node default {
-  include ::augeas
+include ::augeas
+
+if $::needs_postfix_class {
+  include ::postfix
 }
-- 
GitLab