]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/openstacklib/spec/defines/openstacklib_db_mysql_host_access_spec.rb
8f47bfa136ea50370ba111153e6871dd837004de
[dsa-puppet.git] / 3rdparty / modules / openstacklib / spec / defines / openstacklib_db_mysql_host_access_spec.rb
1 require 'spec_helper'
2
3 describe 'openstacklib::db::mysql::host_access' do
4
5   let :pre_condition do
6     "include mysql::server\n" +
7     "openstacklib::db::mysql { 'nova':\n" +
8     "  password_hash => 'AA1420F182E88B9E5F874F6FBE7459291E8F4601'}"
9   end
10
11   shared_examples 'openstacklib::db::mysql::host_access examples' do
12
13     context 'with required parameters' do
14       let (:title) { 'nova_10.0.0.1' }
15       let :params do
16         { :user          => 'foobar',
17           :password_hash => 'AA1420F182E88B9E5F874F6FBE7459291E8F4601',
18           :database      => 'nova',
19           :privileges    => 'ALL' }
20       end
21
22       it { should contain_mysql_user("#{params[:user]}@10.0.0.1").with(
23         :password_hash => params[:password_hash]
24       )}
25
26       it { should contain_mysql_grant("#{params[:user]}@10.0.0.1/#{params[:database]}.*").with(
27         :user       => "#{params[:user]}@10.0.0.1",
28         :privileges => 'ALL',
29         :table      => "#{params[:database]}.*"
30       )}
31     end
32
33   end
34
35   context 'on a Debian osfamily' do
36     let :facts do
37       { :osfamily => "Debian" }
38     end
39
40     include_examples 'openstacklib::db::mysql::host_access examples'
41   end
42
43   context 'on a RedHat osfamily' do
44     let :facts do
45       { :osfamily => 'RedHat' }
46     end
47
48     include_examples 'openstacklib::db::mysql::host_access examples'
49   end
50 end