コード例 #1
0
def test_range_wrapper():
    response = BaseResponse(b'Hello World')
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert next(range_wrapper) == b'Worl'

    response = BaseResponse(b'Hello World')
    range_wrapper = _RangeWrapper(response.response, 1, 0)
    with pytest.raises(StopIteration):
        next(range_wrapper)

    response = BaseResponse(b'Hello World')
    range_wrapper = _RangeWrapper(response.response, 6, 100)
    assert next(range_wrapper) == b'World'

    response = BaseResponse(
        (x for x in (b'He', b'll', b'o ', b'Wo', b'rl', b'd')))
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert not range_wrapper.seekable
    assert next(range_wrapper) == b'Wo'
    assert next(range_wrapper) == b'rl'

    response = BaseResponse((x for x in (b'He', b'll', b'o W', b'o', b'rld')))
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert next(range_wrapper) == b'W'
    assert next(range_wrapper) == b'o'
    assert next(range_wrapper) == b'rl'
    with pytest.raises(StopIteration):
        next(range_wrapper)

    response = BaseResponse((x for x in (b'Hello', b' World')))
    range_wrapper = _RangeWrapper(response.response, 1, 1)
    assert next(range_wrapper) == b'e'
    with pytest.raises(StopIteration):
        next(range_wrapper)

    resources = os.path.join(os.path.dirname(__file__), 'res')
    env = create_environ()
    with open(os.path.join(resources, 'test.txt'), 'rb') as f:
        response = BaseResponse(wrap_file(env, f))
        range_wrapper = _RangeWrapper(response.response, 1, 2)
        assert range_wrapper.seekable
        assert next(range_wrapper) == b'OU'
        with pytest.raises(StopIteration):
            next(range_wrapper)

    with open(os.path.join(resources, 'test.txt'), 'rb') as f:
        response = BaseResponse(wrap_file(env, f))
        range_wrapper = _RangeWrapper(response.response, 2)
        assert next(range_wrapper) == b'UND\n'
        with pytest.raises(StopIteration):
            next(range_wrapper)
コード例 #2
0
def test_range_wrapper():
    response = BaseResponse(b"Hello World")
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert next(range_wrapper) == b"Worl"

    response = BaseResponse(b"Hello World")
    range_wrapper = _RangeWrapper(response.response, 1, 0)
    with pytest.raises(StopIteration):
        next(range_wrapper)

    response = BaseResponse(b"Hello World")
    range_wrapper = _RangeWrapper(response.response, 6, 100)
    assert next(range_wrapper) == b"World"

    response = BaseResponse(x
                            for x in (b"He", b"ll", b"o ", b"Wo", b"rl", b"d"))
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert not range_wrapper.seekable
    assert next(range_wrapper) == b"Wo"
    assert next(range_wrapper) == b"rl"

    response = BaseResponse(x for x in (b"He", b"ll", b"o W", b"o", b"rld"))
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert next(range_wrapper) == b"W"
    assert next(range_wrapper) == b"o"
    assert next(range_wrapper) == b"rl"
    with pytest.raises(StopIteration):
        next(range_wrapper)

    response = BaseResponse(x for x in (b"Hello", b" World"))
    range_wrapper = _RangeWrapper(response.response, 1, 1)
    assert next(range_wrapper) == b"e"
    with pytest.raises(StopIteration):
        next(range_wrapper)

    resources = os.path.join(os.path.dirname(__file__), "res")
    env = create_environ()
    with open(os.path.join(resources, "test.txt"), "rb") as f:
        response = BaseResponse(wrap_file(env, f))
        range_wrapper = _RangeWrapper(response.response, 1, 2)
        assert range_wrapper.seekable
        assert next(range_wrapper) == b"OU"
        with pytest.raises(StopIteration):
            next(range_wrapper)

    with open(os.path.join(resources, "test.txt"), "rb") as f:
        response = BaseResponse(wrap_file(env, f))
        range_wrapper = _RangeWrapper(response.response, 2)
        assert next(range_wrapper) == b"UND\n"
        with pytest.raises(StopIteration):
            next(range_wrapper)
