mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
Does a bit of validating the command stuff.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@230 19e92222-5c0b-0410-8929-a290d50e31e9
This commit is contained in:
parent
dd78206543
commit
a79c544484
1 changed files with 101 additions and 0 deletions
101
test/test_command.rb
Normal file
101
test/test_command.rb
Normal file
|
@ -0,0 +1,101 @@
|
|||
# Mongrel Web Server - A Mostly Ruby Webserver and Library
|
||||
#
|
||||
# Copyright (C) 2005 Zed A. Shaw zedshaw AT zedshaw dot com
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
require 'test/unit'
|
||||
require 'mongrel'
|
||||
require File.dirname(__FILE__) + '/testhelp.rb'
|
||||
|
||||
|
||||
class TestCommand < GemPlugin::Plugin "/commands"
|
||||
include Mongrel::Command::Base
|
||||
|
||||
def configure
|
||||
options [
|
||||
["-e", "--environment ENV", "Rails environment to run as", :@environment, ENV['RAILS_ENV'] || "development"],
|
||||
['', '--user USER', "User to run as", :@user, nil],
|
||||
["-d", "--daemonize", "Whether to run in the background or not", :@daemon, false],
|
||||
["-x", "--test", "Used to let the test run failures", :@test, false],
|
||||
]
|
||||
end
|
||||
|
||||
def validate
|
||||
valid_dir? ".", "Can't validate current directory."
|
||||
valid_exists? "Rakefile", "Rakefile not there, test is invalid."
|
||||
if @test
|
||||
valid_exist? "BADFILE", "Yeah, badfile"
|
||||
valid_file? "BADFILE", "Not even a file"
|
||||
valid_dir? "BADDIR", "No dir here"
|
||||
valid? false, "Total failure"
|
||||
end
|
||||
|
||||
return @valid
|
||||
end
|
||||
|
||||
|
||||
def run
|
||||
$test_command_ran = true
|
||||
end
|
||||
end
|
||||
|
||||
class CommandTest < Test::Unit::TestCase
|
||||
|
||||
def setup
|
||||
$test_command_ran = false
|
||||
end
|
||||
|
||||
def teardown
|
||||
end
|
||||
|
||||
def run_cmd(args)
|
||||
Mongrel::Command::Registry.instance.run args
|
||||
end
|
||||
|
||||
def test_run_command
|
||||
redirect_test_io do
|
||||
run_cmd ["testcommand"]
|
||||
assert $test_command_ran, "command didn't run"
|
||||
end
|
||||
end
|
||||
|
||||
def test_command_error
|
||||
redirect_test_io do
|
||||
run_cmd ["crapcommand"]
|
||||
end
|
||||
end
|
||||
|
||||
def test_command_listing
|
||||
redirect_test_io do
|
||||
run_cmd ["help"]
|
||||
end
|
||||
end
|
||||
|
||||
def test_options
|
||||
redirect_test_io do
|
||||
run_cmd ["testcommand","-h"]
|
||||
run_cmd ["testcommand","--help"]
|
||||
run_cmd ["testcommand","-e","test","-d","--user"]
|
||||
end
|
||||
end
|
||||
|
||||
def test_version
|
||||
redirect_test_io do
|
||||
run_cmd ["testcommand", "--version"]
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in a new issue