ronin-rb / ronin

Ronin is a Free and Open Source Ruby Toolkit for Security Research and Development. Ronin also allows for the rapid development and distribution of code, exploits, payloads, etc, via 3rd-party git repositories.

Home Page:https://ronin-rb.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Increase test coverage

postmodern opened this issue · comments

We need more tests for the CLI commands.

  • Ronin::CLI::Commands::Asn
  • Ronin::CLI::Commands::BannerGrab
  • Ronin::CLI::Commands::BitFlip
  • Ronin::CLI::Commands::BitSquat (see the 2.1.0 branch)
  • Ronin::CLI::Commands::CertDump
  • Ronin::CLI::Commands::CertGen
  • Ronin::CLI::Commands::CertGrab
  • Ronin::CLI::Commands::CertDump
  • Ronin::CLI::Commands::Decode
  • Ronin::CLI::Commands::Decrypt
  • Ronin::CLI::Commands::Dns
  • Ronin::CLI::Commands::EmailAddr
  • Ronin::CLI::Commands::Encode
  • Ronin::CLI::Commands::Encrypt
  • Ronin::CLI::Commands::Entropy
  • Ronin::CLI::Commands::Escape
  • Ronin::CLI::Commands::Extract
  • Ronin::CLI::Commands::Grep
  • Ronin::CLI::Commands::Hexdump
  • Ronin::CLI::Commands::Highlight
  • Ronin::CLI::Commands::Hmac
  • Ronin::CLI::Commands::Homoglyph
  • Ronin::CLI::Commands::Host
  • Ronin::CLI::Commands::Http
  • Ronin::CLI::Commands::Iprange
  • Ronin::CLI::Commands::Ip (see the 2.1.0 branch)
  • Ronin::CLI::Commands::Irb
  • Ronin::CLI::Commands::Md5
  • Ronin::CLI::Commands::Netcat
  • Ronin::CLI::Commands::New::Project
  • Ronin::CLI::Commands::New::Script
  • Ronin::CLI::Commands::Proxy
  • Ronin::CLI::Commands::PublicSuffixList
  • Ronin::CLI::Commands::Quote
  • Ronin::CLI::Commands::Rot
  • Ronin::CLI::Commands::Sha1
  • Ronin::CLI::Commands::Sha256
  • Ronin::CLI::Commands::Sha512
  • Ronin::CLI::Commands::Strings
  • Ronin::CLI::Commands::Tips
  • Ronin::CLI::Commands::TldList
  • Ronin::CLI::Commands::Typo
  • Ronin::CLI::Commands::Typosquat
  • Ronin::CLI::Commands::Unescape
  • Ronin::CLI::Commands::Unhexdump
  • Ronin::CLI::Commands::Unquote
  • Ronin::CLI::Commands::Url
  • Ronin::CLI::Commands::Xor
  • Ronin::CLI::Commands::Rot

@postmodern am i on the right track with ASN here? this really just feels like integration tests against Ronin::Support::Network::ASN at the moment. I think tests for #run, #print_asn_record, #print_asn_records will end up being more like proper unit tests, though.

https://github.com/cmhobbs/ronin/blob/165-asn-tests/spec/cli/commands/asn_spec.rb

Please disregard the absolute garbage state of my repo. I failed an upstream merge and I need to work that out but I pushed forward with testing anyhow.

@cmhobbs I see what you mean. I definitely think the tests for methods which actually query and print the ASN list file should use stubbing to return a custom truncated list file to speed up the tests. Submit a PR when your ready and we can go through the review process.