Skip to content

Commit

Permalink
Inline Brotli samples in tests (#2935)
Browse files Browse the repository at this point in the history
Inline the compressed Brotli samples in tests to make them independent
of Brotli implementation.  This makes it possible to run the test suite
both against Brotli and brotlicffi.

Fixes #2906
  • Loading branch information
mgorny committed Nov 10, 2023
1 parent fbe35ad commit f653b2f
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions tests/test_decoders.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import typing
import zlib

import brotli
import chardet
import pytest

Expand Down Expand Up @@ -61,7 +60,7 @@ def test_gzip():

def test_brotli():
body = b"test 123"
compressed_body = brotli.compress(body)
compressed_body = b"\x8b\x03\x80test 123\x03"

headers = [(b"Content-Encoding", b"br")]
response = httpx.Response(
Expand Down Expand Up @@ -94,7 +93,7 @@ def test_multi():

def test_multi_with_identity():
body = b"test 123"
compressed_body = brotli.compress(body)
compressed_body = b"\x8b\x03\x80test 123\x03"

headers = [(b"Content-Encoding", b"br, identity")]
response = httpx.Response(
Expand Down Expand Up @@ -153,8 +152,7 @@ def test_decoders_empty_cases(header_value):
@pytest.mark.parametrize("header_value", (b"deflate", b"gzip", b"br"))
def test_decoding_errors(header_value):
headers = [(b"Content-Encoding", header_value)]
body = b"test 123"
compressed_body = brotli.compress(body)[3:]
compressed_body = b"invalid"
with pytest.raises(httpx.DecodingError):
request = httpx.Request("GET", "https://example.org")
httpx.Response(200, headers=headers, content=compressed_body, request=request)
Expand Down

0 comments on commit f653b2f

Please sign in to comment.