summaryrefslogtreecommitdiff
path: root/spec/unit/audit/runner_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/audit/runner_spec.rb')
-rw-r--r--spec/unit/audit/runner_spec.rb33
1 files changed, 21 insertions, 12 deletions
diff --git a/spec/unit/audit/runner_spec.rb b/spec/unit/audit/runner_spec.rb
index ca6f51f9eb..67590fecf9 100644
--- a/spec/unit/audit/runner_spec.rb
+++ b/spec/unit/audit/runner_spec.rb
@@ -19,8 +19,12 @@
require 'spec_helper'
require 'spec/support/audit_helper'
require 'chef/audit/runner'
+require 'chef/audit/audit_event_proxy'
+require 'chef/audit/rspec_formatter'
+require 'rspec/support/spec/in_sub_process'
describe Chef::Audit::Runner do
+ include RSpec::Support::InSubProcess
let(:events) { double("events") }
let(:run_context) { instance_double(Chef::RunContext, :events => events) }
@@ -48,23 +52,27 @@ describe Chef::Audit::Runner do
end
it "sets all the config values" do
- runner.send(:setup)
+ # This runs the Serverspec includes - we don't want these hanging around in all subsequent tests so
+ # we run this in a forked process. Keeps Serverspec files from getting loaded into main process.
+ in_sub_process do
+ runner.send(:setup)
- expect(RSpec.configuration.output_stream).to eq(log_location)
- expect(RSpec.configuration.error_stream).to eq(log_location)
+ expect(RSpec.configuration.output_stream).to eq(log_location)
+ expect(RSpec.configuration.error_stream).to eq(log_location)
- expect(RSpec.configuration.formatters.size).to eq(2)
- expect(RSpec.configuration.formatters).to include(instance_of(Chef::Audit::AuditEventProxy))
- expect(RSpec.configuration.formatters).to include(instance_of(Chef::Audit::RspecFormatter))
- expect(Chef::Audit::AuditEventProxy.class_variable_get(:@@events)).to eq(run_context.events)
+ expect(RSpec.configuration.formatters.size).to eq(2)
+ expect(RSpec.configuration.formatters).to include(instance_of(Chef::Audit::AuditEventProxy))
+ expect(RSpec.configuration.formatters).to include(instance_of(Chef::Audit::RspecFormatter))
+ expect(Chef::Audit::AuditEventProxy.class_variable_get(:@@events)).to eq(run_context.events)
- expect(RSpec.configuration.expectation_frameworks).to eq([RSpec::Matchers])
- expect(RSpec::Matchers.configuration.syntax).to eq([:expect])
+ expect(RSpec.configuration.expectation_frameworks).to eq([RSpec::Matchers])
+ expect(RSpec::Matchers.configuration.syntax).to eq([:expect])
- expect(RSpec.configuration.color).to eq(color)
- expect(RSpec.configuration.expose_dsl_globally?).to eq(false)
+ expect(RSpec.configuration.color).to eq(color)
+ expect(RSpec.configuration.expose_dsl_globally?).to eq(false)
- expect(Specinfra.configuration.backend).to eq(:exec)
+ expect(Specinfra.configuration.backend).to eq(:exec)
+ end
end
end
@@ -88,6 +96,7 @@ describe Chef::Audit::Runner do
expect(RSpec.world.example_groups.size).to eq(1)
# For whatever reason, `kind_of` is not working
+ # expect(RSpec.world.example_groups).to include(kind_of(RSpec::Core::ExampleGroup)) => FAIL
g = RSpec.world.example_groups[0]
expect(g.ancestors).to include(RSpec::Core::ExampleGroup)
expect(g.description).to eq("group_name")