Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. Finished in 0 seconds (files took 0.1513 seconds to load)
  2. 1 example, 0 failures
  3. CheckDisk OK: # This comes from the plugin
  4.  
  5. require 'rubygems' if RUBY_VERSION < '1.9.0'
  6. require 'sensu-plugin/check/cli'
  7.  
  8. class CheckDisk < Sensu::Plugin::Check::CLI
  9. def initialize
  10. super
  11. @crit_fs = []
  12. end
  13.  
  14. def get_wmic
  15. `wmic volume where DriveType=3 list brief`
  16. end
  17.  
  18. def read_wmic
  19. get_wmic
  20. # do something, fill the class variables with system response
  21. end
  22.  
  23. def run
  24. severity = "ok"
  25. msg = ""
  26. read_wmic
  27. unless @crit_fs.empty?
  28. severity = "critical"
  29. end
  30. case severity
  31. when /ok/
  32. ok msg
  33. when /warning/
  34. warning msg
  35. when /critical/
  36. critical msg
  37. end
  38. end
  39. end
  40.  
  41. require_relative '../check-disk.rb'
  42. require 'rspec'
  43.  
  44. def loadFile
  45. #Load template of system output when ask 'wmic volume(...)
  46. end
  47.  
  48. def fillParametersInTemplate (template, parameters)
  49. #set mocked disk parameters in template
  50. end
  51.  
  52. def initializeMocks (options)
  53. mockedSysOutput = fillParametersInTemplate @loadedTemplate, options
  54. po = String.new(mockedSysOutput)
  55. allow(checker).to receive(:get_wmic).and_return(po) #mock system call here
  56. end
  57.  
  58. describe CheckDisk do
  59. let(:checker) { described_class.new }
  60. before(:each) do
  61. @loadedTemplate = loadFile
  62. def checker.critical(*_args)
  63. exit 2
  64. end
  65. end
  66.  
  67. context "When % of free disk space = 10 >" do
  68. options = {:diskName => 'C:\', :diskSize => 1000, :diskFreeSpace => 100}
  69. it 'Returns ok exit status ' do
  70. begin
  71. initializeMocks options
  72. checker.run
  73. rescue SystemExit => e
  74. exit_code = e.status
  75. end
  76. expect(exit_code).to eq 0
  77. end
  78. end
  79. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement