Skip to content

Commit

Permalink
Fix spec requires and the missing ones
Browse files Browse the repository at this point in the history
  • Loading branch information
manveru committed Jun 12, 2010
1 parent c0b511e commit 1fb12f0
Show file tree
Hide file tree
Showing 46 changed files with 270 additions and 232 deletions.
2 changes: 1 addition & 1 deletion spec/cgi/lighttpd.conf 100644 → 100755
@@ -1,6 +1,6 @@
server.modules = ("mod_fastcgi", "mod_cgi")
server.document-root = "."
server.errorlog = "lighttpd.errors"
server.errorlog = var.CWD + "/lighttpd.errors"
server.port = 9203

server.event-handler = "select"
Expand Down
Empty file modified spec/cgi/sample_rackup.ru 100644 → 100755
Empty file.
3 changes: 1 addition & 2 deletions spec/cgi/test.ru
@@ -1,6 +1,5 @@
#!/usr/bin/env ruby -I ../../lib ../../bin/rackup -E deployment -I ../../lib
#!../../bin/rackup
# -*- ruby -*-

require '../testrequest'

run TestRequest.new
3 changes: 2 additions & 1 deletion spec/spec_auth_basic.rb
@@ -1,4 +1,5 @@
require 'rack'
require 'rack/auth/basic'
require 'rack/mock'

describe Rack::Auth::Basic do
def realm
Expand Down
3 changes: 2 additions & 1 deletion spec/spec_auth_digest.rb
@@ -1,4 +1,5 @@
require 'rack'
require 'rack/auth/digest/md5'
require 'rack/mock'

describe Rack::Auth::Digest::MD5 do
def realm
Expand Down
32 changes: 18 additions & 14 deletions spec/spec_builder.rb
@@ -1,4 +1,21 @@
require 'rack'
require 'rack/builder'
require 'rack/mock'
require 'rack/showexceptions'
require 'rack/urlmap'

class NothingMiddleware
def initialize(app)
@app = app
end
def call(env)
@@env = env
response = @app.call(env)
response
end
def self.env
@@env
end
end

describe Rack::Builder do
it "supports mapping" do
Expand All @@ -15,19 +32,6 @@
end

it "doesn't dupe env even when mapping" do
class NothingMiddleware
def initialize(app)
@app = app
end
def call(env)
@@env = env
response = @app.call(env)
response
end
def self.env
@@env
end
end
app = Rack::Builder.new do
use NothingMiddleware
map '/' do |outer_env|
Expand Down
5 changes: 4 additions & 1 deletion spec/spec_cascade.rb
@@ -1,4 +1,7 @@
require 'rack'
require 'rack/cascade'
require 'rack/file'
require 'rack/urlmap'
require 'rack/mock'

describe Rack::Cascade do
docroot = File.expand_path(File.dirname(__FILE__))
Expand Down
67 changes: 35 additions & 32 deletions spec/spec_cgi.rb
@@ -1,52 +1,55 @@
require 'testrequest'
require File.expand_path('../testrequest', __FILE__)
require 'rack/handler/cgi'

describe Rack::Handler::CGI do
include TestRequest::Helpers
extend TestRequest::Helpers

before do
@host = '0.0.0.0'
@port = 9203
end
@host = '0.0.0.0'
@port = 9203

# Keep this first.
specify "startup" do
$pid = fork {
Dir.chdir(File.join(File.dirname(__FILE__), "..", "test", "cgi"))
$pid = fork {
ENV['RACK_ENV'] = 'deployment'
ENV['RUBYLIB'] = [
File.expand_path('../../lib', __FILE__),
ENV['RUBYLIB'],
].compact.join(':')

Dir.chdir(File.expand_path("../cgi", __FILE__)) do
exec "lighttpd -D -f lighttpd.conf"
}
end
end
}

specify "should respond" do
should "respond" do
sleep 1
lambda {
GET("/test")
}.should.not.raise
GET("/test")
response.should.not.be.nil
end

specify "should be a lighttpd" do
should "be a lighttpd" do
GET("/test")
status.should.be 200
status.should.equal 200
response["SERVER_SOFTWARE"].should =~ /lighttpd/
response["HTTP_VERSION"].should.equal "HTTP/1.1"
response["SERVER_PROTOCOL"].should.equal "HTTP/1.1"
response["SERVER_PORT"].should.equal @port.to_s
response["SERVER_NAME"].should =~ @host
response["SERVER_NAME"].should.equal @host
end

