X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Funit%2Fwindows_daemon_spec.rb;fp=spec%2Funit%2Fwindows_daemon_spec.rb;h=6f56a44ea360923c4522ac6ad015276eaa65c310;hb=b87d2f4e68281062df1913440ca5753ae63314a9;hp=0000000000000000000000000000000000000000;hpb=ab0ea530b8ac956091f17b104ab2311336cfc250;p=packages%2Fprecise%2Fmcollective.git diff --git a/spec/unit/windows_daemon_spec.rb b/spec/unit/windows_daemon_spec.rb new file mode 100755 index 0000000..6f56a44 --- /dev/null +++ b/spec/unit/windows_daemon_spec.rb @@ -0,0 +1,43 @@ +#!/usr/bin/env rspec + +require 'spec_helper' + +module MCollective + if Util.windows? + require 'mcollective/windows_daemon' + + describe WindowsDaemon do + describe "#daemonize_runner" do + it "should only run on the windows platform" do + Util.expects("windows?").returns(false) + expect { WindowsDaemon.daemonize_runner }.to raise_error("The Windows Daemonizer should only be used on the Windows Platform") + end + + it "should not support writing pid files" do + expect { WindowsDaemon.daemonize_runner(true) }.to raise_error("Writing pid files are not supported on the Windows Platform") + end + + it "should start the mainloop" do + WindowsDaemon.expects(:mainloop) + WindowsDaemon.daemonize_runner + end + end + + describe "#service_stop" do + it "should disconnect and exit" do + Log.expects(:info) + + connector = mock + connector.expects(:disconnect).once + + PluginManager.expects("[]").with("connector_plugin").returns(connector) + + d = WindowsDaemon.new + d.expects("exit!").once + + d.service_stop + end + end + end + end +end