spec/tartarus/rescue_spec.rb in tartarus-1.0.1 vs spec/tartarus/rescue_spec.rb in tartarus-1.0.3
- old
+ new
@@ -13,9 +13,39 @@
@controller.should respond_to(:rescue_action_with_tartarus)
@controller.should respond_to(:rescue_action_without_tartarus)
end
end
+ describe 'when normalizing request data for tartarus' do
+ before( :each ) do
+ @controller.stub( :request ).and_return( fake_controller_request )
+ end
+
+ it 'should have the session hash' do
+ params = @controller.normalize_request_data_for_tartarus
+ params[:session].should_not be_blank
+ params[:session].should be_an_instance_of(Hash)
+ params[:session].should == { :cookie => {}, :variables => { :id=>"123123" } }
+ end
+
+ it 'should have a enviroment hash that contains a hash of only the uppercase keys of the original controller request hash' do
+ params = @controller.normalize_request_data_for_tartarus
+ params[:enviroment].should_not be_blank
+ params[:enviroment].should == { "http_host" => "test_host", "loooooooong_key_two" => "key_two_value", "key_one" => "key_one_value", :server => `hostname -s`.chomp, :process => $$ }
+ end
+
+ it 'should have a http details hash' do
+ params = @controller.normalize_request_data_for_tartarus
+ params[:http_details].should_not be_blank
+ params[:http_details].should == { :parameters => "params", :format => "html", :method => "POST", :url => "http://test_host/my/uri" }
+ end
+
+ it "should return a hash of request data" do
+ params = @controller.normalize_request_data_for_tartarus
+ params.should be_an_instance_of(Hash)
+ end
+ end
+
describe "#rescue_action_with_tartarus" do
before(:each) do
@exception = StandardError.new
@controller.stub!(:rescue_action_without_tartarus)
@controller.stub!(:response_code_for_rescue).and_return(:internal_server_error)