Skip to content

Commit

Permalink
Merge pull request #420 from rabbitmq/fixing_tests
Browse files Browse the repository at this point in the history
Getting tests green
  • Loading branch information
JJ Asghar committed Mar 19, 2017
2 parents 77e6a9d + f9a90e9 commit 4b7c8d9
Show file tree
Hide file tree
Showing 65 changed files with 133 additions and 59 deletions.
3 changes: 0 additions & 3 deletions .kitchen.cloud.yml
Expand Up @@ -32,6 +32,3 @@ suites:
rabbitmq:
use_distro_version: true
excludes: ["centos-7-0-x64"]
- name: lwrps
run_list:
- recipe[rabbitmq_test::lwrps]
3 changes: 0 additions & 3 deletions .kitchen.dokken.yml
Expand Up @@ -56,9 +56,6 @@ suites:
rabbitmq:
use_distro_version: true
excludes: ["centos-6.7", "centos-7.2"]
- name: lwrps
run_list:
- recipe[rabbitmq_test::lwrps]
- name: default-force-yes
run_list:
- recipe[rabbitmq::default]
Expand Down
1 change: 1 addition & 0 deletions Berksfile
@@ -1,3 +1,4 @@
# frozen_string_literal: true
source 'https://supermarket.chef.io'

metadata
Expand Down
1 change: 1 addition & 0 deletions Gemfile
@@ -1,3 +1,4 @@
# frozen_string_literal: true
source 'https://rubygems.org'

gem 'chef'
Expand Down
10 changes: 6 additions & 4 deletions Rakefile
@@ -1,4 +1,5 @@
#!/usr/bin/env rake
# frozen_string_literal: true

# Style tests. cookstyle (rubocop) and Foodcritic
namespace :style do
Expand All @@ -18,8 +19,9 @@ namespace :style do
desc 'Run Chef style checks'
FoodCritic::Rake::LintTask.new(:chef) do |t|
t.options = {
fail_tags: ['any'],
progress: true
:fail_tags => ['any'],
:tags => %w(~FC023),
:progress => true,
}
end
rescue LoadError
Expand All @@ -28,7 +30,7 @@ namespace :style do
end

desc 'Run all style checks'
task style: ['style:chef', 'style:ruby']
task :style => ['style:chef', 'style:ruby']

# ChefSpec
begin
Expand Down Expand Up @@ -64,4 +66,4 @@ namespace :supermarket do
end

# Default
task default: %w(style spec)
task :default => %w(style spec)
11 changes: 6 additions & 5 deletions attributes/default.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
# Latest RabbitMQ.com version to install
default['rabbitmq']['version'] = '3.6.8'
# The distro versions may be more stable and have back-ported patches
Expand All @@ -11,11 +12,11 @@

case node['platform_family']
when 'rhel', 'fedora'
if node['platform_version'].to_i > 6
default['rabbitmq']['rpm_package'] = "rabbitmq-server-#{node['rabbitmq']['version']}-1.el7.noarch.rpm"
else
default['rabbitmq']['rpm_package'] = "rabbitmq-server-#{node['rabbitmq']['version']}-1.el6.noarch.rpm"
end
default['rabbitmq']['rpm_package'] = if node['platform_version'].to_i > 6
"rabbitmq-server-#{node['rabbitmq']['version']}-1.el7.noarch.rpm"
else
"rabbitmq-server-#{node['rabbitmq']['version']}-1.el6.noarch.rpm"
end
when 'suse'
default['rabbitmq']['rpm_package'] = "rabbitmq-server-#{node['rabbitmq']['version']}-1.suse.noarch.rpm"
end
Expand Down
1 change: 1 addition & 0 deletions libraries/default.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Library:: default
Expand Down
1 change: 1 addition & 0 deletions libraries/matchers.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
if defined?(ChefSpec)
def add_rabbitmq_user(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:rabbitmq_user, :add, resource_name)
Expand Down
1 change: 1 addition & 0 deletions metadata.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
name 'rabbitmq'
maintainer 'Chef, Inc.'
maintainer_email 'jj@chef.io'
Expand Down
1 change: 1 addition & 0 deletions providers/cluster.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Provider:: cluster
Expand Down
1 change: 1 addition & 0 deletions providers/parameter.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Provider:: parameter
Expand Down
1 change: 1 addition & 0 deletions providers/plugin.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Provider:: plugin
Expand Down
1 change: 1 addition & 0 deletions providers/policy.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Provider:: policy
Expand Down
1 change: 1 addition & 0 deletions providers/user.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Provider:: user
Expand Down
1 change: 1 addition & 0 deletions providers/vhost.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Provider:: vhost
Expand Down
1 change: 1 addition & 0 deletions recipes/cluster.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Recipe:: cluster
Expand Down
1 change: 1 addition & 0 deletions recipes/community_plugins.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Recipe:: community_plugins
Expand Down
11 changes: 11 additions & 0 deletions recipes/default.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Recipe:: default
Expand Down Expand Up @@ -94,6 +95,9 @@ class Chef::Resource

