# encoding: UTF-8 require_relative 'spec_helper' describe 'openstack-ops-database::mysql-server' do describe 'redhat' do include_context 'database-stubs' let(:runner) { ChefSpec::Runner.new(REDHAT_OPTS) } let(:node) { runner.node } let(:chef_run) do node.set_unless['mysql'] = { 'server_debian_password' => 'server-debian-password', 'server_root_password' => 'server-root-password', 'server_repl_password' => 'server-repl-password' } runner.converge(described_recipe) end let(:file) { chef_run.template('/etc/mysql/conf.d/openstack.cnf') } it 'sets mysql version to 5.5' do expect(chef_run.node['mysql']['version']).to eql '5.5' end it 'creates template /etc/mysql/conf.d/openstack.cnf' do expect(chef_run).to create_template(file.name).with( user: 'mysql', group: 'mysql', source: 'openstack.cnf.erb' ) expect(file).to notify('mysql_service[default]') [/^# This file autogenerated by Chef$/, /^# Do not edit, changes will be overwritten$/, /^\[mysqld\]$/, /^default-storage-engine = InnoDB$/, /^bind-address = 127.0.0.1$/, /^innodb_thread_concurrency= 0$/, /^innodb_commit_concurrency = 0$/, /^innodb_flush_log_at_trx_commit = 2$/, /^skip-name-resolve$/, /^character-set-server = utf8$/].each do |line| expect(chef_run).to render_file(file.name).with_content(line) end end end end