opt_meterpreter_debug_logging_spec.rb 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # -*- coding:binary -*-
  2. require 'spec_helper'
  3. RSpec.describe Msf::OptMeterpreterDebugLogging do
  4. valid_values = [
  5. { value: 'rpath:C:/log.txt', normalized: 'rpath:C:/log.txt' },
  6. { value: 'rpath:/tmp/log.txt', normalized: 'rpath:/tmp/log.txt' },
  7. { value: 'rpath:./log.log', normalized: 'rpath:./log.log' },
  8. { value: ' rpath:./log.log ', normalized: ' rpath:./log.log ' },
  9. { value: '', normalized: '' },
  10. { value: ' ', normalized: ' ' }
  11. ]
  12. invalid_values = [
  13. { value: 'rpath', normalized: 'rpath' },
  14. { value: 'C:', normalized: 'C:' },
  15. { value: 'C', normalized: 'C' },
  16. { value: 'rpath:C', normalized: 'rpath:C' }
  17. ]
  18. it_behaves_like 'an option', valid_values, invalid_values, 'meterpreterdebuglogging'
  19. describe '.parse_logging_options' do
  20. [
  21. { value: nil, expected: {} },
  22. { value: '', expected: {} },
  23. { value: ' ', expected: {} },
  24. { value: 'rpath:./file', expected: { rpath: './file' } },
  25. { value: ' rpath:C:/file ', expected: { rpath: 'C:/file' } },
  26. ].each do |test|
  27. it "parses #{test[:value]} as #{test[:expected]}" do
  28. expect(described_class.parse_logging_options(test[:value])).to eq test[:expected]
  29. end
  30. end
  31. end
  32. end