Пример #1
0
def test_no_parse_json_content_with_bad_content_type():
    request = Request()
    request.body = b'{"test": "test value"}'
    request.method = "POST"
    request.headers = {"Content-Type": "text/plain"}
    response = json_app3(request)
    assert response.body == b'{"test": "test value"}'
Пример #2
0
def test_preserve_raw_body():
    request = Request()
    request.body = b'{"test": "test value"}'
    request.method = "POST"
    request.headers = {"Content-Type": "application/json"}
    response = json_app7(request)
    assert response.body == b'{"test": "test value"}'
Пример #3
0
def test_parse_json_content_with_charset():
    request = Request()
    request.body = b'{"test": "test value"}'
    request.method = "POST"
    request.headers = {"Content-Type": "application/json; charset=UTF-8"}
    response = json_app1(request)
    assert response.body == "test value"
Пример #4
0
def test_no_parse_json_content_with_bad_content_type():
    request = Request()
    request.body = b'{"test": "test value"}'
    request.method = "POST"
    request.headers = {"Content-Type": "text/plain"}
    response = json_app3(request)
    assert response.body == b'{"test": "test value"}'
Пример #5
0
def test_parse_json_content():
    request = Request()
    request.body = b'{"test": "test value"}'
    request.method = "POST"
    request.headers = {"Content-Type": "application/json"}
    response = json_app1(request)
    assert response.body == "test value"
def test_base_cookie_storage_with_custom_cookie_name_session():
    storage = DummyCookieStorage("session")
    request = Request()
    request.cookies = {"session-id": {"value": ["test"]}}
    session_key = storage.get_session_key(request)
    assert session_key.get() == None

    request.cookies = {"session": {"value": ["test"]}}
    session_key = storage.get_session_key(request)
    assert session_key.get() == ["test"]
Пример #7
0
def test_session_with_cookie():
    request = Request()
    response = session_app(request)
    assert response.body == 1

    session_id = response.cookies['session-id']['value']

    request = Request(headers={"Cookie": "session-id={}".format(session_id)})
    response = session_app(request)
    assert response.body == 2
def test_base_cookie_storage_persist_session_without_changing_the_session_key():
    storage = DummyCookieStorage()
    request = Request()
    request.cookies = {"session-id": {"value": ["test"]}}
    response = Response()
    response.cookies = {}
    storage.persist_session_key(request, response, _SessionKey(100))
    assert response.cookies['session-id']['value'] == 100

    request.cookies = response.cookies
    response.cookies = {}
    storage.persist_session_key(request, response, _SessionKey(100))
    assert response.cookies == {}
Пример #9
0
def test_parse_multipart_params():
    file_test_1 = ""
    file_test_2 = ""
    request = Request(
        body=b"""
----test
Content-Disposition: form-data; name=test1

test-value1
----test
Content-Disposition: form-data; name=test2; filename=test-filename

test-value2
----test--

""",
        headers={"Content-Type": "multipart/form-data; boundary=--test"})
    multipart_app(request)
    assert "test1" in request.multipart_params
    assert "test1" in request.params
    assert request.multipart_params["test1"]['filename'] == None
    assert request.multipart_params["test1"]['file'].read() == b"test-value1"
    assert "test2" in request.multipart_params
    assert "test2" in request.params
    assert request.multipart_params["test2"]['filename'] == "test-filename"
    assert request.multipart_params["test2"]['file'].read() == b"test-value2"
    assert "test3" not in request.multipart_params
    assert "test3" not in request.params
Пример #10
0
def test_default_header_with_headers():
    request = Request(headers={"in-test": "in-test-other-value"})
    response = session_app(request)
    assert "in-test" in request.headers
    assert request.headers['in-test'] == "in-test-other-value"
    assert "out-test" in response.headers
    assert response.headers['out-test'] == "out-test-other-value"