specify "should have rack headers" do
should "have rack headers" do
GET("/test")
response["rack.version"].should.equal [1,1]
response["rack.multithread"].should.be false
response["rack.multiprocess"].should.be true
response["rack.run_once"].should.be true
response["rack.version"].should.equal([1,1])
response["rack.multithread"].should.be.false
response["rack.multiprocess"].should.be.true
response["rack.run_once"].should.be.true
end

specify "should have CGI headers on GET" do
should "have CGI headers on GET" do
GET("/test")
response["REQUEST_METHOD"].should.equal "GET"
response["SCRIPT_NAME"].should.equal "/test"
response["REQUEST_PATH"].should.equal "/"
response["PATH_INFO"].should.equal ""
response["PATH_INFO"].should.be.nil
response["QUERY_STRING"].should.equal ""
response["test.postdata"].should.equal ""

Expand All @@ -58,9 +61,9 @@
response["QUERY_STRING"].should.equal "quux=1"
end

specify "should have CGI headers on POST" do
should "have CGI headers on POST" do
POST("/test", {"rack-form-data" => "23"}, {'X-test-header' => '42'})
status.should.equal 200
status.should == 200
response["REQUEST_METHOD"].should.equal "POST"
response["SCRIPT_NAME"].should.equal "/test"
response["REQUEST_PATH"].should.equal "/"
Expand All @@ -69,20 +72,20 @@
response["test.postdata"].should.equal "rack-form-data=23"
end

specify "should support HTTP auth" do
should "support HTTP auth" do
GET("/test", {:user => "ruth", :passwd => "secret"})
response["HTTP_AUTHORIZATION"].should.equal "Basic cnV0aDpzZWNyZXQ="
end

specify "should set status" do
should "set status" do
GET("/test?secret")
status.should.equal 403
status.should == 403
response["rack.url_scheme"].should.equal "http"
end

# Keep this last.
specify "shutdown" do
should "shutdown" do
Process.kill 15, $pid
Process.wait($pid).should.equal $pid
Process.wait($pid).should == $pid
end
end
3 changes: 2 additions & 1 deletion spec/spec_chunked.rb
@@ -1,4 +1,5 @@
require 'rack'
require 'rack/chunked'
require 'rack/mock'

describe Rack::Chunked do
before do
Expand Down
3 changes: 2 additions & 1 deletion spec/spec_commonlogger.rb
@@ -1,4 +1,5 @@
require 'rack'
require 'rack/commonlogger'
require 'rack/mock'

describe Rack::CommonLogger do
obj = 'foobar'
Expand Down
3 changes: 2 additions & 1 deletion spec/spec_conditionalget.rb
@@ -1,5 +1,6 @@
require 'time'
require 'rack'
require 'rack/conditionalget'
require 'rack/mock'

describe Rack::ConditionalGet do
should "set a 304 status and truncate body when If-Modified-Since hits" do
Expand Down
6 changes: 5 additions & 1 deletion spec/spec_config.rb
@@ -1,4 +1,8 @@
require 'rack'
require 'rack/builder'
require 'rack/config'
require 'rack/content_length'
require 'rack/lint'
require 'rack/mock'

describe Rack::Config do
should "accept a block that modifies the environment" do
Expand Down
2 changes: 1 addition & 1 deletion spec/spec_content_length.rb
@@ -1,4 +1,4 @@
require 'rack'
require 'rack/content_length'

describe Rack::ContentLength do
should "set Content-Length on String bodies if none is set" do
Expand Down
2 changes: 1 addition & 1 deletion spec/spec_content_type.rb
@@ -1,4 +1,4 @@
require 'rack'
require 'rack/content_type'

describe Rack::ContentType do
should "set Content-Type to default text/html if none is set" do
Expand Down
3 changes: 2 additions & 1 deletion spec/spec_deflater.rb
@@ -1,6 +1,7 @@
require 'stringio'
require 'time' # for Time#httpdate
require 'rack'
require 'rack/deflater'
require 'rack/mock'

describe Rack::Deflater do
def build_response(status, body, accept_encoding, headers = {})
Expand Down
3 changes: 2 additions & 1 deletion spec/spec_directory.rb
@@ -1,4 +1,5 @@
require 'rack'
require 'rack/directory'
require 'rack/mock'

