]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/nova/spec/classes/nova_db_spec.rb
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / nova / spec / classes / nova_db_spec.rb
diff --git a/3rdparty/modules/nova/spec/classes/nova_db_spec.rb b/3rdparty/modules/nova/spec/classes/nova_db_spec.rb
new file mode 100644 (file)
index 0000000..ec458b2
--- /dev/null
@@ -0,0 +1,49 @@
+require 'spec_helper'
+
+describe 'nova::db' do
+
+  let :params do
+    {}
+  end
+
+  shared_examples 'nova-db' do
+
+    context 'with default parameters' do
+      it { should_not contain_nova_config('database/connection') }
+      it { should_not contain_nova_config('database/slave_connection') }
+      it { should_not contain_nova_config('database/idle_timeout') }
+    end
+
+    context 'with overriden parameters' do
+      before :each do
+        params.merge!(
+          :database_connection   => 'mysql://user:pass@db/db',
+          :slave_connection      => 'mysql://user:pass@slave/db',
+          :database_idle_timeout => '30',
+        )
+      end
+
+      it { should contain_nova_config('database/connection').with_value('mysql://user:pass@db/db').with_secret(true) }
+      it { should contain_nova_config('database/slave_connection').with_value('mysql://user:pass@slave/db').with_secret(true) }
+      it { should contain_nova_config('database/idle_timeout').with_value('30') }
+    end
+
+  end
+
+  context 'on Debian platforms' do
+    let :facts do
+      { :osfamily => 'Debian' }
+    end
+
+    it_configures 'nova-db'
+  end
+
+  context 'on Redhat platforms' do
+    let :facts do
+      { :osfamily => 'RedHat' }
+    end
+
+    it_configures 'nova-db'
+  end
+
+end