Пример #11
0
def test_parse_form_params():
    request = Request(
        body=b"test1=test1-value&test2=test2-value&test2=test2-value2&test3=",
        headers={"Content-Type": "application/x-www-form-urlencoded"})
    form_app(request)
    assert "test1" in request.form_params
    assert request.form_params["test1"] == "test1-value"
    assert "test2" in request.form_params
    assert request.form_params["test2"] == ["test2-value", "test2-value2"]
    assert "test3" not in request.form_params
Пример #12
0
def test_parse_get_params():
    request = Request(
        query_string=
        b"test1=test1-value&test2=test2-value&test2=test2-value2&test3=")
    get_app(request)
    assert "test1" in request.get_params
    assert request.get_params["test1"] == "test1-value"
    assert "test2" in request.get_params
    assert request.get_params["test2"] == ["test2-value", "test2-value2"]
    assert "test3" not in request.get_params
Пример #13
0
    def to_request(self, environ):
        werkzeug_request = WerkzeugRequest(environ)

        request = Request(server_port=environ.get('SERVER_PORT', None),
                          server_name=environ.get('SERVER_NAME', None),
                          remote_addr=werkzeug_request.remote_addr,
                          uri=werkzeug_request.path,
                          script_name=werkzeug_request.script_root,
                          query_string=werkzeug_request.query_string,
                          scheme=werkzeug_request.scheme,
                          method=werkzeug_request.method,
                          headers=dict(werkzeug_request.headers),
                          body=get_input_stream(environ).read())
        return request
Пример #14
0
    def to_request(self, environ):
        uri = wsgi_decoding_dance(environ.get('PATH_INFO', ''), 'utf-8')
        uri = '/' + uri.lstrip('/')

        request = Request(server_port=environ.get('SERVER_PORT', None),
                          server_name=environ.get('SERVER_NAME', None),
                          remote_addr=environ.get('REMOTE_ADDR', None),
                          uri=uri,
                          script_name=wsgi_decoding_dance(
                              environ.get('SCRIPT_NAME', ''), 'utf-8'),
                          query_string=environ.get('QUERY_STRING',
                                                   '').encode('latin1'),
                          scheme=environ.get('wsgi.url_scheme', None),
                          method=environ.get('REQUEST_METHOD', "").upper(),
                          headers=self._get_wsgi_headers(environ),
                          body=get_input_stream(environ).read())
        return request
Пример #15
0
def test_set_cookie_app():
    request = Request()
    response = cookie_app(request)
    assert 'Set-Cookie' in dict(response.headers)
    assert response.headers['Set-Cookie'] == "test=test; Path=/"
Пример #16
0
def test_no_return_json_content_with_bad_content_type():
    request = Request()
    response = json_app4(request)
    assert response.body == {"test": "test value"}
Пример #17
0
def test_session_without_cookie():
    request = Request()
    response = session_app(request)
    assert response.body == 1
    response = session_app(request)
    assert response.body == 1
Пример #18
0
def test_return_json_content():
    request = Request()
    response = json_app2(request)
    assert response.body == '{"test": "test value"}'
Пример #19
0
def test_no_convert_the_json_content_not_list_or_dict_content():
    request = Request()
    response = json_app5(request)
    assert response.body == "not-dict-or-list-value"
Пример #20
0
def test_session_parse_with_session_with_identity():
    backend = SessionBackend()
    request = Request()
    request.session = {"identity": "test"}
    assert backend.parse(request) == "test"
Пример #21
0
def test_session_parse_with_session_without_identity():
    backend = SessionBackend()
    request = Request()
    request.session = {}
    assert backend.parse(request) is None
Пример #22
0
def test_cookie_forging():
    request = Request(headers={"Cookie": "foo=bar"})
    response = cookie_app(request)
    assert response.body == {"foo": {"value": "bar"}}
Пример #23
0
def test_no_initial_cookie():
    request = Request()
    response = cookie_app(request)
    assert response.body == "No Cookie"