From 942a073b743102bef90e1c381e3fd6edac099d34 Mon Sep 17 00:00:00 2001 From: Demitri Swan Date: Fri, 12 Aug 2016 20:59:57 -0700 Subject: [PATCH 1/2] Fixing directory creation --- lib/vagrant_spec/command/init.rb | 3 +++ scripts/poor_mans_smoke_test.sh | 1 + spec/unit/vagrant_spec_test/command_spec/init_spec.rb | 10 ++++++++++ 3 files changed, 14 insertions(+) diff --git a/lib/vagrant_spec/command/init.rb b/lib/vagrant_spec/command/init.rb index bae11df..9eac8b2 100644 --- a/lib/vagrant_spec/command/init.rb +++ b/lib/vagrant_spec/command/init.rb @@ -1,5 +1,7 @@ # encoding: UTF-8 +require 'fileutils' + require 'vagrant_spec/ansible_inventory' require 'vagrant_spec/machine_data' require 'vagrant_spec/config' @@ -30,6 +32,7 @@ def initialize(argv, env) def execute return unless parse_opts + FileUtils.mkdir @directory unless Dir.exist? @directory unless @ansible_inventory == DEFAULTS['ansible_inventory'] VagrantSpec::AnsibleInventory.new(@env).generate end diff --git a/scripts/poor_mans_smoke_test.sh b/scripts/poor_mans_smoke_test.sh index a57d9a6..2463d2e 100755 --- a/scripts/poor_mans_smoke_test.sh +++ b/scripts/poor_mans_smoke_test.sh @@ -16,6 +16,7 @@ bundle exec vagrant spec test -h bundle exec vagrant spec no_command -h rm -f "serverspec/spec_helper.rb" rm -f ".vagrantspec_machine_data" +rm -f "vagrantspec_inventory" bundle exec vagrant up bundle exec vagrant spec init ansible-playbook site.yml -i vagrantspec_inventory diff --git a/spec/unit/vagrant_spec_test/command_spec/init_spec.rb b/spec/unit/vagrant_spec_test/command_spec/init_spec.rb index d589d55..dd9db8c 100644 --- a/spec/unit/vagrant_spec_test/command_spec/init_spec.rb +++ b/spec/unit/vagrant_spec_test/command_spec/init_spec.rb @@ -32,6 +32,8 @@ def execute_proc allow_any_instance_of(VagrantSpec::MachineData).to receive(:generate) allow(mock_ansible_inventory).to receive(:generate) allow(mock_machine_data).to receive(:generate) + allow(Dir).to receive(:exist?) { false } + allow(FileUtils).to receive(:mkdir) end end @@ -55,6 +57,14 @@ def execute_protection_proc end end + context 'when the @directory does not exist' do + it '#execute creates the @directory' do + execute_protection_proc.call + expect(FileUtils).to receive(:mkdir) + subject.execute + end + end + context 'and when @ansible_inventory eq empty hash,' do it '#execute creates an instance of VagrantSpec::SpecHelper' do execute_protection_proc.call From b816eb7c32be38ce5d86ce55afbc85cf3577288f Mon Sep 17 00:00:00 2001 From: Demitri Swan Date: Fri, 12 Aug 2016 21:01:41 -0700 Subject: [PATCH 2/2] Making the directory test more specific --- spec/unit/vagrant_spec_test/command_spec/init_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/vagrant_spec_test/command_spec/init_spec.rb b/spec/unit/vagrant_spec_test/command_spec/init_spec.rb index dd9db8c..b1d9fab 100644 --- a/spec/unit/vagrant_spec_test/command_spec/init_spec.rb +++ b/spec/unit/vagrant_spec_test/command_spec/init_spec.rb @@ -60,7 +60,7 @@ def execute_protection_proc context 'when the @directory does not exist' do it '#execute creates the @directory' do execute_protection_proc.call - expect(FileUtils).to receive(:mkdir) + expect(FileUtils).to receive(:mkdir).with(subject.directory) subject.execute end end