when 'rhel', 'fedora'

# logrotate is a package dependency of rabbitmq-server
package 'logrotate'

# socat is a package dependency of rabbitmq-server
package 'socat'

Expand Down Expand Up @@ -122,6 +126,13 @@ class Chef::Resource
end

when 'suse'

# logrotate is a package dependency of rabbitmq-server
package 'logrotate'

# socat is a package dependency of rabbitmq-server
package 'socat'

# rabbitmq-server-plugins needs to be first so they both get installed
# from the right repository. Otherwise, zypper will stop and ask for a
# vendor change.
Expand Down
1 change: 1 addition & 0 deletions recipes/mgmt_console.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Recipe:: mgmt_console
Expand Down
1 change: 1 addition & 0 deletions recipes/plugin_management.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Recipe:: plugin_management
Expand Down
1 change: 1 addition & 0 deletions recipes/policy_management.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Recipe:: policy_management
Expand Down
1 change: 1 addition & 0 deletions recipes/user_management.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Recipe:: user_management
Expand Down
1 change: 1 addition & 0 deletions recipes/virtualhost_management.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Recipe:: virtualhost_management
Expand Down
1 change: 1 addition & 0 deletions resources/cluster.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Resource:: cluster
Expand Down
1 change: 1 addition & 0 deletions resources/parameter.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Resource:: parameter
Expand Down
1 change: 1 addition & 0 deletions resources/plugin.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Resource:: plugin
Expand Down
1 change: 1 addition & 0 deletions resources/policy.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Resource:: policy
Expand Down
1 change: 1 addition & 0 deletions resources/user.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Resource:: user
Expand Down
1 change: 1 addition & 0 deletions resources/vhost.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Resource:: vhost
Expand Down
1 change: 1 addition & 0 deletions spec/cluster_spec.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
#
# Cookbook Name:: rabbitmq
# Spec:: cluster
Expand Down
4 changes: 1 addition & 3 deletions spec/community_plugins_spec.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
require 'spec_helper'

describe 'rabbitmq::community_plugins' do
Expand All @@ -19,9 +20,6 @@
plugins.each do |plugin, download_url|
it 'creates the remote files with attributes' do
expect(chef_run).to create_remote_file("/usr/lib/rabbitmq/lib/rabbitmq_server-#{node['rabbitmq']['version']}/plugins/#{plugin}.ez").with(
:mode => '0644',
:owner => 'root',
:group => 'root',
:source => download_url
)
end
Expand Down
89 changes: 50 additions & 39 deletions spec/default_spec.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
require 'spec_helper'

describe 'rabbitmq::default' do
Expand Down Expand Up @@ -168,6 +169,14 @@
runner.converge(described_recipe)
end

it 'should install the socat package' do
expect(chef_run).to install_package('socat')
end

it 'should install the logrotate package' do
expect(chef_run).to install_package('logrotate')
end

it 'should install the rabbitmq package' do
expect(chef_run).to install_package('rabbitmq-server')
end
Expand All @@ -181,7 +190,7 @@
let(:runner) { ChefSpec::ServerRunner.new(UBUNTU_OPTS) }
let(:node) { runner.node }
let(:chef_run) do
node.set['rabbitmq']['version'] = '3.6.1'
node.set['rabbitmq']['version'] = '3.6.8'
runner.converge(described_recipe)
end

Expand All @@ -196,8 +205,12 @@
expect(chef_run).to install_package('logrotate')
end

it 'should install the socat package' do
expect(chef_run).to install_package('socat')
end

it 'creates a rabbitmq-server deb in the cache path' do
expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server_3.6.1-1_all.deb')
expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server_3.6.8-1_all.deb')
end

it 'installs the rabbitmq-server deb_package with the default action' do
Expand Down Expand Up @@ -234,14 +247,19 @@
runner.converge(described_recipe)
end

it 'creates a rabbitmq-server rpm in the cache path' do
expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server-3.6.1-1.noarch.rpm')
expect(chef_run).to_not create_remote_file_if_missing('/tmp/not-rabbitmq-server-3.6.1-1.noarch.rpm')
end
describe 'if redhat is below 7' do
before do
node.set['platform_version'] = '6'
end
it 'creates a rabbitmq-server rpm in the cache path' do
expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server-3.6.8-1.el6.noarch.rpm')
expect(chef_run).to_not create_remote_file_if_missing('/tmp/not-rabbitmq-server-3.6.8-1.el6.noarch.rpm')
end

it 'installs the rabbitmq-server rpm_package with the default action' do
expect(chef_run).to install_rpm_package('/tmp/rabbitmq-server-3.6.1-1.noarch.rpm')
expect(chef_run).to_not install_rpm_package('/tmp/not-rabbitmq-server-3.6.1-1.noarch.rpm')
it 'installs the rabbitmq-server rpm_package with the default action' do
expect(chef_run).to install_rpm_package('/tmp/rabbitmq-server-3.6.8-1.el6.noarch.rpm')
expect(chef_run).to_not install_rpm_package('/tmp/not-rabbitmq-server-3.6.8-1.el6.noarch.rpm')
end
end

describe 'uses distro version' do
Expand Down Expand Up @@ -272,6 +290,14 @@
node.set['rabbitmq']['loopback_users'] = %w(foo bar)
expect(chef_run).to render_file('/etc/rabbitmq/rabbitmq.config').with_content('loopback_users, [<<"foo">>,<<"bar">>]')
end

it 'should install the logrotate package' do
expect(chef_run).to install_package('logrotate')
end

it 'should install the socat package' do
expect(chef_run).to install_package('socat')
end
end

describe 'centos' do
Expand All @@ -281,47 +307,32 @@
runner.converge(described_recipe)
end

it 'creates a rabbitmq-server rpm in the cache path' do
expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server-3.6.1-1.noarch.rpm')
expect(chef_run).to_not create_remote_file_if_missing('/tmp/not-rabbitmq-server-3.6.1-1.noarch.rpm')
end

it 'installs the rabbitmq-server rpm_package with the default action' do
expect(chef_run).to install_rpm_package('/tmp/rabbitmq-server-3.6.1-1.noarch.rpm')
expect(chef_run).to_not install_rpm_package('/tmp/not-rabbitmq-server-3.6.1-1.noarch.rpm')
it 'should install the logrotate package' do
expect(chef_run).to install_package('logrotate')
end

it 'includes the `yum-epel` recipe' do
expect(chef_run).to include_recipe('yum-epel')
it 'should install the socat package' do
expect(chef_run).to install_package('socat')
end

describe 'uses distro version' do
describe 'if centos is above 7' do
before do
node.set['rabbitmq']['use_distro_version'] = true
node.set['platform_version'] = '7'
end

it 'should install rabbitmq-server package' do
expect(chef_run).to install_package('rabbitmq-server')
it 'creates a rabbitmq-server rpm in the cache path' do
expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server-3.6.8-1.el7.noarch.rpm')
expect(chef_run).to_not create_remote_file_if_missing('/tmp/not-rabbitmq-server-3.6.8-1.el7.noarch.rpm')
end
end
end

describe 'fedora' do
let(:runner) { ChefSpec::ServerRunner.new(FEDORA_OPTS) }
let(:node) { runner.node }
let(:chef_run) do
node.set['rabbitmq']['version'] = '3.6.1'
runner.converge(described_recipe)
end

it 'creates a rabbitmq-server rpm in the cache path' do
expect(chef_run).to create_remote_file_if_missing('/tmp/rabbitmq-server-3.6.1-1.noarch.rpm')
expect(chef_run).to_not create_remote_file_if_missing('/tmp/not-rabbitmq-server-3.6.1-1.noarch.rpm')
it 'installs the rabbitmq-server rpm_package with the default action' do
expect(chef_run).to install_rpm_package('/tmp/rabbitmq-server-3.6.8-1.el7.noarch.rpm')
expect(chef_run).to_not install_rpm_package('/tmp/not-rabbitmq-server-3.6.8-1.el7.noarch.rpm')
end
end

it 'installs the rabbitmq-server rpm_package with the default action' do
expect(chef_run).to install_rpm_package('/tmp/rabbitmq-server-3.6.1-1.noarch.rpm')
expect(chef_run).to_not install_rpm_package('/tmp/not-rabbitmq-server-3.6.1-1.noarch.rpm')
it 'includes the `yum-epel` recipe' do
expect(chef_run).to include_recipe('yum-epel')
end

describe 'uses distro version' do
Expand Down
1 change: 1 addition & 0 deletions spec/mgmt_console_spec.rb
@@ -1,3 +1,4 @@
# frozen_string_literal: true
require 'spec_helper'

describe 'rabbitmq::mgmt_console' do
Expand Down

0 comments on commit 4b7c8d9

Please sign in to comment.