homebrew-core/Formula/sqlmap.rb
Rui Chen 6fc7735c0d
sqlmap 1.3.8
Closes #42741.

Signed-off-by: Chongyu Zhu <i@lembacon.com>
2019-08-03 07:37:26 +08:00

34 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.3.8.tar.gz"
sha256 "3b3fb0f213139efb76e7a95ebcd6e3790c70a23fca8f3c753ef14f72ea7fdf01"
head "https://github.com/sqlmapproject/sqlmap.git"
bottle :unneeded
depends_on "python@2"
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