def test_process_alias(s): c1 = brotlicffi.Compressor() c2 = brotlicffi.Compressor() d1 = brotlicffi.Decompressor() d2 = brotlicffi.Decompressor() s1 = c1.compress(s) + c1.finish() s2 = c2.process(s) + c2.finish() assert ((d1.decompress(s1) + d1.finish()) == (d2.process(s2) + d2.finish()) == s)
def test_streaming_decompression_fails_properly_on_garbage(exception_cls): """ Garbage data properly fails decompression. """ o = brotlicffi.Decompressor() with pytest.raises(exception_cls): o.decompress(b'some random garbage') assert not o.is_finished()
def main(): data = sys.argv[1].encode("utf-8") print(f"Compressing data: {data}") compressor = brotli.Compressor(mode=brotli.MODE_TEXT) compressed = compressor.process(data) + compressor.finish() print(f"Compressed data: {compressed}") decompressor = brotli.Decompressor() decompressed = decompressor.process(compressed) + decompressor.finish() print(f"Decompressed data: {decompressed}")
def test_decompressobj(simple_compressed_file): with open(simple_compressed_file[0], 'rb') as f: uncompressed_data = f.read() with open(simple_compressed_file[1], 'rb') as f: compressed_data = f.read() o = brotlicffi.Decompressor() data = o.decompress(compressed_data) data += o.flush() data += o.finish() assert data == uncompressed_data
def __init__(self) -> None: if brotlicffi is None: # pragma: nocover raise ImportError( "Using 'BrotliDecoder', but the 'brotlicffi' library " "is not installed." "Make sure to install httpx using `pip install httpx[brotli]`." ) from None self.decompressor = brotlicffi.Decompressor() self.seen_data = False if hasattr(self.decompressor, "decompress"): self._decompress = self.decompressor.decompress else: self._decompress = self.decompressor.process # pragma: nocover
def test_drip_feed(simple_compressed_file): """ Sending in the data one byte at a time still works. """ with open(simple_compressed_file[0], 'rb') as f: uncompressed_data = f.read() with open(simple_compressed_file[1], 'rb') as f: compressed_data = f.read() outdata = [] o = brotlicffi.Decompressor() for i in range(0, len(compressed_data)): assert not o.is_finished() outdata.append(o.decompress(compressed_data[i:i + 1])) assert o.is_finished() outdata.append(o.flush()) assert o.is_finished() outdata.append(o.finish()) assert o.is_finished() assert b''.join(outdata) == uncompressed_data
def test_compressed_data_with_dictionaries(s, dictionary): d = brotlicffi.Decompressor(dictionary) compressed = brotlicffi.compress(s, dictionary=dictionary) uncompressed = d.decompress(compressed) assert uncompressed == s
def __init__(self) -> None: self._obj = brotli.Decompressor() if hasattr(self._obj, "decompress"): setattr(self, "decompress", self._obj.decompress) else: setattr(self, "decompress", self._obj.process)
def __init__(self): self._obj = brotli.Decompressor() if hasattr(self._obj, "decompress"): self.decompress = self._obj.decompress else: self.decompress = self._obj.process