require 'minitest/spec' describe_recipe 'dependencies::default' do include MiniTest::Chef::Resources include MiniTest::Chef::Assertions it 'should upgrade all OS dependencies to the required version' do packages = {} case node[:platform] when 'debian','ubuntu' packages = node[:dependencies][:debs] when 'centos','redhat','fedora','amazon' #packages = node[:dependencies][:rpms] - not implemented on the application packages = node[:dependencies][:debs] end packages.each do |pkg, version| unless version.nil? package(pkg).must_be_installed.with(:version, version) else package(pkg).must_be_installed end end end it 'should upgrade all gem files to the required version' do node[:dependencies][:gems].each do |gem_name, version| assert system("#{node[:dependencies][:gem_binary]} list | grep '#{gem_name}' | \ grep '#{version}'"), "#{gem_name} (#{version}) was not installed." end end end