Namespace
Methods
C
P
S
T
Instance Public methods
content_length()
# File actionpack/test/controller/webservice_test.rb, line 105
def content_length; get_header('rack.input').length; end
params_parsers()
# File actionpack/test/controller/webservice_test.rb, line 101
def params_parsers
  { json: Proc.new { |data| raise Interrupt } }
end
setup()
# File actionpack/test/controller/webservice_test.rb, line 30
def setup
  @controller = TestController.new
  @integration_session = nil
end
test_check_parameters()
# File actionpack/test/controller/webservice_test.rb, line 35
def test_check_parameters
  with_test_route_set do
    get "/"
    assert_equal '', @controller.response.body
  end
end
test_dasherized_keys_as_json()
# File actionpack/test/controller/webservice_test.rb, line 89
def test_dasherized_keys_as_json
  with_test_route_set do
    post "/?full=1",
      params: '{"first-key":{"sub-key":"..."}}',
      headers: { 'CONTENT_TYPE' => 'application/json' }
    assert_equal 'action, controller, first-key(sub-key), full', @controller.response.body
    assert_equal "...", @controller.params['first-key']['sub-key']
  end
end
test_parsing_json_doesnot_rescue_exception()
# File actionpack/test/controller/webservice_test.rb, line 99
def test_parsing_json_doesnot_rescue_exception
  req = Class.new(ActionDispatch::Request) do
    def params_parsers
      { json: Proc.new { |data| raise Interrupt } }
    end

    def content_length; get_header('rack.input').length; end
  end.new({ 'rack.input' => StringIO.new('{"title":"JSON"}}'), 'CONTENT_TYPE' => 'application/json' })

  assert_raises(Interrupt) do
    req.request_parameters
  end
end
test_post_json()
# File actionpack/test/controller/webservice_test.rb, line 42
def test_post_json
  with_test_route_set do
    post "/",
      params: '{"entry":{"summary":"content..."}}',
      headers: { 'CONTENT_TYPE' => 'application/json' }

    assert_equal 'entry', @controller.response.body
    assert @controller.params.has_key?(:entry)
    assert_equal 'content...', @controller.params["entry"]['summary']
  end
end
test_put_json()
# File actionpack/test/controller/webservice_test.rb, line 54
def test_put_json
  with_test_route_set do
    put "/",
      params: '{"entry":{"summary":"content..."}}',
      headers: { 'CONTENT_TYPE' => 'application/json' }

    assert_equal 'entry', @controller.response.body
    assert @controller.params.has_key?(:entry)
    assert_equal 'content...', @controller.params["entry"]['summary']
  end
end
test_register_and_use_json_simple()
# File actionpack/test/controller/webservice_test.rb, line 66
def test_register_and_use_json_simple
  with_test_route_set do
    with_params_parsers Mime[:json] => Proc.new { |data| ActiveSupport::JSON.decode(data)['request'].with_indifferent_access } do
      post "/",
        params: '{"request":{"summary":"content...","title":"JSON"}}',
        headers: { 'CONTENT_TYPE' => 'application/json' }

      assert_equal 'summary, title', @controller.response.body
      assert @controller.params.has_key?(:summary)
      assert @controller.params.has_key?(:title)
      assert_equal 'content...', @controller.params["summary"]
      assert_equal 'JSON', @controller.params["title"]
    end
  end
end
test_use_json_with_empty_request()
# File actionpack/test/controller/webservice_test.rb, line 82
def test_use_json_with_empty_request
  with_test_route_set do
    assert_nothing_raised { post "/", headers: { 'CONTENT_TYPE' => 'application/json' } }
    assert_equal '', @controller.response.body
  end
end