describe Rack::Directory do
DOCROOT = File.expand_path(File.dirname(__FILE__)) unless defined? DOCROOT
Expand Down
2 changes: 1 addition & 1 deletion spec/spec_etag.rb
@@ -1,4 +1,4 @@
require 'rack'
require 'rack/etag'

describe Rack::ETag do
should "set ETag if none is set" do
Expand Down
61 changes: 32 additions & 29 deletions spec/spec_fastcgi.rb
@@ -1,52 +1,55 @@
require 'testrequest'
require File.expand_path('../testrequest', __FILE__)
require 'rack/handler/fastcgi'

describe Rack::Handler::FastCGI do
include TestRequest::Helpers
extend TestRequest::Helpers

setup do
@host = '0.0.0.0'
@port = 9203
end
@host = '0.0.0.0'
@port = 9203

# Keep this first.
specify "startup" do
$pid = fork {
Dir.chdir(File.join(File.dirname(__FILE__), "..", "test", "cgi"))
$pid = fork {
ENV['RACK_ENV'] = 'deployment'
ENV['RUBYLIB'] = [
File.expand_path('../../lib', __FILE__),
ENV['RUBYLIB'],
].compact.join(':')

Dir.chdir(File.expand_path("../cgi", __FILE__)) do
exec "lighttpd -D -f lighttpd.conf"
}
end
end
}

specify "should respond" do
should "respond" do
sleep 1
lambda {
GET("/test.fcgi")
}.should.not.raise
GET("/test")
response.should.not.be.nil
end

specify "should respond via rackup server" do
should "respond via rackup server" do
GET("/sample_rackup.ru")
status.should.be 200
status.should == 200
end

specify "should be a lighttpd" do
should "be a lighttpd" do
GET("/test.fcgi")
status.should.be 200
status.should == 200
response["SERVER_SOFTWARE"].should =~ /lighttpd/
response["HTTP_VERSION"].should.equal "HTTP/1.1"
response["SERVER_PROTOCOL"].should.equal "HTTP/1.1"
response["SERVER_PORT"].should.equal @port.to_s
response["SERVER_NAME"].should =~ @host
response["SERVER_NAME"].should.equal @host
end

specify "should have rack headers" do
should "have rack headers" do
GET("/test.fcgi")
response["rack.version"].should.equal [1,1]
response["rack.multithread"].should.be false
response["rack.multiprocess"].should.be true
response["rack.run_once"].should.be false
response["rack.multithread"].should.be.false
response["rack.multiprocess"].should.be.true
response["rack.run_once"].should.be.false
end

specify "should have CGI headers on GET" do
should "have CGI headers on GET" do
GET("/test.fcgi")
response["REQUEST_METHOD"].should.equal "GET"
response["SCRIPT_NAME"].should.equal "/test.fcgi"
Expand All @@ -63,7 +66,7 @@
response["QUERY_STRING"].should.equal "quux=1"
end

specify "should have CGI headers on POST" do
should "have CGI headers on POST" do
POST("/test.fcgi", {"rack-form-data" => "23"}, {'X-test-header' => '42'})
status.should.equal 200
response["REQUEST_METHOD"].should.equal "POST"
Expand All @@ -74,19 +77,19 @@
response["test.postdata"].should.equal "rack-form-data=23"
end

specify "should support HTTP auth" do
should "support HTTP auth" do
GET("/test.fcgi", {:user => "ruth", :passwd => "secret"})
response["HTTP_AUTHORIZATION"].should.equal "Basic cnV0aDpzZWNyZXQ="
end

specify "should set status" do
should "set status" do
GET("/test.fcgi?secret")
status.should.equal 403
response["rack.url_scheme"].should.equal "http"
end

# Keep this last.
specify "shutdown" do
should "shutdown" do
Process.kill 15, $pid
Process.wait($pid).should.equal $pid
end
Expand Down
3 changes: 2 additions & 1 deletion spec/spec_file.rb
@@ -1,4 +1,5 @@
require 'rack'
require 'rack/file'
require 'rack/mock'

describe Rack::File do
DOCROOT = File.expand_path(File.dirname(__FILE__)) unless defined? DOCROOT
Expand Down

0 comments on commit 1fb12f0

Please sign in to comment.