Add puppet/archive module, required for newer puppet/rabbitmq
[mirror/dsa-puppet.git] / 3rdparty / modules / archive / spec / classes / staging_spec.rb
diff --git a/3rdparty/modules/archive/spec/classes/staging_spec.rb b/3rdparty/modules/archive/spec/classes/staging_spec.rb
new file mode 100644 (file)
index 0000000..5ee92b2
--- /dev/null
@@ -0,0 +1,57 @@
+require 'spec_helper'
+
+describe 'archive::staging' do
+  context 'RHEL Puppet opensource' do
+    let(:facts) { { os: { family: 'RedHat' }, puppetversion: '4.4.0' } }
+
+    it { is_expected.to contain_class 'archive' }
+    it do
+      is_expected.to contain_file('/opt/staging').with(
+        owner: '0',
+        group: '0',
+        mode: '0640'
+      )
+    end
+  end
+
+  context 'RHEL Puppet opensource with params' do
+    let(:facts) { { os: { family: 'RedHat' }, puppetversion: '4.4.0' } }
+
+    let(:params) do
+      {
+        path: '/tmp/staging',
+        owner: 'puppet',
+        group: 'puppet',
+        mode: '0755'
+      }
+    end
+
+    it { is_expected.to contain_class 'archive' }
+    it do
+      is_expected.to contain_file('/tmp/staging').with(
+        owner: 'puppet',
+        group: 'puppet',
+        mode: '0755'
+      )
+    end
+  end
+
+  context 'Windows Puppet Enterprise' do
+    let(:facts) do
+      {
+        os: { family: 'Windows' },
+        puppetversion: '3.4.3 (Puppet Enterprise 3.2.3)',
+        archive_windir: 'C:/Windows/Temp/staging'
+      }
+    end
+
+    it { is_expected.to contain_class 'archive' }
+    it do
+      is_expected.to contain_file('C:/Windows/Temp/staging').with(
+        owner: 'S-1-5-32-544',
+        group: 'S-1-5-18',
+        mode: '0640'
+      )
+    end
+  end
+end