--- /dev/null
+require 'spec_helper'
+
+describe 'postgresql::java', :type => :class do
+
+ describe 'on a debian based os' do
+ let :facts do {
+ :osfamily => 'Debian',
+ :postgres_default_version => 'foo',
+ }
+ end
+ it { should contain_package('postgresql-jdbc').with(
+ :name => 'libpostgresql-jdbc-java',
+ :ensure => 'present'
+ )}
+ end
+
+ describe 'on a redhat based os' do
+ let :facts do {
+ :osfamily => 'RedHat',
+ :postgres_default_version => 'foo',
+ }
+ end
+ it { should contain_package('postgresql-jdbc').with(
+ :name => 'postgresql-jdbc',
+ :ensure => 'present'
+ )}
+ describe 'when parameters are supplied' do
+ let :params do
+ {:package_ensure => 'latest', :package_name => 'somepackage'}
+ end
+ it { should contain_package('postgresql-jdbc').with(
+ :name => 'somepackage',
+ :ensure => 'latest'
+ )}
+ end
+ end
+
+ describe 'on any other os' do
+ let :facts do {
+ :osfamily => 'foo',
+ :postgres_default_version => 'foo',
+ }
+ end
+
+ it 'should fail without all the necessary parameters' do
+ expect { subject }.to raise_error(/Module postgresql does not provide defaults for osfamily: foo/)
+ end
+ end
+
+end