homebrew-core/Formula/sqlmap.rb

33 lines
1.1 KiB
Ruby

class Sqlmap < Formula
desc "Penetration testing for SQL injection and database servers"
homepage "http://sqlmap.org"
url "https://github.com/sqlmapproject/sqlmap/archive/1.1.6.tar.gz"
sha256 "372c53bf53b52e500d0c3a25913977d6aa8eb5f89bbc7c15cddad814998a7945"
head "https://github.com/sqlmapproject/sqlmap.git"
bottle :unneeded
def install
libexec.install Dir["*"]
bin.install_symlink libexec/"sqlmap.py"
bin.install_symlink bin/"sqlmap.py" => "sqlmap"
bin.install_symlink libexec/"sqlmapapi.py"
bin.install_symlink bin/"sqlmapapi.py" => "sqlmapapi"
end
test do
data = %w[Bob 14 Sue 12 Tim 13]
create = "create table students (name text, age integer);\n"
data.each_slice(2) do |n, a|
create << "insert into students (name, age) values ('#{n}', '#{a}');\n"
end
pipe_output("sqlite3 school.sqlite", create, 0)
select = "select name, age from students order by age asc;"
args = %W[--batch -d sqlite://school.sqlite --sql-query "#{select}"]
output = shell_output("#{bin}/sqlmap #{args.join(" ")}")
data.each_slice(2) { |n, a| assert_match "#{n}, #{a}", output }
end
end