summaryrefslogtreecommitdiff
path: root/spec/unit/util
diff options
context:
space:
mode:
authorRob Reynolds <ferventcoder@gmail.com>2014-07-08 11:37:33 -0500
committerRob Reynolds <ferventcoder@gmail.com>2014-07-08 11:37:33 -0500
commit58799e00a8e1c19f2ebcf386d2feafdee5ae8caf (patch)
tree9f6ed81dbcc298d60281bf16b2b44dd2ee12536b /spec/unit/util
parent39b1912f81b918f8dbdac24584a81d78ecb9906e (diff)
parent537b0572ddb17c20042d296a6712edf1031e1f9b (diff)
downloadpuppet-58799e00a8e1c19f2ebcf386d2feafdee5ae8caf.tar.gz
Merge branch 'ticket/master/PUP2889-eventlog'
* ticket/master/PUP2889-eventlog: (PUP-2889) Remove dependency on win32-eventlog constants
Diffstat (limited to 'spec/unit/util')
-rwxr-xr-xspec/unit/util/log/destinations_spec.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/unit/util/log/destinations_spec.rb b/spec/unit/util/log/destinations_spec.rb
index a91236dba..82b647647 100755
--- a/spec/unit/util/log/destinations_spec.rb
+++ b/spec/unit/util/log/destinations_spec.rb
@@ -181,3 +181,41 @@ describe Puppet::Util::Log.desttypes[:console] do
end
end
end
+
+
+describe ":eventlog", :if => Puppet::Util::Platform.windows? do
+ let(:klass) { Puppet::Util::Log.desttypes[:eventlog] }
+
+ def expects_message_with_type(klass, level, eventlog_type, eventlog_id)
+ eventlog = stub('eventlog')
+ eventlog.expects(:report_event).with(has_entries(:source => "Puppet", :event_type => eventlog_type, :event_id => eventlog_id, :data => "a hitchhiker: don't panic"))
+ Win32::EventLog.stubs(:open).returns(eventlog)
+
+ msg = Puppet::Util::Log.new(:level => level, :message => "don't panic", :source => "a hitchhiker")
+ dest = klass.new
+ dest.handle(msg)
+ end
+
+ it "supports the eventlog feature" do
+ expect(Puppet.features.eventlog?).to be_true
+ end
+
+ it "logs to the Application event log" do
+ eventlog = stub('eventlog')
+ Win32::EventLog.expects(:open).with('Application').returns(stub('eventlog'))
+
+ klass.new
+ end
+
+ it "logs :debug level as an information type event" do
+ expects_message_with_type(klass, :debug, klass::EVENTLOG_INFORMATION_TYPE, 0x1)
+ end
+
+ it "logs :warning level as an warning type event" do
+ expects_message_with_type(klass, :warning, klass::EVENTLOG_WARNING_TYPE, 0x2)
+ end
+
+ it "logs :err level as an error type event" do
+ expects_message_with_type(klass, :err, klass::EVENTLOG_ERROR_TYPE, 0x3)
+ end
+end