Joshua Peek
a14bbd7a85
Process CGI 'cookie' header into 'Set-Cookie' for all responses.
...
This mostly affects response.headers['cookie'] for test requests. Use response.cookies instead.
2008-12-19 16:49:06 -06:00
Joshua Peek
cbee72d216
Improve cookie test coverage
2008-12-19 16:35:23 -06:00
Joshua Peek
3da1b94d07
Use status response accessor instead of the 'Status' header
2008-12-19 15:05:51 -06:00
Joshua Peek
12e416a04b
Diverge Metal implementation from Rack::Cascade since we want the last app to return its headers and body if the status is a 404.
2008-12-19 11:07:25 -06:00
Pratik Naik
c3f53f412c
Merge docrails
2008-12-19 14:27:43 +00:00
Pratik Naik
89b7581404
Add repair_helper.rb file I forgot in previous commit 8a92cd
2008-12-19 13:52:21 +00:00
Murray Steele
8a92cdc863
Add a repair_helper to repair changes to the validations inside validations_test.rb [ #674 state:resolved]
...
Many of the tests in validations_test would add a new validation to
models. However, only Topic was being reset with a fairly aggressive
clearing of all validations. None of the other models being used however
were recieving the same treatment. Now we use repair_validations(Topic)
for the whole test case because most test cases use Topic and then the
block form of repair_validations(<other_models>) inside any tests that use
other models.
Signed-off-by: Pratik Naik <pratiknaik@gmail.com >
2008-12-19 13:37:50 +00:00
Pratik Naik
c044c079ab
Revert "Auto-load template handlers based on unmatched extensions [ #1540 state:resolved]"
...
This reverts commit e8c1915416 .
Reasons :
- ActionPack tests run very slow
- Gem.searcher hanging for long time when extension is nil
2008-12-19 13:05:45 +00:00
Jeremy Kemper
6ce4b43035
Cheaper metal cascade
2008-12-18 16:55:03 -08:00
Jeremy Kemper
03f6ecc6c6
Use LogTailer
2008-12-18 16:53:53 -08:00
Jeremy Kemper
248391a7e1
Merge branch 'master' of git@github.com:rails/rails
2008-12-18 14:49:02 -08:00
Jeremy Kemper
86abd6887d
Ensure rack.multithread is set back to original value. Accept external lock.
2008-12-18 14:48:53 -08:00
Jeremy Kemper
788ab8458a
No need to dup immutable options
2008-12-18 14:42:58 -08:00
Jeremy Kemper
c81cd321d1
Be sure to call super
2008-12-18 14:42:39 -08:00
Jeremy Kemper
a10e473b81
Rename Rails::Rack::Logger -> LogTailer. Speed up log mtime checks.
2008-12-18 14:42:06 -08:00
Jeremy Kemper
6703f909c7
Cheaper log tail time comparison
2008-12-18 14:17:43 -08:00
Matt Jones
a9422cc1db
Fix preloading of has_one :through associations on belongs_to [ #1507 state:resolved]
...
Signed-off-by: Frederick Cheung <frederick.cheung@gmail.com >
2008-12-18 19:19:36 +00:00
Manfred Stienstra
8326b95169
Free MySQL::Result objects after a call to execute [ #1416 state:resolved]
...
No freeing Result objects causes the MySQL driver to free result sets
at undefined times, this can lead to erratic performance in your
application.
Signed-off-by: Frederick Cheung <frederick.cheung@gmail.com >
2008-12-18 19:19:36 +00:00
Frederick Cheung
9c7fe7c672
Don't include table_name twice
2008-12-18 19:19:36 +00:00
Frederick Cheung
c9ab7098be
Ensure :include checks joins when determining if it can preload [ #528 state:resolved]
2008-12-18 19:19:36 +00:00
Emilio Tagua
9cf6b1b15e
Add missing model files so tests can run isolated [ #1506 state:resolved]
...
Signed-off-by: Frederick Cheung <frederick.cheung@gmail.com >
2008-12-18 19:19:36 +00:00
Frederick Cheung
707d0dd3e1
Fix preloading of belongs_to with null foreign key generating useless query [ #1027 state:resolved]
2008-12-18 19:19:35 +00:00
Frederick Cheung
428e77bf0f
Make exceptions raise from find_by_foo! have a more helpful message [ #1567 state:resolved]
2008-12-18 19:19:35 +00:00
Joshua Peek
a9fde9a2ab
Cleanup dispatch path
2008-12-18 13:14:09 -06:00
Joshua Peek
3b35366d5d
Use more generic test env flag
2008-12-18 12:57:37 -06:00
Joshua Peek
2e22c7fda0
Conditionally inject session middleware instead of using session management
2008-12-18 12:56:18 -06:00
Joshua Peek
2eb2ec9e63
Move gaint lock into middleware
2008-12-18 12:00:54 -06:00
Lourens Naude
3ff6b00ee3
Persistent session identifier support for CookieSessionStore and API compat. with the server side stores [ #1591 state:resolved]
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2008-12-18 11:33:53 -06:00
Brady Bouchard
33f76bb25a
Ensure error file is sent with a 'text/html' content type [ #1478 state:resolved]
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2008-12-17 10:23:59 -06:00
Joshua Peek
f23c2796ee
When checking for the wrong routing method, ensure the environment is passed to recognize optimize [ #1406 state:resolved]
2008-12-17 10:20:19 -06:00
Joshua Peek
175cb7a963
Fix metal tests
2008-12-17 10:10:24 -06:00
Joshua Peek
61a41154f7
Make generated Metal bits a pure rack endpoint application (not middleware)
...
Instead of calling super to pass the request on, return a 404.
The modified app looks like this:
# app/metal/poller.rb
class Poller
def self.call(env)
if env["PATH_INFO"] =~ /^\/poller/
[200, {"Content-Type" => "text/html"}, "Hello, World!"]
else
[404, {"Content-Type" => "text/html"}, "Not Found"]
end
end
end
But you aren't locked in to just Rails:
# app/metal/api.rb
require 'sinatra'
Sinatra::Application.default_options.merge!(:run => false, :env => :production)
Api = Sinatra.application unless defined? Api
get '/interesting/new/ideas' do
'Hello Sinatra!'
end
2008-12-17 09:53:56 -06:00
Jesse Newland
97a178bfa4
Decorate responses from Rack Middleware and Rails Metal for the purposes of integration testing. A test for the following Metal:
...
class Poller < Rails::Rack::Metal
def call(env)
if env["PATH_INFO"] =~ /^\/poller/
[200, {"Content-Type" => "text/plain"}, "Hello World!"]
else
super
end
end
end
might be tested like so:
class PollerTest < ActionController::IntegrationTest
test "poller returns hello world" do
get "/poller"
assert_response 200
assert_response :success
assert_response :ok
assert_equal "Hello World!", response.body
end
end
[#1588 state:committed]
Signed-off-by: David Heinemeier Hansson <david@loudthinking.com >
2008-12-17 15:59:47 +01:00
Joshua Peek
1bcfce0130
Remove set_cookie hack from rack response since we dont use cgi sessions anymore
2008-12-16 20:21:27 -06:00
Joshua Peek
246b582ddf
Remove CGI::Session memory leak patch
2008-12-16 19:56:09 -06:00
Joshua Peek
ec1bd98705
Session Fixation tests have been rolled into the session cookie tests
2008-12-16 16:28:39 -06:00
Joshua Peek
8c3a543664
Introduce Rails Metal
...
# app/metal/poller.rb
class Poller < Rails::Rack::Metal
def call(env)
if env["PATH_INFO"] =~ /^\/poller/
[200, {"Content-Type" => "application/json"}, Message.recent.to_json]
else
super
end
end
end
* There is a generator to help you get started
`script/generate metal poller`
* Also, metal bits can be ran standalone with rackup
`rackup app/metal/poller.rb`
2008-12-16 13:15:06 -06:00
Daniel Luz
c4023cbe20
Update documentation for default_scope
...
Signed-off-by: David Heinemeier Hansson <david@loudthinking.com >
2008-12-16 14:34:02 +01:00
Xavier Noria
46c7dd2348
normalize author names in changelogs [ #1495 state:committed]
...
Signed-off-by: David Heinemeier Hansson <david@loudthinking.com >
2008-12-16 14:33:32 +01:00
Hongli Lai (Phusion
9e2b4a10f7
Do not output an ETag header if response body is blank or when sending files with send_file(... :xsendfile => true) [ #1578 state:committed]
...
Signed-off-by: David Heinemeier Hansson <david@loudthinking.com >
2008-12-16 12:30:28 +01:00
Joshua Peek
7c09050999
Lazy load flash access
2008-12-16 01:00:48 -06:00
Joshua Peek
9a733f6c64
Don't write nil values to default session options hash
2008-12-16 00:04:04 -06:00
Joshua Peek
95c839bd2a
Session objects are always a hash, so we need to ensure a flash hash is always assigned to the session
2008-12-15 20:43:01 -06:00
Jeremy Kemper
89056885b0
Merge branch 'master' of git@github.com:rails/rails
2008-12-15 18:22:35 -08:00
Jeremy Kemper
19be3d35b3
Revert "Make constantize look into ancestors"
...
[#410 state:open]
This reverts commit 262fef7ed5 .
2008-12-15 18:20:18 -08:00
Joshua Peek
43ac42c46a
Clear empty nil values in session hash before saving
2008-12-15 19:25:31 -06:00
Joshua Peek
ed70830713
Switch to Rack based session stores.
2008-12-15 16:33:31 -06:00
Nathan Weizenbaum
e8c1915416
Auto-load template handlers based on unmatched extensions [ #1540 state:resolved]
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2008-12-15 14:49:38 -06:00
Hongli Lai (Phusion)
a392f34fb4
Require mocha >= 0.9.3, older versions don't work anymore [ #1579 state:resolved]
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2008-12-15 14:47:19 -06:00
Jeremy Kemper
0d48408dcc
Merge branch 'master' of git@github.com:rails/rails
2008-12-15 11:05:29 -08:00