diff options
| author | Rob Reynolds <ferventcoder@gmail.com> | 2014-07-08 11:37:33 -0500 |
|---|---|---|
| committer | Rob Reynolds <ferventcoder@gmail.com> | 2014-07-08 11:37:33 -0500 |
| commit | 58799e00a8e1c19f2ebcf386d2feafdee5ae8caf (patch) | |
| tree | 9f6ed81dbcc298d60281bf16b2b44dd2ee12536b /spec/unit/util | |
| parent | 39b1912f81b918f8dbdac24584a81d78ecb9906e (diff) | |
| parent | 537b0572ddb17c20042d296a6712edf1031e1f9b (diff) | |
| download | puppet-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-x | spec/unit/util/log/destinations_spec.rb | 38 |
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 |
