summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortyler-ball <tyleraball@gmail.com>2014-12-16 10:15:24 -0800
committertyler-ball <tyleraball@gmail.com>2014-12-16 10:15:24 -0800
commit36a21f1aeec61524afd258d1056e1794a0bcf9a0 (patch)
tree93fa476f2137ccd44d9127a35136d2d0a7508f4d
parentbdf195a696c2f62e56fb2281913fed950fa18a7b (diff)
downloadchef-36a21f1aeec61524afd258d1056e1794a0bcf9a0.tar.gz
Unit and functional tests for spec_formattertball/spec_formatter
-rw-r--r--spec/functional/audit/rspec_formatter_spec.rb53
-rw-r--r--spec/unit/audit/rspec_formatter_spec.rb29
2 files changed, 82 insertions, 0 deletions
diff --git a/spec/functional/audit/rspec_formatter_spec.rb b/spec/functional/audit/rspec_formatter_spec.rb
new file mode 100644
index 0000000000..43d3c2f6dd
--- /dev/null
+++ b/spec/functional/audit/rspec_formatter_spec.rb
@@ -0,0 +1,53 @@
+#
+# Author:: Tyler Ball (<tball@chef.io>)
+# Author:: Claire McQuin (<claire@getchef.com>)
+#
+# Copyright:: Copyright (c) 2014 Chef Software, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'spec_helper'
+require 'spec/support/audit_helper'
+require 'chef/audit/runner'
+require 'rspec/support/spec/in_sub_process'
+require 'chef/audit/rspec_formatter'
+
+describe Chef::Audit::RspecFormatter do
+ include RSpec::Support::InSubProcess
+
+ let(:events) { double("events").as_null_object }
+ let(:audits) { {} }
+ let(:run_context) { instance_double(Chef::RunContext, :events => events, :audits => audits) }
+ let(:runner) { Chef::Audit::Runner.new(run_context) }
+
+ let(:output) { double("output") }
+ # aggressively define this so we can mock out the new call later
+ let!(:formatter) { Chef::Audit::RspecFormatter.new(output) }
+
+ around(:each) do |ex|
+ Sandboxing.sandboxed { ex.run }
+ end
+
+ it "should not close the output using our formatter" do
+ in_sub_process do
+ expect_any_instance_of(Chef::Audit::RspecFormatter).to receive(:new).and_return(formatter)
+ expect(formatter).to receive(:close).and_call_original
+ expect(output).to_not receive(:close)
+
+ runner.run
+ end
+ end
+
+end
diff --git a/spec/unit/audit/rspec_formatter_spec.rb b/spec/unit/audit/rspec_formatter_spec.rb
new file mode 100644
index 0000000000..471473e387
--- /dev/null
+++ b/spec/unit/audit/rspec_formatter_spec.rb
@@ -0,0 +1,29 @@
+#
+# Author:: Tyler Ball (<tball@chef.io>)
+# Author:: Claire McQuin (<claire@getchef.com>)
+#
+# Copyright:: Copyright (c) 2014 Chef Software, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'spec_helper'
+require 'chef/audit/rspec_formatter'
+
+describe Chef::Audit::RspecFormatter do
+ let(:formatter) { Chef::Audit::RspecFormatter.new(nil) }
+ it "should respond to close" do
+ expect(formatter).to respond_to(:close)
+ end
+end