Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Finished in 0 seconds (files took 0.1513 seconds to load)
- 1 example, 0 failures
- CheckDisk OK: # This comes from the plugin
- require 'rubygems' if RUBY_VERSION < '1.9.0'
- require 'sensu-plugin/check/cli'
- class CheckDisk < Sensu::Plugin::Check::CLI
- def initialize
- super
- @crit_fs = []
- end
- def get_wmic
- `wmic volume where DriveType=3 list brief`
- end
- def read_wmic
- get_wmic
- # do something, fill the class variables with system response
- end
- def run
- severity = "ok"
- msg = ""
- read_wmic
- unless @crit_fs.empty?
- severity = "critical"
- end
- case severity
- when /ok/
- ok msg
- when /warning/
- warning msg
- when /critical/
- critical msg
- end
- end
- end
- require_relative '../check-disk.rb'
- require 'rspec'
- def loadFile
- #Load template of system output when ask 'wmic volume(...)
- end
- def fillParametersInTemplate (template, parameters)
- #set mocked disk parameters in template
- end
- def initializeMocks (options)
- mockedSysOutput = fillParametersInTemplate @loadedTemplate, options
- po = String.new(mockedSysOutput)
- allow(checker).to receive(:get_wmic).and_return(po) #mock system call here
- end
- describe CheckDisk do
- let(:checker) { described_class.new }
- before(:each) do
- @loadedTemplate = loadFile
- def checker.critical(*_args)
- exit 2
- end
- end
- context "When % of free disk space = 10 >" do
- options = {:diskName => 'C:\', :diskSize => 1000, :diskFreeSpace => 100}
- it 'Returns ok exit status ' do
- begin
- initializeMocks options
- checker.run
- rescue SystemExit => e
- exit_code = e.status
- end
- expect(exit_code).to eq 0
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement