nova_db_mysql_api_spec.rb 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. require 'spec_helper'
  2. describe 'nova::db::mysql_api' do
  3. shared_examples_for 'nova::db::mysql_api' 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_api').with(
  15. :user => 'nova_api',
  16. :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
  17. :charset => 'utf8',
  18. :collate => 'utf8_general_ci',
  19. )}
  20. end
  21. context 'overriding allowed_hosts param to array' do
  22. let :params do
  23. { :password => 'novapass',
  24. :allowed_hosts => ['127.0.0.1','%'],
  25. }.merge(required_params)
  26. end
  27. it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
  28. :user => 'nova_api',
  29. :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
  30. :charset => 'utf8',
  31. :collate => 'utf8_general_ci',
  32. :allowed_hosts => ['127.0.0.1','%'],
  33. )}
  34. end
  35. context 'overriding allowed_hosts param to string' do
  36. let :params do
  37. { :password => 'novapass2',
  38. :allowed_hosts => '192.168.1.1',
  39. }.merge(required_params)
  40. end
  41. it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
  42. :user => 'nova_api',
  43. :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
  44. :charset => 'utf8',
  45. :collate => 'utf8_general_ci',
  46. :allowed_hosts => '192.168.1.1',
  47. )}
  48. end
  49. context 'when overriding charset' do
  50. let :params do
  51. { :password => 'novapass',
  52. :charset => 'latin1',
  53. }.merge(required_params)
  54. end
  55. it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
  56. :charset => 'latin1',
  57. )}
  58. end
  59. end
  60. on_supported_os({
  61. :supported_os => OSDefaults.get_supported_os
  62. }).each do |os,facts|
  63. context "on #{os}" do
  64. let (:facts) do
  65. facts.merge!(OSDefaults.get_facts())
  66. end
  67. it_configures 'nova::db::mysql_api'
  68. end
  69. end
  70. end