core: Fix tests to be rspec 3.0 compatible [GH-111]

This commit is contained in:
Fabio Rehm 2014-03-11 19:50:28 -03:00
parent 10599a5ba7
commit aef40d5b42
8 changed files with 24 additions and 39 deletions

View file

@ -10,22 +10,10 @@ require 'bundler/setup'
require 'i18n' require 'i18n'
require 'rspec-spies' require 'vagrant-lxc/plugin'
Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each { |f| require f } Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each { |f| require f }
# If we should verify constant names, eager loads
if ENV['VERIFY_CONSTANT_NAMES']
require 'vagrant-lxc/plugin'
require 'vagrant-lxc/provider'
require 'vagrant-lxc/config'
end
require 'rspec/fire'
RSpec::Fire.configure do |config|
config.verify_constant_names = ENV['VERIFY_CONSTANT_NAMES'] == '1'
end
RSpec.configure do |config| RSpec.configure do |config|
config.treat_symbols_as_metadata_keys_with_true_values = true config.treat_symbols_as_metadata_keys_with_true_values = true
config.run_all_when_everything_filtered = true config.run_all_when_everything_filtered = true

View file

@ -1,13 +1,15 @@
require 'unit_helper' require 'unit_helper'
require 'vagrant-lxc/plugin'
require 'vagrant-lxc/provider'
require 'vagrant-lxc/action/compress_rootfs' require 'vagrant-lxc/action/compress_rootfs'
describe Vagrant::LXC::Action::CompressRootFS do describe Vagrant::LXC::Action::CompressRootFS do
let(:app) { double(:app, call: true) } let(:app) { double(:app, call: true) }
let(:env) { {machine: machine, ui: double(info: true)} } let(:env) { {machine: machine, ui: double(info: true)} }
let(:machine) { instance_double('Vagrant::Machine', provider: provider) } let(:machine) { double(Vagrant::Machine, provider: provider) }
let(:provider) { instance_double('Vagrant::LXC::Provider', driver: driver) } let(:provider) { double(Vagrant::LXC::Provider, driver: driver) }
let(:driver) { instance_double('Vagrant::LXC::Driver', compress_rootfs: compressed_rootfs_path) } let(:driver) { double(Vagrant::LXC::Driver, compress_rootfs: compressed_rootfs_path) }
let(:compressed_rootfs_path) { '/path/to/rootfs.tar.gz' } let(:compressed_rootfs_path) { '/path/to/rootfs.tar.gz' }
subject { described_class.new(app, env) } subject { described_class.new(app, env) }

View file

@ -1,7 +1,7 @@
require 'unit_helper' require 'unit_helper'
require 'tmpdir' require 'tmpdir'
require 'vagrant-lxc/errors' require 'vagrant-lxc/provider'
require 'vagrant-lxc/action/forward_ports' require 'vagrant-lxc/action/forward_ports'
describe Vagrant::LXC::Action::ForwardPorts do describe Vagrant::LXC::Action::ForwardPorts do
@ -9,7 +9,7 @@ describe Vagrant::LXC::Action::ForwardPorts do
let(:env) { {machine: machine, ui: double(info: true)} } let(:env) { {machine: machine, ui: double(info: true)} }
let(:machine) { double(:machine) } let(:machine) { double(:machine) }
let!(:data_dir) { Pathname.new(Dir.mktmpdir) } let!(:data_dir) { Pathname.new(Dir.mktmpdir) }
let(:provider) { instance_double('Vagrant::LXC::Provider', ssh_info: {host: container_ip}) } let(:provider) { double(Vagrant::LXC::Provider, ssh_info: {host: container_ip}) }
let(:host_ip) { '127.0.0.1' } let(:host_ip) { '127.0.0.1' }
let(:host_port) { 8080 } let(:host_port) { 8080 }
let(:guest_port) { 80 } let(:guest_port) { 80 }

View file

