47 lines
1.5 KiB
Ruby
47 lines
1.5 KiB
Ruby
# 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
|