コード例 #3
0
ファイル: test_wsgi.py プロジェクト: geekKeen/werkzeug
def test_range_wrapper():
    response = BaseResponse(b'Hello World')
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert next(range_wrapper) == b'Worl'

    response = BaseResponse(b'Hello World')
    range_wrapper = _RangeWrapper(response.response, 1, 0)
    with pytest.raises(StopIteration):
        next(range_wrapper)

    response = BaseResponse(b'Hello World')
    range_wrapper = _RangeWrapper(response.response, 6, 100)
    assert next(range_wrapper) == b'World'

    response = BaseResponse((x for x in (b'He', b'll', b'o ', b'Wo', b'rl', b'd')))
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert not range_wrapper.seekable
    assert next(range_wrapper) == b'Wo'
    assert next(range_wrapper) == b'rl'

    response = BaseResponse((x for x in (b'He', b'll', b'o W', b'o', b'rld')))
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert next(range_wrapper) == b'W'
    assert next(range_wrapper) == b'o'
    assert next(range_wrapper) == b'rl'
    with pytest.raises(StopIteration):
        next(range_wrapper)

    response = BaseResponse((x for x in (b'Hello', b' World')))
    range_wrapper = _RangeWrapper(response.response, 1, 1)
    assert next(range_wrapper) == b'e'
    with pytest.raises(StopIteration):
        next(range_wrapper)

    resources = os.path.join(os.path.dirname(__file__), 'res')
    env = create_environ()
    with open(os.path.join(resources, 'test.txt'), 'rb') as f:
        response = BaseResponse(wrap_file(env, f))
        range_wrapper = _RangeWrapper(response.response, 1, 2)
        assert range_wrapper.seekable
        assert next(range_wrapper) == b'OU'
        with pytest.raises(StopIteration):
            next(range_wrapper)

    with open(os.path.join(resources, 'test.txt'), 'rb') as f:
        response = BaseResponse(wrap_file(env, f))
        range_wrapper = _RangeWrapper(response.response, 2)
        assert next(range_wrapper) == b'UND\n'
        with pytest.raises(StopIteration):
            next(range_wrapper)
コード例 #4
0
ファイル: test_wsgi.py プロジェクト: pallets/werkzeug
def test_range_wrapper():
    response = BaseResponse(b"Hello World")
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert next(range_wrapper) == b"Worl"

    response = BaseResponse(b"Hello World")
    range_wrapper = _RangeWrapper(response.response, 1, 0)
    with pytest.raises(StopIteration):
        next(range_wrapper)

    response = BaseResponse(b"Hello World")
    range_wrapper = _RangeWrapper(response.response, 6, 100)
    assert next(range_wrapper) == b"World"

    response = BaseResponse((x for x in (b"He", b"ll", b"o ", b"Wo", b"rl", b"d")))
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert not range_wrapper.seekable
    assert next(range_wrapper) == b"Wo"
    assert next(range_wrapper) == b"rl"

    response = BaseResponse((x for x in (b"He", b"ll", b"o W", b"o", b"rld")))
    range_wrapper = _RangeWrapper(response.response, 6, 4)
    assert next(range_wrapper) == b"W"
    assert next(range_wrapper) == b"o"
    assert next(range_wrapper) == b"rl"
    with pytest.raises(StopIteration):
        next(range_wrapper)

    response = BaseResponse((x for x in (b"Hello", b" World")))
    range_wrapper = _RangeWrapper(response.response, 1, 1)
    assert next(range_wrapper) == b"e"
    with pytest.raises(StopIteration):
        next(range_wrapper)

    resources = os.path.join(os.path.dirname(__file__), "res")
    env = create_environ()
    with open(os.path.join(resources, "test.txt"), "rb") as f:
        response = BaseResponse(wrap_file(env, f))
        range_wrapper = _RangeWrapper(response.response, 1, 2)
        assert range_wrapper.seekable
        assert next(range_wrapper) == b"OU"
        with pytest.raises(StopIteration):
            next(range_wrapper)

    with open(os.path.join(resources, "test.txt"), "rb") as f:
        response = BaseResponse(wrap_file(env, f))
        range_wrapper = _RangeWrapper(response.response, 2)
        assert next(range_wrapper) == b"UND\n"
        with pytest.raises(StopIteration):
            next(range_wrapper)
コード例 #5
0
 def _wrap_range_response(self, start: int, length: int) -> None:
     """Wrap existing Response in case of Range Request context."""
     if self.status_code == 206:
         self.response = _RangeWrapper(self.response, start,
                                       length)  # type: ignore