@ -102,15 +102,11 @@ describe Vagrant::LXC::Action::HandleBoxMetadata do
it 'validates box versions' do it 'validates box versions' do
%w( 2 3 1.0.0 ).each do |v| %w( 2 3 1.0.0 ).each do |v|
metadata['version'] = v metadata['version'] = v
expect { expect { subject.call(env) }.to_not raise_error
subject.call(env)
}.to_not raise_error(Vagrant::LXC::Errors::IncompatibleBox)
end end
metadata['version'] = '1' metadata['version'] = '1'
expect { expect { subject.call(env) }.to raise_error
subject.call(env)
}.to raise_error(Vagrant::LXC::Errors::IncompatibleBox)
end end
it 'raises an error if the rootfs tarball cant be found' do it 'raises an error if the rootfs tarball cant be found' do

View file

@ -5,9 +5,9 @@ require 'vagrant-lxc/action/setup_package_files'
describe Vagrant::LXC::Action::SetupPackageFiles do describe Vagrant::LXC::Action::SetupPackageFiles do
let(:app) { double(:app, call: true) } let(:app) { double(:app, call: true) }
let(:env) { {machine: machine, tmp_path: tmp_path, ui: double(info: true), 'package.rootfs' => rootfs_path} } let(:env) { {machine: machine, tmp_path: tmp_path, ui: double(info: true), 'package.rootfs' => rootfs_path} }
let(:machine) { instance_double('Vagrant::Machine', box: box) } let(:machine) { double(Vagrant::Machine, box: box) }
let!(:tmp_path) { Pathname.new(Dir.mktmpdir) } let!(:tmp_path) { Pathname.new(Dir.mktmpdir) }
let(:box) { instance_double('Vagrant::Box', directory: tmp_path.join('box')) } let(:box) { double(Vagrant::Box, directory: tmp_path.join('box')) }
let(:rootfs_path) { tmp_path.join('rootfs-amd64.tar.gz') } let(:rootfs_path) { tmp_path.join('rootfs-amd64.tar.gz') }
subject { described_class.new(app, env) } subject { described_class.new(app, env) }

View file

@ -1,9 +1,10 @@
require 'unit_helper' require 'unit_helper'
require 'vagrant-lxc/sudo_wrapper'
require 'vagrant-lxc/driver/cli' require 'vagrant-lxc/driver/cli'
describe Vagrant::LXC::Driver::CLI do describe Vagrant::LXC::Driver::CLI do
let(:sudo_wrapper) { instance_double('Vagrant::LXC::SudoWrapper', run: true) } let(:sudo_wrapper) { double(Vagrant::LXC::SudoWrapper, run: true) }
subject { described_class.new(sudo_wrapper) } subject { described_class.new(sudo_wrapper) }
@ -197,6 +198,6 @@ describe Vagrant::LXC::Driver::CLI do
}.to raise_error(described_class::TransitionBlockNotProvided) }.to raise_error(described_class::TransitionBlockNotProvided)
end end
pending 'waits for the expected container state' skip 'waits for the expected container state'
end end
end end

View file

