nova_db_mysql_spec.rb 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. require 'spec_helper'
  2. describe 'nova::db::mysql' do
  3. shared_examples_for 'nova::db::mysql' do
  4. let :pre_condition do
  5. 'include mysql::server'
  6. end
  7. let :required_params do
  8. { :password => "qwerty" }
  9. end
  10. context 'with only required params' do
  11. let :params do
  12. required_params
  13. end
  14. it { is_expected.to contain_openstacklib__db__mysql('nova').with(
  15. :user => 'nova',
  16. :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
  17. :charset => 'utf8',
  18. :collate => 'utf8_general_ci',
  19. )}
  20. it { is_expected.to contain_openstacklib__db__mysql('nova_cell0').with(
  21. :user => 'nova',
  22. :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
  23. :charset => 'utf8',
  24. :collate => 'utf8_general_ci',
  25. :create_user => false,
  26. )}
  27. end
  28. context 'overriding allowed_hosts param to array' do
  29. let :params do
  30. { :password => 'novapass',
  31. :allowed_hosts => ['127.0.0.1','%'],
  32. }.merge(required_params)
  33. end
  34. it { is_expected.to contain_openstacklib__db__mysql('nova').with(
  35. :user => 'nova',
  36. :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
  37. :charset => 'utf8',
  38. :collate => 'utf8_general_ci',
  39. :allowed_hosts => ['127.0.0.1','%'],
  40. )}
  41. end
  42. context 'overriding allowed_hosts param to string' do
  43. let :params do
  44. { :password => 'novapass2',
  45. :allowed_hosts => '192.168.1.1',
  46. }.merge(required_params)
  47. end
  48. it { is_expected.to contain_openstacklib__db__mysql('nova').with(
  49. :user => 'nova',
  50. :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
  51. :charset => 'utf8',
  52. :collate => 'utf8_general_ci',
  53. :allowed_hosts => '192.168.1.1',
  54. )}
  55. end
  56. context 'when overriding charset' do
  57. let :params do
  58. { :password => 'novapass',
  59. :charset => 'latin1',
  60. }.merge(required_params)
  61. end
  62. it { is_expected.to contain_openstacklib__db__mysql('nova').with(
  63. :charset => 'latin1',
  64. )}
  65. end
  66. context 'when disabling cell0 setup' do
  67. let :params do
  68. { :setup_cell0 => false}.merge(required_params)
  69. end
  70. it { is_expected.to_not contain_openstacklib__db__mysql('nova_cell0') }
  71. end
  72. end
  73. on_supported_os({
  74. :supported_os => OSDefaults.get_supported_os
  75. }).each do |os,facts|
  76. context "on #{os}" do
  77. let (:facts) do
  78. facts.merge!(OSDefaults.get_facts())
  79. end
  80. it_configures 'nova::db::mysql'
  81. end
  82. end
  83. end