From 747b552a2b7968172e46d553e4ca04ae5e929dee Mon Sep 17 00:00:00 2001 From: Justin Collins Date: Tue, 9 Oct 2012 12:35:55 -0700 Subject: [PATCH] Add tests for Rake task creation --- test/tests/test_rake_task.rb | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 test/tests/test_rake_task.rb diff --git a/test/tests/test_rake_task.rb b/test/tests/test_rake_task.rb new file mode 100644 index 00000000..94a75e92 --- /dev/null +++ b/test/tests/test_rake_task.rb @@ -0,0 +1,62 @@ +require 'fileutils' +require 'tmpdir' + +class RakeTaskTests < Test::Unit::TestCase + def setup + # Brakeman is noisy on errors + @old_stderr = $stderr.dup + $stderr.reopen("/dev/null", "w") + end + + def cleanup + $stderr = old_stderr + end + + def in_temp_app + Dir.mktmpdir do |dir| + FileUtils.cp_r "#{TEST_PATH}/apps/rails3.2/.", dir + + @rake_task = "#{dir}/lib/tasks/brakeman.rake" + @rakefile = "#{dir}/Rakefile" + + current_dir = FileUtils.pwd + FileUtils.cd dir + + yield dir + + FileUtils.cd current_dir + end + end + + def test_create_rake_task + in_temp_app do + assert_nothing_raised SystemExit do + Brakeman.install_rake_task + end + + assert File.exist? @rake_task + end + end + + def test_rake_task_exists + in_temp_app do + assert_nothing_raised SystemExit do + Brakeman.install_rake_task + end + + assert_raise SystemExit do + Brakeman.install_rake_task + end + end + end + + def test_rake_no_Rakefile + in_temp_app do + File.delete @rakefile + + assert_raise SystemExit do + Brakeman.install_rake_task + end + end + end +end -- GitLab