@ -1,15 +1,15 @@
require 'unit_helper' require 'unit_helper'
require 'vagrant'
require 'vagrant-lxc/driver' require 'vagrant-lxc/driver'
require 'vagrant-lxc/driver/cli' require 'vagrant-lxc/driver/cli'
require 'vagrant-lxc/sudo_wrapper'
describe Vagrant::LXC::Driver do describe Vagrant::LXC::Driver do
describe 'container name validation' do describe 'container name validation' do
let(:unknown_container) { described_class.new('unknown', nil, cli) } let(:unknown_container) { described_class.new('unknown', nil, cli) }
let(:valid_container) { described_class.new('valid', nil, cli) } let(:valid_container) { described_class.new('valid', nil, cli) }
let(:new_container) { described_class.new(nil, nil) } let(:new_container) { described_class.new(nil, nil) }
let(:cli) { instance_double('Vagrant::LXC::Driver::CLI', list: ['valid']) } let(:cli) { double(Vagrant::LXC::Driver::CLI, list: ['valid']) }
it 'raises a ContainerNotFound error if an unknown container name gets provided' do it 'raises a ContainerNotFound error if an unknown container name gets provided' do
expect { expect {
@ -37,7 +37,7 @@ describe Vagrant::LXC::Driver do
let(:template_opts) { {'--some' => 'random-option'} } let(:template_opts) { {'--some' => 'random-option'} }
let(:config_file) { '/path/to/lxc-config-from-box' } let(:config_file) { '/path/to/lxc-config-from-box' }
let(:rootfs_tarball) { '/path/to/cache/rootfs.tar.gz' } let(:rootfs_tarball) { '/path/to/cache/rootfs.tar.gz' }
let(:cli) { instance_double('Vagrant::LXC::Driver::CLI', :create => true, :name= => true) } let(:cli) { double(Vagrant::LXC::Driver::CLI, :create => true, :name= => true) }
subject { described_class.new(nil, nil, cli) } subject { described_class.new(nil, nil, cli) }
@ -60,7 +60,7 @@ describe Vagrant::LXC::Driver do
end end
describe 'destruction' do describe 'destruction' do
let(:cli) { instance_double('Vagrant::LXC::Driver::CLI', destroy: true) } let(:cli) { double(Vagrant::LXC::Driver::CLI, destroy: true) }
subject { described_class.new('name', nil, cli) } subject { described_class.new('name', nil, cli) }
@ -74,8 +74,8 @@ describe Vagrant::LXC::Driver do
describe 'start' do describe 'start' do
let(:customizations) { [['a', '1'], ['b', '2']] } let(:customizations) { [['a', '1'], ['b', '2']] }
let(:internal_customization) { ['internal', 'customization'] } let(:internal_customization) { ['internal', 'customization'] }
let(:cli) { instance_double('Vagrant::LXC::Driver::CLI', start: true) } let(:cli) { double(Vagrant::LXC::Driver::CLI, start: true) }
let(:sudo) { instance_double('Vagrant::LXC::SudoWrapper', su_c: true) } let(:sudo) { double(Vagrant::LXC::SudoWrapper, su_c: true) }
subject { described_class.new('name', sudo, cli) } subject { described_class.new('name', sudo, cli) }
@ -94,7 +94,7 @@ describe Vagrant::LXC::Driver do
end end
describe 'halt' do describe 'halt' do
let(:cli) { instance_double('Vagrant::LXC::Driver::CLI', shutdown: true) } let(:cli) { double(Vagrant::LXC::Driver::CLI, shutdown: true) }
subject { described_class.new('name', nil, cli) } subject { described_class.new('name', nil, cli) }
@ -129,7 +129,7 @@ describe Vagrant::LXC::Driver do
describe 'state' do describe 'state' do
let(:cli_state) { :something } let(:cli_state) { :something }
let(:cli) { instance_double('Vagrant::LXC::Driver::CLI', state: cli_state) } let(:cli) { double(Vagrant::LXC::Driver::CLI, state: cli_state) }
subject { described_class.new('name', nil, cli) } subject { described_class.new('name', nil, cli) }
@ -143,7 +143,7 @@ describe Vagrant::LXC::Driver do
let(:folders) { [shared_folder] } let(:folders) { [shared_folder] }
let(:rootfs_path) { Pathname('/path/to/rootfs') } let(:rootfs_path) { Pathname('/path/to/rootfs') }
let(:expected_guest_path) { "#{rootfs_path}/vagrant" } let(:expected_guest_path) { "#{rootfs_path}/vagrant" }
let(:sudo_wrapper) { instance_double('Vagrant::LXC::SudoWrapper', run: true) } let(:sudo_wrapper) { double(Vagrant::LXC::SudoWrapper, run: true) }
subject { described_class.new('name', sudo_wrapper) } subject { described_class.new('name', sudo_wrapper) }

View file

@ -7,8 +7,6 @@ if defined? SimpleCov
end end
RSpec.configure do |config| RSpec.configure do |config|
config.include RSpec::Fire
config.include UnitExampleGroup, :type => :unit, :example_group => { config.include UnitExampleGroup, :type => :unit, :example_group => {
:file_path => /\bspec\/unit\// :file_path => /\bspec\/unit\//
} }